读书频道 > 网站 > 网页设计 > 操作系统设计:Xinu方法
2.4 并发处理的概念和术语
13-11-09    奋斗的小年轻
收藏    我要投稿   

本文所属图书 > 操作系统设计:Xinu方法

本书对操作系统的内存管理、进程管理、进程协调和同步、进程间通信、实时时钟管理、设备无关的I O、设备驱动、网络协议、文件系统等进行了详细的介绍,并利用分层的设计范式,以一种有序、易于理解的方式来阐述这立即去当当网订购

传统程序是串行的(sequential),因为程序员可以想象计算机是逐条语句地执行这段代码。在任何时刻,机器只能执行一条语句。操作系统支持一种扩展的计算概念,称为并发处理(concurrent processing)。并发处理意味着在同一个时间可以进行多项计算。

许多与并发处理相关的问题随之而来。很容易想象:N个独立的程序正同时在N个处理器或N个核上执行,但要想象这组独立的计算正在一台处理单元少于N个的计算机上进行却并不容易。13即使计算机有一个核,并发计算是否可行?如果多项计算同时进行,系统又该如何防止一个程序与其他程序发生干扰?程序间如何协调以保证在给定时间内一个输入输出设备的控制权只为一个程序所拥有?

尽管多数CPU确实已经蕴含了一定程度的并行性,但最显而易见的并发形式——多个独立的应用程序同时执行,却仍是一个大幻觉。为创造出并发执行的错觉,操作系统使用了一种称为多道编程(multiprogramming)的技巧——操作系统在多个程序间切换可用的处理器,允许一个处理器用仅有的几毫秒执行一个程序,随后转而处理别的程序。从人的角度看,程序似乎是在并发地执行。多道编程构成了大多数操作系统的基础。唯一的例外是那些操作基础设备的系统,如简化的电视遥控器和安全至上的嵌入式系统,又如飞行器上的航空电子设备和医疗设备控制器,它们使用一个同步事件循环来确保苛刻的时间限制得到绝对的满足。

支持多道编程的系统可以分成两大类:分时,实时。

分时(timesharing) 分时系统给予所有计算以相同的优先级,并且允许计算在任何时间开始或终止。因为分时系统允许动态地创建一项计算,所以这些系统在面向人类用户的计算机上颇受欢迎。分时系统允许用户在使用浏览器浏览网页的同时,运行一个电子邮件应用程序,或者运行一个后台应用程序播放音乐。分时系统最主要的特征是:一项计算所获得的处理器时间与这个系统的负载呈反比例关系——如果有N项计算正在进行,那么每项计算大约会获得可用CPU周期的1/N。因此,随着越来越多计算的出现,每项计算的速率将会不可避免地降低。

实时(real-time) 因为实时系统的设计要求就是要满足(苛刻的)性能约束,所以不会同等地对待所有计算。相反,实时系统为每项计算分配一个优先级,并且需要非常小心谨慎地调度处理器以确保每项计算满足所要求的执行计划。实时系统最主要的特征是:它总是将CPU分配给最高优先级的任务,即便其他任务正在等待。比如,通过提高语音传输任务的优先级,手机中的实时系统可以确保会话不被中断,即使此时用户运行了天气查看程序或游戏程序。

多道编程系统的设计者使用了大量的术语来表示一项计算,包括进程(process)、任务(task)、作业(job)和控制线程(thread of control)。术语进程或作业经常意味着一项自包含的计算,与其他计算相互独立。一个进程通常占用内存中一块单独的区域,并且操作系统会阻止一个进程访问一块已经分配给另一个进程的内存。术语任务指的是一个静态声明进程,即程序员使用一种编程语言以类似函数声明的方式来声明一个进程。14术语线程指的是一类进程,它们与别的线程共享同一个地址空间。共享内存意味着一组线程内的成员可以高效地交换信息。早期的科技文献中常用术语进程来表示通常意义下的并发执行。UNIX操作系统普及了这样一种观念:每个进程都占用了一块独立的地址空间。Mach系统引入了一种二级并发编程方案,其中操作系统允许用户创建一个或多个进程,每个进程都运行于独立的内存区域中,并进一步允许用户在一个给定进程中创建多个控制线程。Linux遵循的是Mach模型。我们使用首字母大写的单词Process来表示Linux风格的进程。

由于Xinu是为嵌入式环境设计的,所以它允许进程共享同一个地址空间。确切地讲,Xinu的进程遵循线程模型。然而,因为术语进程已经广为接收,所以本书中不失一般性地将其看做一项并发计算。

2.5节将通过对几个应用实例的研究来帮助读者区分并发执行和串行执行。正如我们将看到的,这种差异在操作系统设计中扮演了核心角色——操作系统的每一部分都必须以支持并发执行为目标进行构建。

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站