Free考研资料 - 免费考研论坛

 找回密码
 注册
打印 上一主题 下一主题

汤子瀛《计算机操作系统》(第4版)笔记和课后习题(含考研真题)详解

[复制链接]
跳转到指定楼层
楼主
ooo 发表于 17-8-10 16:19:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
下载地址:http://free.100xuexi.com/Ebook/88793.html
目录                                                                                        封面
内容简介
目录
第1章 操作系统引论
 1.1 复习笔记
 1.2 课后习题详解
 1.3 考研真题与典型题详解
第2章 进程的描述与控制
 2.1 复习笔记
 2.2 课后习题详解
 2.3 考研真题与典型题详解
第3章 处理机调度与死锁
 3.1 复习笔记
 3.2 课后习题详解
 3.3 考研真题与典型题详解
第4章 存储器管理
 4.1 复习笔记
 4.2 课后习题详解
 4.3 考研真题与典型题详解
第5章 虚拟存储器
 5.1 复习笔记
 5.2 课后习题详解
 5.3 考研真题与典型题详解
第6章 输入输出系统
 6.1 复习笔记
 6.2 课后习题详解
 6.3 考研真题与典型题详解(略)
第7章 文件管理
 7.1 复习笔记
 7.2 课后习题详解
 7.3 考研真题与典型题详解
第8章 磁盘存储器的管理
 8.1 复习笔记
 8.2 课后习题详解
 8.3 考研真题与典型题详解(略)
第9章 操作系统接口
 9.1 复习笔记
 9.2 课后习题详解
 9.3 考研真题与典型题详解
第10章 多处理机操作系统
 10.1 复习笔记
 10.2 课后习题详解
 10.3 考研真题与典型题详解(略)
第11章 多媒体操作系统
 11.1 复习笔记
 11.2 课后习题详解
 11.3 考研真题与典型题详解(略)
第12章 保护和安全
 12.1 复习笔记
 12.2 课后习题详解
 12.3 考研真题与典型题详解(略)
                                                                                                                                                                                                    内容简介                                                                                            


  《国内外经典教材辅导系列?计算机类》是一套全面解析当前国内外各大院校计算机类权威教科书的辅导资料。我国各大院校一般都把国内外通用的权威教科书作为本科生和研究生学习专业课程的参考教材,这些教材甚至被很多考试(特别是硕士和博士入学考试)和培训项目作为指定参考书。这些国内外优秀教材的内容有一定的广度和深度,给许多读者在学习专业教材时带来了一定的困难。为了帮助读者更好地学习专业课,我们有针对性地编著了一套与国内外教材配套的复习资料,整理了各章的笔记,并对与本书相关的历年考研真题进行了详细的解答。
  汤子瀛主编的《计算机操作系统》(第4版)(西安电子科技大学出版社)被列为普通高等教育“十二五”国家级规划教材,是我国众多高校采用的计算机专业优秀教材,也被众多高校(包括科研机构)指定为计算机专业考研参考书目。作为该教材的学习辅导书,本书具有以下几个方面的特点:
  1.整理名校笔记,浓缩内容精华。在参考了国内名校名师讲授汤子瀛主编的《计算机操作系统》的课堂笔记基础上,本书每章的复习笔记部分对该章的重难点进行了整理,因此,本书的内容几乎浓缩了配套教材的知识精华。
  2.解析课后习题,提供详尽答案。本书以汤子瀛主编的《计算机操作系统》(第4版)为基本依据,参考了该教材的配套资料和其他计算机专业教材的相关知识对该教材的课(章)后习题进行了详细的分析和解答,并对相关重要知识点进行了延伸和归纳。
  3.精选名校真题,囊括所有考点。本书所选考研真题基本来自指定汤子瀛主编的《计算机操作系统》为考研参考书目的院校,并对每道题(包括概念题)都尽可能给出详细的参考答案,条理分明,便于记忆。
  4.补充难点习题,强化相关知识。为了进一步巩固和强化各章知识难点的复习,每章参考了名校题库、众多教材及相关资料,精选了部分难题,并对相关重要知识点进行了延伸和归纳。可以说本书的试题都经过了精心挑选,博选众书,取长补短。
  本书严格按照教材内容进行编写,共分12章,每章由三部分组成:第一部分为复习笔记,总结本章的重难点内容;第二部分是课(章)后习题详解,对第4版的所有习题都进行了详解的分析和解答;第三部分为考研真题与典型题详解,精选近年考研真题,并提供了详细的解答。
  圣才学习网│计算机类(www.100xuexi.com)提供全国各高校计算机类专业考研考博辅导班【一对一辅导(面授/网授)、网授精讲班等】、多媒体e书、多媒体题库(免费下载,免费升级)、全套资料(历年真题及答案、笔记讲义等)、计算机类国内外经典教材名师讲堂、考研教辅图书等。本题库特别适用于参加研究生入学考试指定考研参考书目为汤子瀛《计算机操作系统》的考生,也可供各大院校学习计算机操作系统的师生参考。
  与传统图书相比,本书具有以下七大特色:
1.互动学习:摇一摇,找学友,交友学习两不误  摇一摇,找到学习本书的所有学友,可精确查找学友的具体位置;与学友互动,交流学习(视频、语音等形式),交友学习两不误;学习圈内有学霸解答本书学习中的问题,并配有专职教师指导答疑解惑。

2.720度立体旋转:好用好玩的全新学习体验  圣才电子书带给你超逼真的3D学习体验,720度立体场景,任意角度旋转,模拟纸质书真实翻页效果,让你学起来爱不释手!

3.手机扫码即可阅读,精彩内容,轻松分享  圣才电子书扫码即可在手机阅读,随处随学。可以不用客户端不用账号,简单方便!
4.质量保证:每本电子书都经过图书编辑队伍多次反复修改,年年升级  我们拥有一支强大图书编辑团队,他们专门从事图书的编辑工作,对各类职称考试、考研考博等教材教辅深入研究,以及各类职称考试、考研考博的历年真题进行详尽仔细研究与分析,掌握考试命题的规律和方向,并结合行业最新前沿动态,不断分析整理各个科目的考试要点,把重要考点全部固化为试题形式,形成精准领先及时的备考电子书。同时,依托北京高校资源,我们聘请知名高校众多专家组成顾问团队严格审核圣才电子书,确保质量。
5.免费升级:更新并完善内容,终身免费升级  如购买本书,可终生使用。免费自动升级指我们一旦对该产品的内容有所修订、完善,系统立即自动提示您免费在线升级您的产品,您将自动获得最新版本的产品内容。真正做到了一次购买,终身使用。当您的电子书出现升级提示时,请选择立即升级。
6.功能强大:记录笔记、答案遮挡等十大功能  本书具有“知识点串联列举”“划线添加笔记”、“答案自动遮挡”、“全文检索”等功能。
  (1)知识点串联列举——相同知识点内容列表呈现,便于读者记忆和复习,举一反三,触类旁通。【为考试教辅量身定做】

  (2)划线添加笔记——使用颜色笔工具,划一条线,写笔记,提交纠错。【圣才电子书独家推出】

  (3)全文检索——输入关键词,本书相关内容一览无余。【圣才电子书独家推出】

7.多端并用:电脑手机平板等多平台同步使用  本书一次购买,多端并用,可以在PC端(在线和下载)、手机(安卓和苹果)、平板(安卓和苹果)等多平台同步使用。同一本书,使用不同终端登录,可实现云同步,即更换不同设备所看的电子书页码是一样的。

  特别说明:本书的部分内容参考了部分网络资料及相关资料。但由于特殊的原因,比如作者姓名或出处在转载之前已经丢失,或者未能及时与作者取得联系等,因而可能没有注明作者的姓名或出处。如果原作者或出版人对本书有任何异议,请与我们联系,我们会在第一时间为您处理!
  圣才学习网(www.100xuexi.com)是一家为全国各类考试和专业课学习提供辅导方案【保过班、网授班、3D电子书、3D题库】的综合性学习型视频学习网站,拥有近100种考试(含418个考试科目)、194种经典教材(含英语、经济、管理、证券、金融等共16大类),合计近万小时的面授班、网授班课程。
  如您在购买、使用中有任何疑问,请及时联系我们,我们将竭诚为您服务!
  全国热线:400-900-8858(8:30-00:30)
  咨询QQ:4009008858(8:30-00:30)

  详情访问:http://it.100xuexi.com/(圣才学习网|计算机类)
圣才学习网编辑部
                                                                                                                                    本书更多内容>>
                                                                                                                                                                                                                    使用说明                                                                                                   
                                                                                    

内容预览
第1章 操作系统引论
1.1 复习笔记
一、操作系统的目标和作用
1.操作系统的目标
在计算机系统上配置操作系统的主要目标是方便性、有效性、可扩充性和开放性。
(1)方便性
配置操作系统(OS)后,系统可以使用编译命令将用户采用高级语言书写的程序翻译成机器代码,用户可以直接通过OS所提供的各种命令操纵计算机系统,使计算机变得易学易用。
(2)有效性
①提高系统资源利用率
早期未配置OS的计算机系统,各种资源无法得到充分利用,配置OS后,能有效分配各种设备的工作状态,提高系统资源的利用率。
②提高系统的吞吐量
OS可以通过合理地组织计算机的工作流程,加速程序的运行,缩短程序的运行周期,从而提高系统的吞吐量。
(3)可扩充性
OS必须具有很好的可扩充性,才能适应计算机硬件、体系结构以及应用发展的要求。
(4)开放性
开放性是指系统能遵循世界标准规范,特别是遵循开放系统互连(OSI)国际标准。开放性是衡量一个新推出系统或软件能否被广泛应用的至关重要的因素。
2.操作系统的作用
操作系统(OperatingSystem,OS)是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。其主要作用是管理好这些设备,提高它们的利用率和系统的吞吐量,并为用户和应用程序提供一个简单的接口,便于用户使用。可以从以下几个方面讨论它的作用:
(1)OS作为用户与计算机硬件系统之间的接口
OS处于用户与计算机硬件系统之间,用户通过OS来使用计算机系统。图1-1是OS作为接口的示意图。

图1-1 OS作为接口的示意图
从图中可以看出,用户可以通过命令方式、系统调用方式和图标—窗口方式来实现与操作系统的通信,并取得它的服务。
(2)OS作为计算机系统资源的管理者
①管理处理器,用于分配和控制处理器;
②管理存储器,主要负责内存的分配与回收;
③管理I/O设备,负责I/O设备的分配与操纵;
④管理文件,负责文件的存取、共享和保护。
注意:当一台计算机系统同时供多个用户使用时,则用户对系统中共享资源的需求有可能发生冲突,因此,操作系统必须对使用资源的请求进行授权,已协调用户对共享资源的使用。
(3)OS实现了对计算机资源的抽象
①在裸机上覆盖上一层I/O设备管理软件,如图1-2所示,由它来实现对I/O设备操作的细节,并向上将I/O设备抽象为一组数据结构以及一组I/O操作命令。

图1-2 I/O软件隐藏了I/O操作实现的细节
②在第一层软件(I/O管理软件)上再覆盖一层用于文件管理的软件,由它来实现对文件操作的细节,并向上层提供一组实现对文件进行存取操作的数据结构及命令。文件管理软件实现了对硬件资源操作的第二个层次的抽象。
③依此类推,如果在文件管理软件上再覆盖一层面向用户的窗口软件,则用户便可在窗口环境下方便地使用计算机,从而形成一台功能更强的虚机器。
OS是铺设在计算机硬件上的多层软件的集合,它们不仅增强了系统的功能,还隐藏了对硬件操作的具体细节,实现了对计算机硬件操作的多个层次的抽象模型。并且随着抽象层次的提高,抽象接口所提供的功能就越强,用户使用起来越方便。
3.推动操作系统发展的主要动力
(1)不断提高计算机资源的利用率
在计算机发展初期,计算机系统特别昂贵,因此,必须千方百计地提高计算机各种资源的利用率,这是OS最初发展的推动力。
(2)方便用户
当资源利用率不高的问题得到基本解决后,用户在上机、调试程序时的不方便性又成为了继续推动OS发展的主要因素。
(3)器件的不断更新换代
随着微机芯片的不断更新换代,使得计算机的性能快速提高,从而推动了OS功能和性能的迅速增强和提高。
(4)计算机体系结构的不断发展
计算机体系结构的发展,不断推动着OS的发展,也促进了新的OS类型的产生。
(5)不断提出新的应用需求
不断提出的新的应用需求是推动OS迅速发展的另一个重要原因。
二、操作系统的发展过程
1.未配置操作系统的计算机系统
从1945年诞生的第一台计算机,到50年代中期的计算机,都属于第一代计算机,这时还未出现OS,对计算机的全部操作都是采用以下两种方式进行的:
(1)人工操作方式
①概述
早期的操作方式是由程序员将事先已穿孔的纸带(或卡片),装入纸带输入机(或卡片输入机),再启动它们将纸带(或卡片)上的程序和数据输入计算机,然后启动计算机运行。
②缺点
人工操作方式仅当程序运行完毕并取走计算结果后,才允许下一个用户上级,它具有以下两方面的缺点:
a.用户独占全机,即一台计算机的全部资源由上机用户所独占。
b.CPU等待人工操作。当用户进行装带(卡)、卸带(卡)等人工操作时,CPU及内存等资源是空闲的。
③人机矛盾
人机矛盾指的是人工操作方式严重降低了计算机资源的利用率。
(2)脱机输入/输出(OfflineI/O)方式
①概述
为了解决人机矛盾及CPU和I/O设备之间速度不匹配的矛盾,20世纪50年代末出现了脱机I/O技术。在脱机I/O过程中,程序和数据的输入和输出都是在外围机的控制下,即脱离主机的情况下完成的,图1-3为脱机I/O示意图。

图1-3 脱机I/O示意图
②优点
a.减少了CPU的空闲时间
由于脱机I/O方式中,程序和数据的输入输出过程都是在脱机情况下由外围机完成的,并不占用主机时间,从而有效地减少了CPU的空闲时间。
b.提高了I/O速度
当CPU在运行中需要输入数据时,是直接从高速的磁带上将数据输入到内存的,极大地提高了I/O速度。
2.单道批处理系统
(1)处理过程
①首先由监督程序将磁带上的第一个作业装入内存,并把运行控制权交给该作业;
②当该作业处理完成时,又把控制权交还给监督程序,再由监督程序把磁带上的第二个作业调入内存;
③计算机系统就这样自动地一个作业紧接一个作业地进行处理,直至磁带上的所有作业全部完成。
单道批处理系统的处理流程如图1-4所示。这种单道批处理系统仍然不能很好地利用系统资源,故现已很少使用。

图1-4 单道批处理系统的处理流程
(2)单道批处理系统的缺点
单道批处理系统最主要的缺点是,系统中的资源得不到充分的利用。这是因为在内存中仅有一道程序,每逢该程序在运行中发出I/O请求后,CPU便处于等待状态,必须在其 I/O完成后才继续运行。又因I/O设备的低速性,更使CPU的利用率显著降低。图1-5显示了单道程序的运行情况,从图可以看出:在t2~t3、t6~t7时间间隔内CPU空闲。

图1-5 单道程序的运行情况
3.多道批处理系统(MultiprogrammedBatch Processing System)
(1)基本概念
在该系统中,用户所提交的作业都先存放在外存上并排成一个队列,称为“后备队列”;然后,由作业调度程序按一定的算法从后备队列中选择若干个作业调入内存,使它们共享CPU和系统中的各种资源。图1-6显示了多道程序的运行情况。

图1-6 多道程序的运行情况
(2)多道批处理系统的优点
①资源利用率高
引入多道批处理能使多道程序交替运行,以保持CPU处于忙碌状态;在内存中装入多道程序可提高内存的利用率;此外还可以提高的设备的利用率。
②系统吞吐量大
能提高系统吞吐量的主要原因可归结为:
a.CPU和其它资源保持“忙碌”状态;
b.仅当作业完成时或运行不下去时才进行切换,系统开销小。
(3)多道批处理系统的缺点
①平均周转时间长
由于作业要排队依次进行处理,因而作业的周转时间较长,通常需几个小时,甚至几天。
②无交互能力
用户一旦把作业提交给系统后,直至作业完成,用户都不能与自己的作业进行交互,修改和调试程序极不方便。
(4)多道批处理系统需要解决的问题
多道批处理系统是一种十分有效,但又非常复杂的系统,为使系统中的多道程序间能协调地运行,系统必须解决下述一系列问题:
①处理机争用问题
既要能满足各道程序运行的需要,又要能提高处理机的利用率。
②内存分配和保护问题
系统应能为每道程序分配必要的内存空间,使它们“各得其所”,且不会因某道程序出现异常情况而破坏其它程序。
③I/O设备分配问题
系统应采取适当的策略来分配系统中的I/O设备,以达到既能方便用户对设备的使用,又能提高设备利用率的目的。
④文件的组织和管理问题
系统应能有效地组织存放在系统中的大量的程序和数据,使它们既便于用户使用,又能保证数据的安全性。
⑤作业管理问题
系统中存在着各种作业(应用程序),系统应能对系统中所有的作业进行合理的组织,以满足这些作业用户的不同要求。
⑥用户与系统的接口问题
为使用户能方便的使用操作系统,OS还应提供用户与OS之间的接口。
为了妥善、有效地解决上述问题,计算系统中增加了一组能有效地组织和管理计算机硬件和软件资源,合理地对各类作业讲行调度,以及方便用户使用的程序的集合,即操作系统。
4.分时系统(Time SharingSystem)
(1)分时系统的引入
分时系统是指,在一台主机上连接了多个配有显示器和键盘的终端并由此所组成的系统,该系统允许多个用户同时通过自己的终端,以交互方式使用计算机,共享主机中的资源。它能很好地将一台计算机提供给多个用户同时使用,提高计算机的利用率。推动分时系统形成和发展的主要动力,是为了满足用户对人机交互的需求,用户的需求具体表现在以下几个方面:
①人机交互
每当程序员写好一个新程序时,都需要上机进行调试。由于新编程序难免存在一些错误或不当之处,需要进行修改,因此用户希望能像早期使用计算机时一样,独占全机并对它进行直接控制,以便能方便地对程序中的错误进行修改。亦即,用户希望能进行人机交互。
②共享主机
在20世纪60年代,计算机还十分昂贵,一台计算机要同时供很多用户共享使用。显然,用户们在共享一台计算机时,每人都希望能像独占时一样,不仅可以随时与计算机进行交互,而且还不会感觉到其他用户的存在。
(2)分时系统实现中的关键问题
为了能够实现人机—交互,必须解决的关键问题是,如何使用户能与自己的作业进行交互,即允许有多个用户同时通过自己的键盘键入命令,系统也应能全部及时接收并处理。
①及时接收
要做到及时接收多个用户键入的命令或数据,只需在系统中配置一个多路卡即可。此外,为了能使从终端上输入的数据被依次逐条地进行处理,还需要为每个终端配置一个缓冲区,用来暂存用户键入的命令(或数据)。
②及时处理
人机交互的关键在于,用户键入命令后,能对自己的作业及其运行及时地实施控制,或进行修改。为实现人机交互,必须彻底地改变原来批处理系统的运行方式,转而采用下面的方式:
a.作业直接进入内存
因为作业在磁盘上是不能运行的,所以作业应直接进入内存。
b.采用轮转运行方式
系统规定每个作业每次只能运行一个时问片,然后就暂停该作业的运行,并立即调度下一个作业运行。
(3)分时系统的特征
①多路性
该特性是指系统允许将多台终端同时连接到一台主机上,并按分时原则为每个用户服务。多路性允许多个用户共享一台计算机,显著地提高了资源利用率,降低了使用费用,从而促进了计算机更广泛的应用。
②独立性
该特性是指系统提供了这样的用机环境,即每个用户在各自的终端上进行操作,彼此之间互不干扰,给用户的感觉就像是他一人独占主机进行操作。
③及时性
及时性是指用户的请求能在很短时间内获得响应。这一时间间隔是根据人们所能接受的等待时间确定的,通常仅为1~3秒钟。
④交互性
交互性是指用户可通过终端与系统进行广泛的人机对话。其广泛性表现在:用户可以请求系统提供多方面的服务,如进行文件编辑和数据处理,访问系统中的文件系统和数据库系统,请求提供打印服务等。
5.实时系统(Real TimeSystem)
实时系统是指系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。
(1)实时系统的类型
①工业(武器)控制系统
当计算机被用于生产过程的控制,形成以计算机为中心的控制系统时,该系统应具有能实时采集现场数据,并对所采集的数据进行及时处理,进而能够自动地控制相应的执行机构,使之具有按预定的规律变化的功能,确保产品的质量和产量。类似地,也可将计算机用于对武器的控制,如火炮的自动控制系统、飞机的自动驾驶系统,以及导弹的制导系统等。
②信息查询系统
该系统接收从远程终端上发来的服务请求,根据用户提出的请求,对信息进行检索和处理,并能及时对用户做出正确的回答。实时信息处理系统有飞机或火车的订票系统等。
③多媒体系统
随着计算机硬件和软件的快速发展,已可将文本、图像、音频和视频等信息集成在一个文件中,形成一个多媒体文件。如在用DVD播放器所播放的数字电影中就包含了音频、视频和横向滚动的文字等信息。为了保证有好的视觉和听觉感受,用于播放音频和视频的多媒体系统等,也必须是实时信息处理系统。
④嵌入式系统
随着集成电路的发展,己制做出各种类型的芯片,可将这些芯片嵌入到各种仪器和设备中,用于对设备进行控制或对其中的信息做出处理,这样就构成了智能仪器和设备。此时还需要配置嵌入式0S,它同样需要具有实时控制或处理的功能。
(2)实时任务的类型
①周期性实时任务和非周期性实时任务
a.周期性实时任务
指这样一类任务,外部设备周期性地发出激励信号给计算机,要求它按指定周期循环执行,以便周期性地控制某外部设备。
b.非周期性实时任务并无明显的周期性,但都必须联系着一个截止时间(Deadline),或称为最后期限,截止时间又可分为开始截止时间和完成截止时间。
第一,开始截止时间,指某任务在某时间以前必须开始执行。
第二,完成截止时间,指某任务在某时间以前必须完成。
②硬实时任务和软实时任务
a.硬实时任务(Hard Real-time Task,HRT)
指系统必须满足任务对截止时间的要求,否则可能出现难以预测的后果。用于工业和武器控制的实时系统,通常它所执行的是硬实时任务。
b.软实时任务(Soft Real-time Task,SRT)
它联系着一个截止时间,但并不严格,若偶尔错过了任务的截止时间,对系统产生的影响也不会太大。诸如用于信息查询系统和多媒体系统中的实时系统,通常是软实时任务。
(3)实时系统与分时系统特征的比较
①多路性
信息查询系统和分时系统中的多路性都表现为系统按分时原则为多个终端用户服务;实时控制系统的多路性则是指系统周期性地对多路现场信息进行采集,以及对多个对象或多个执行机构进行控制。
②独立性
信息查询系统中的每个终端用户在与系统交互时,彼此相互独立互不干扰;同样在实时控制系统中,对信息的采集和对对象的控制也都是彼此互不干扰的。
③及时性
信息查询系统对实时性的要求是依据人所能接受的等待时间确定的,而多媒体系统实时性的要求是,播放出来的音乐和电视能令人满意。实时控制系统的实时性则是以控制对象所要求的截止时间来确定的,一般为秒级到毫秒级。
④交互性
在信息查询系统中,人与系统的交互性仅限于访问系统中某些特定的专用服务程序。它并不像分时系统那样,能向终端用户提供数据处理、资源共享等服务。而多媒体系统的交互性也仅限于用户发送某些特定的命令,如开始、停止、快进等,由系统立即响应。
⑤可靠性
分时系统要求系统可靠,实时系统要求系统高度可靠,因为任何差错都可能带来无法预料的灾难性后果。因此,在实时系统中,往往都采取了多级容错措施来保障系统的安全性及数据的安全性。
6.微机操作系统的发展
配置在微型机上的操作系统称为微机操作系统,最早诞生的微机操作系统是配置在8位微机上的CP/M,微机操作系统可按微机的字长分为8位微机操作系统、16位微机操作系统、32为微机操作系统和64位微机操作系统,也可按运行方式分为以下几类:
(1)单用户单任务操作系统
单用户单任务操作系统的含义是,只允许一个用户上机,且只允许用户程序作为一个任务运行,这是最简单的微机操作系统,主要配置在8位和16位微机上,最有代表性的单用户单任务微机操作系统是CP/M和MS-DOS。
(2)单用户多任务操作系统
单用户多任务操作系统的含义是,只允许一个用户上机,但允许用户把程序分为若干个任务,使它们并发执行,从而有效地改善了系统的性能。
(3)多用户多任务操作系统
多用户多任务操作系统的含义是,允许多个用户通过各自的终端,使用同一台机器,共享主机系统中的各种资源,而每个用户程序又可进一步分为几个任务,使它们能并发执行,从而可进一步提高资源利用率和系统吞吐量。一般配置在大、中和小型微机上,代表性的是UNIX OS。
三、操作系统的基本特性
不同操作系统具备各自不同的特征,如批处理系统有着高的资源利用率和系统吞吐量;分时系统能获得及时响应;实时系统具有实时特征。同时,它们也具有并发、共享、虚拟和异步这四种共同的基本特征。
1.并发(Concurrence)
正是系统中的程序能并发执行这一特征,才使得OS能有效地提高系统中的资源利用率,增加系统的吞吐量。
(1)并行与并发
①并行性是指两个或多个事件在同一时刻发生;
②并发性是指两个或多个事件在同一时间间隔内发生。
(2)引入进程
进程是指在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令、数据和堆栈等组成的,是一个能独立运行的活动实体。多个进程之间可以并发执行和交换信息,引入进程可以极大地提高系统资源的利用率,增加系统的吞吐量。
2.共享(Sharing)
共享是指系统中的资源可供内存中多个并发执行的进程(线程)共同使用,相应地,把这种资源的共同使用称为资源共享,或称为资源复用。资源的属性不同,进程对资源复用的方式也不同,目前实现资源共享的主要方式有以下两种:
(1)互斥共享方式
仅当占有资源的进程访问完并释放该资源后,才允许另一进程对该资源进行访问。这种资源共享方式称为互斥式共享。
(2)同时访问方式
允许在一段时间内由多个进程“同时”对它们进行访问。这里的“同时”,在单处理机环境下往往是宏观上的,而在微观上,这些进程可能是交替地对该资源进行访问。
3.虚拟(Virtual)
在OS中,把通过某种技术将一个物理实体变为若干个逻辑上的对应物的功能称为“虚拟”。前者是实的,即实际存在的,而后者是虚的,是用户感觉上的东西。相应地,把用于实现虚拟的技术称为虚拟技术。在OS中也是利用时分复用和空分复用技术来实现“虚拟”的。
(1)时分复用技术
在计算机领域中,广泛利用时分复用技术来实现虚拟处理机、虚拟设备等,使资源的利用率得以提高。它能提高资源利用率的根本原因在于,它利用某设各为一用户服务的空闲时间,又转去为其他用户服务,使设备得到最充分的利用。
①虚拟处理机技术
利用多道程序设计技术,为每道程序建立至少一个进程,让多道程序并发执行。此时虽然系统中只有一台处理机,但通过分时复用的方法,能实现同时(宏观上)为多个用户服务,使每个终端用户都认为是有一个处理机在专门为他服务。
②虚拟设备技术
我们还可以利用虚拟设备技术,也通过分时复用的方法,将一台物理I/O设备虚拟为多台逻辑上的I/O设备,并允许每个用户占用一台逻辑上的I/O设备。这样便可使原来仅允许在一段时间内由一个用户访问的设备(即临界资源),变为允许多个用户“同时”访问的共享设备,既宏观上能“同时”为多个用户服务。
(2)空分复用技术
它是将一个频率范围非常宽的信道,划分成多个频率范围较窄的信道,其中的任何一个频带都只供一个用户通话。在计算机中也使用了空分复用技术来提高存储空间的利用率。
4.异步(Asynchronism)
在多道程序环境下允许多个进程并发执行,但只有进程在获得所需的资源后方能执行。进程以人们不可预知的速度向前推进,此即进程的异步性(Asynchronism)。
在这四个基本特征中,并发和共享是多用户(多任务)OS的两个最基本的特征。它们又是互为存在的条件。即一方面资源共享是以进程的并发执行为条件的,若系统不允许并发执行也就不存在资源共享问题;另一方面,若系统不能对资源共享实施有效管理,以协调好诸进程对共享资源的访问,也必然会影响到诸进程问并发执行的程度,甚至根本无法并发执行。
四、操作系统的主要功能
1.处理机管理功能
在传统的多道程序系统中,处理机的分配和运行都是以进程为基本单位的,因而对处理机的管理可归结为对进程的管理。处理机管理的主要功能有:创建和撤消进程,对诸进程的运行进行协调,实现进程之间的信息交换,以及按照一定的算法把处理机分配给进程。
(1)进程控制
进程控制的主要功能也就是为作业创建进程、撤消(终止)已结束的进程,以及控制进程在运行过程中的状态转换。
(2)进程同步
为使多个进程能有条不紊地运行,系统中必须设置相应的进程同步机制。该机制的主要任务是为多个进程(含线程)的运行进行协调。常用的协调方式有两种:
①进程互斥方式
这是指诸进程在对临界资源进行访问时,应采用互斥方式;
②进程同步方式
指在相互合作去完成共同任务的诸进程间,由同步机构对它们的执行次序加以协调。
(3)进程通信
进程通信的任务是实现相互合作进程之间的信息交换。当相互合作的进程处于同一计算机系统时,通常在它们之间采用直接通信方式,即由源进程利用发送命令直接将消息(message)挂到目标进程的消息队列上,以后由目标进程利用接收命令从其消息队列中取出消息。
(4)调度
①作业调度
作业调度的基本任务是从后备队列中按照一定的算法选择出若干个作业,为它们分配运行所需的资源,在将这些作业调入内存后,分别为它们建立进程,使它们都成为可能获得处理机的就绪进程,并将它们插入就绪队列中。
②进程调度
进程调度的任务是从进程的就绪队列中按照一定的算法选出一个进程,将处理机分配给它,并为它设置运行现场,使其投入执行。
2.存储器管理功能
存储器管理的主要任务,是为多道程序的运行提供良好的环境,提高存储器的利用率,方便用户使用,并能从逻辑上扩充内存。为此,存储器管理应具有内存分配和回收、内存保护、地址映射和内存扩充等功能。
(1)内存分配
①内存分配的主要任务
a.为每道程序分配内存空间,使它们“各得其所”。
b.提高存储器的利用率,尽量减少不可用的内存空间(碎片)。
c.允许正在运行的程序申请附加的内存空间,以适应程序和数据动态增长的需要。
②OS实现内存分配时采用的方式
a.静态分配方式
每个作业的内存空间是在作业装入时确定的,在作业装入后的整个运行期间不允许该作业再申请新的内存空间,也不允许作业在内存中“移动”。
b.动态分配方式
每个作业所要求的基本内存空间虽然也是在装入时确定的,但允许作业在运行过程中继续申请新的附加内存空间,以适应程序和数据的动态增长,也允许作业在内存中“移动”。
(2)内存保护
①内存保护的主要任务
a.确保每道用户程序都仅在自己的内存空间内运行,彼此互不干扰;
b.绝不允许用户程序访问操作系统的程序和数据,也不允许用户程序转移到非共享的其它用户程序中去执行。
②内存保护的目的
为了确保每道程序都只在自己的内存区中运行,必须设置内存保护机制。
③内存保护机制
一种比较简单的内存保护机制是设置两个界限寄存器,分别用于存放正在执行程序的上界和下界。在程序运行时,系统须对每条指令所要访问的地址进行检查,如果发生越界,便发出越界中断请求,以停止该程序的执行。
(3)地址映射
为保证程序能正确运行,存储器管理必须提供地址映射功能,即能够将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址。该功能应在硬件的支持下完成。
(4)内存扩充
①内存扩充的定义
内存扩充并非是从物理上去扩大内存的容量,而是借助于虚拟存储技术,从逻辑上扩充内存容量,使用户所感觉到的内存容量比实际内存容量大得多,以便让更多的用户程序能并发运行。
②内存扩充实现的功能
a.请求调入功能
系统允许在仅装入部分用户程序和数据的情况下,便能启动该程序运行。在程序运行过程中,若发现要继续运行时所需的程序和数据尚未装入内存,可向 OS发出请求,由OS从磁盘中将所需部分调入内存,以便继续运行。
b.置换功能
若发现在内存中已无足够的空间来装入需要调入的程序和数据时,系统应能将内存中的一部分暂时不用的程序和数据调至硬盘上,以腾出内存空间,然后再将所需调入的部分装入内存。
3.设备管理功能
设备管理的主要任务是完成用户进程提出的I/O请求,为用户进程分配所需的I/O设备,并完成指定的I/O操作以及提高CPU和I/O设备的利用率,提高I/O速度,方便用户使用I/O设备。为了实现上述任务,设备管理应具有的功能有缓冲管理、设备分配、设备处理以及虚拟设备等。
(1)缓冲管理
如果在I/O设备和CPU之间引入缓冲,则可有效地缓和CPU和I/O设备速度不匹配的矛盾,提高CPU的利用率,进而提高系统吞吐量。
(2)设备分配
设备分配的基本任务是根据用户进程的I/O请求、系统现有资源情况以及按照某种设备分配策略,为之分配其所需的设备。
(3)设备处理
设备处理程序又称为设备驱动程序。其基本任务是用于实现CPU和设备控制器之间的通信,即由CPU向设备控制器发出I/O命令,要求它完成指定的I/O操作;反之,由CPU接收从控制器发来的中断请求,并给予迅速的响应和相应的处理。
4.文件管理功能
文件管理的主要任务是对用户文件和系统文件进行管理以方便用户使用,并保证文件的安全性。为此,文件管理应具有对文件存储空间的管理、目录管理、文件的读,写管理以及文件的共享与保护等功能。
(1)文件存储空间的管理
在多用户环境下,若由用户自己对文件的存储进行管理,不仅非常困难,而且也必然十分低效。因而需要由文件系统对诸多文件及文件的存储空间实施统一的管理。其主要任务是:为每个文件分配必要的外存空间,提高外存的利用率,进而提高文件系统的存、取速度。为此,系统中应设置相应的数据结构,用于记录文件存储空间的使用情况,以供分配存储空间时参考。还应具有对存储空间进行分配和回收的功能。
(2)目录管理
目录管理的主要任务是为每个文件建立一个目录项,目录项包括文件名、文件属性、文件在磁盘上的物理位置等,并对众多的目录项加以有效的组织,以实现方便的按名存取。即用户只需提供文件名,即可对该文件进行存取。目录管理还应能实现文件共享,这样,只需在外存上保留一份该共享文件的副本。此外,还应能提供快速的目录查询手段,以提高对文件检索的速度。
(3)文件的读/写管理和保护
①文件的读,写管理
该功能是根据用户的请求,从外存中读取数据,或将数据写入外存。在进行文件读,写时,系统先根据用户给出的文件名去检索文件目录,从中获得文件在外存中的位置。然后,利用文件读,写指针,对文件进行读,写。一旦读/写完成,便修改读,写指针,为下一次读,写做好准备。由于读和写操作不会同时进行,故可合用一个读,写指针。
②文件保护
为了防止系统中的文件被非法窃取和破坏,在文件系统中必须提供有效的存取控制功能,以实现下述目标:
a.防止未经核准的用户存取文件;
b.防止冒名顶替存取文件;
c.防止以不正确的方式使用文件。
5.操作系统与用户之间的接口
(1)用户接口
为了便于用户直接或间接地控制自己的作业,操作系统向用户提供了命令接口。用户可通过该接口向作业发出命令以控制作业的运行。该接口又进一步分为联机用户接口、脱机用户接口和图形用户接口三种。
①联机用户接口
这是为联机用户提供的,它由一组键盘操作命令及命令解释程序组成。当用户在终端或控制台上键入一条命令后,系统便立即转入命令解释程序,对该命令加以解释执行。在完成指定功能后系统又返回到终端或控制台上,等待用户键入下一条命令。这样,用户便可通过先后键入不同命令的方式来实现对作业的控制,直至作业完成。
②脱机用户接口
这是为批处理作业的用户提供的。用户用作业控制语言JCL把需要对作业进行的控制和干预的命令事先写在作业说明书上,然后将它与作业一起提供给系统。当系统调度到该作业运行时,通过调用命令解释程序去对作业说明书上的命令逐条解释执行,直至遇到作业结束语句时系统才停止该作业的运行。
③图形用户接口
通过联机用户接口取得OS的服务既不方便又花时间,用户必须熟记所有命令及其格式和参数,并逐个字符地键入命令,于是图形用户接口便应运而生。图形用户接口采用了图形化的操作界面,用非常容易识别的各种图标(icon)来将系统的各项功能、各种应用程序和文件直观、逼真地表示出来。用户可通过菜单(和对话框)用移动鼠标选择菜单项的方式取代命令的键入,以方便、快捷地完成对应用程序和文件的操作,从而把用户从繁琐且单调的操作中解脱出来。
(2)程序接口
程序接口是为用户程序在执行中访问系统资源而设置的,是用户程序取得操作系统服务的唯一途径。它是由一组系统调用组成的,每一个系统调用都是一个能完成特定功能的子程序。每当应用程序要求OS提供某种服务(功能)时,便调用具有相应功能的系统调用(子程序)。
6.现代操作系统的新功能
现代操作系统是在传统操作系统基础上发展起来的,它除了具有传统操作系统的功能外,还增加了面向安全、面向网络和面向多媒体等功能。
(1)系统安全
在现代OS中采取了多种有效措施来确保系统的安全。介绍如下几个保障系统安全的技术问题:
①认证技术
这是一个用来确认被认证的对象是否名副其实的过程,以确定对象的真实性,防止入侵者进行假冒和篡改等。在被认证对象与要验证的那些参数之间应存在严格的对应关系。
②密码技术
即对系统中所需存储和传输的数据进行加密,使之成为密文,这样,攻击者即使截获到数据,也无法了解到数据的内容。只有指定的用户才能对该数据予以解密,了解其内容,从而有效地保护了系统中信息资源的安全性。
③访问控制技术
可通过两种途径来保障系统中资源的安全:
a.通过对用户存取权限的设置,可以限定用户只能访问被允许访问的资源,这样也就限定了用户对系统资源的访问范围;
b.访问控制还可以通过对文件属性的设置来保障指定文件的安全性,如设置文件属性为只读时,该文件就只能被读而不能被修改等。
④反病毒技术
对于病毒的威胁,最好的解决方法是预防,不让病毒侵入系统,但要完全做到这一点是十分困难的,因此还需要非常有效的反病毒软件来检测病毒。
(2)网络的功能和服务
①网络通信
用于在源主机和目标主机之间,实现无差错的数据传输,如建立和拆除通信链路、传输控制、差错控制和流量控制等。
②资源管理
即对网络中的共享资源(硬件和软件)实施有效的管理,协调诸用户对共享资源的使用,保证数据的安全性和一致性。典型的共享硬件资源有硬盘、打印机等,软件资源有文件和数据。
③应用互操作
即在一个由若干个不同网络互连所构成的互连网络中,必须提供应一用互操作功能,以实现信息的互通性和信息的互用性。信息的互通性是指在不同网络中的用户之间,能实现信息的互通。信息的互用性是表示用户可以访问不同网络中的文件系统和数据库系统中的信息。
(3)支持多媒体
一个支持多媒体的操作系统必须能像一般OS处理文字、图形信息那样去处理音频和视频信息等多媒体信息,为此,现代操作系统增加了多媒体的处理功能:
①接纳控制功能
在多媒体系统中,为了保证同时运行多个实时进程的截止时间,需要对在系统中运行的软实时任务,即SRT任务的数目、驻留在内存中的任务数目加以限制,为此设置了相应的接纳控制功能,如媒体服务器的接纳控制、存储器接纳控制和进程接纳控制。
②实时调度
多媒体系统中的每一个任务,往往都是一些要求较严格的、周期性的软实时任务SRT,如为了保证动态图像的连续性,图像更新的周期必须在40ms之内,因此在SRT调度时,不仅需要考虑进程的调度策略,还要考虑进程调度的接纳度等,相比传统的OS这就要复杂得多。
③多媒体文件的存储
为了存放多媒体文件,对0S最重要的要求是能把硬盘上的数据快速地传送到输出设备上。因此,对于在传统文件系统中数据的离散存放方式以及磁盘寻道方式都要加以改进。
五、OS结构设计
1.传统操作系统结构
软件开发技术的不断发展,促进了OS结构的更新换代。这里,将早期的无结构的OS(第一代)、模块化结构的OS(第二代)和分层式结构的OS(第三代),都统称为传统结构的OS,而把微内核结构的OS称为现代结构的OS。
(1)无结构操作系统
在早期开发操作系统时,设计者只是把他的注意力放在功能的实现和获得高的效率上,缺乏首尾一致的设计思想。此时程序设计的技巧,只是如何编制紧凑的程序,以便于有效地利用内存。
(2)模块化结构OS
①基本概念
模块化程序设计技术基于“分解”和“模块化”的原则来控制大型软件的复杂度。为使OS具有较清晰的结构,OS不再是由众多的过程直接构成的,而是按其功能精心地划分为若干个具有一定独立性和大小的模块。图1-7显示了由模块、子模块等组成的模块化OS结构。

图1-7 模块化结构的操作系统
②模块独立性
在划分模块时,必须充分注意模块的独立性问题。因为模块的独立性越高,各模块间的交互就越少,系统的结构也就越清晰。衡量模块的独立性有以下两个标准:
a.内聚性,指模块内部各部分间联系的紧密程度。内聚性越高,模块的独立性越强;
b.耦合度,指模块间相互联系和相互影响的程度。显然,耦合度越低,模块的独立性越好。
③模块接口法(无序模块法)的优缺点
利用模块一接口法开发的OS,较之无结构OS具有以下明显的优点:
a.提高OS设计的正确性、可理解性和可维护性;
b.增强OS的可适应性。
c.加速OS的开发过程。
模块化结构设计仍存在下述问题:
a.在OS设计时,对各模块间的接口规定很难满足在模块设计完成后对接口的实际需求。
b.在OS设计阶段,设计者必须做出一系列的决定(决策),每一个决定必须建立在上一个决定的基础上。
(3)分层式结构OS
①基本概念
自底向上的分层设计的基本原则是:每一步设计都是建立在可靠的基础上。因此规定,每一层仅能使用其底层所提供的功能和服务,这样可使系统的调试和验证都变得更容易。
②分层结构的优点
a易保证系统的正确性
自下而上的设计方式使所有设计中的决定都是有序的,或者说是建立在较为可靠的基础上的,这样比较容易保证整个系统的正确性。
b.易扩充和易维护性
在系统中增加、修改或替换一个层次中的模块或整个层次时,只要不改变相应层次间的接口,就不会影响其他层次,这必将使系统维护和扩充变得更加容易。
③分成结构的缺点
分层结构的主要缺点是系统效率降低。由于层次结构是分层单向依赖的,必须在每层之间都建立层次间的通信机制,OS每执行一个功能,通常要自上而下地穿越多个层次,这无疑会增加系统的通信开销,从而导致系统效率的降低。
2.客户/服务器模式(Client/Server Model)
(1)客户/服务器模式的由来、组成和类型
客户/服务器系统主要由客户机、服务器、网络系统三部分组成。
①客户机
通常在一个LAN网络上连接有多台网络工作站(简称客户机),每台客户机都是一个自主计算机,具有一定的处理能力,客户进程在其上运行,平时它处理一些本地业务,也可发送一个消息给服务器,以请求某项服务。
②服务器
通常是一台规模较大的机器,在其上驻留有网络文件系统或数据库系统等,它应能为网上所有的用户提供一种或多种服务。平时它一直处于工作状态,被动地等待来自客户机的请求,一旦检查到有客户提出服务请求,便去完成客户的请求,并将结果送回客户,这样,工作站中的用户进程与服务器进程就形成了客户/服务器关系。
③网络系统
是用于连接所有客户机和服务器,实现它们之间通信和网络资源共享的系统。
(2)客户,服务器之间的交互
在客户/服务器模式中,客户机和服务器之间需要进行交互,即必须利用消息机制在这两者之间进行多次通信,一次完整的交互过程可分成以下四步:
①客户发送请求消息
当客户机上的用户要请求服务器进行应用处理时,应输入相应的命令和有关参数。由客户机上的发送进程先把这些信息装配成请求消息,然后把它发往服务器;客户机上的接收进程则等待接收从服务器发回来的响应消息。
②服务器接收消息
服务器中的接收进程平时处于等待状态,一旦有客户机发来请求,接收进程就被激活,根据请求信息的内容,将之提供给服务器上的相应软件进行处理。
③服务器回送消息
服务器的软件根据请求进行处理,在完成指定的处理后,把处理结果装配成一个响应消息,由服务器中的发送进程将之发往客户机。
④客户机接收消息
客户机中的接收进程把收到的响应消息转交给客户机软件,再由后者做出适当处理后提交给发送该请求的客户。
(3)客户/服务器模式的优点
C/S模式之所以能成为在分布式系统和网络环境下软件的一种主要工作模式,是由于该模式具有传统集中模式所无法比拟的一系列优点。
①数据的分布处理和存储
由于客户机具有相当强的处理和存储能力,可进行本地处理和数据的分布存储,从而摆脱了由于把一切数据都存放在主机中而造成的既不可靠又容易产生瓶颈现象的困难局面。
②便于集中管理
尽管C/S模式具有分布处理功能,但公司(单位)中的有关全局的重要信息、机密资料、重要设备以及网络管理等,仍可采取集中管理方式,这样可较好地保障系统的“可靠”和“安全”。
③灵活性和可扩充性
C/S模式非常灵活,极易扩充。理论上,客户机和服务器的数量不受限制,其灵活性还表现在可以配置多种类型的客户机和服务器上。
④易于改编应用软件
在客户,服务器模式中,对于客户机程序的修改和增删,比传统集中模式要容易得多,必要时也允许由客户进行修改。
(4)客户/服务器模式的缺点
基本客户/服务器模式的不足之处是存在着不可靠性和瓶颈问题。在系统仅有一个服务器时,一旦服务器故障,将导致整个网络瘫痪;当服务器在重负荷下工作时,会因忙不过来而显著地延长对用户请求的响应时间。
3.面向对象的程序设计(Object-Orientated Programming)技术简介
(1)基本概念
面向对象技术是20世纪80年代初提出的一门基于“抽象”和“隐蔽”原则来控制大型软件的复杂度的技术。
①对象
在面向对象的技术中,是利用被封装的数据结构(变量)和一组对它进行操作的过程(方法),来表示系统中的某个对象的。对象中的变量(数据)称为属性,它是对外隐蔽的,外界不能对它直接进行访问,必须通过该对象中的一组方法(操作函数)对它进行访问。对象的示意图如图1-8所示。
②对象类
“对象类”定义了一组大体相似的对象。一个类同样定义了一组变量和针对该变量的一组方法,用它们来描述一组对象的共同属性和行为。类是在对象上的抽象,对象则是类的实例。对象类中所定义的变量在实例中均有具体的值。类和对象的关系如图1-9所示。

图1-8 一个对象的示意图

图1-9 类和对象的关系
③继承
在面向对象的技术中,可以根据已有类来定义一个新的类,新类被称为子类(B),原来的类被称为父类(A)。继承是父类和子类之间共享变量和方法的机制,该机制规定子类自动继承父类中定义的变量和方法,并允许子类再增加新的内容。继承特性可使定义子类变得更容易。一个父类可以定义多个子类,它们分别是父类的某种特例,父类描述了这些子类的公共变量和方法。继承关系见图1-10所示。


图1-10 类的继承关系
(2)面向对象技术的优点
①通过“重用”提高产品质量和生产率
在面向对象技术中可通过“重用”以前项目中经过精心测试的对象或“重用”由其他人编写、测试和维护的对象类来构建新的系统,这不仅可大大降低开发成本,而且能获得更好的系统质量。
②使系统具有更好的易修改性和易扩展性
通过封装,可隐蔽对象中的变量和方法,因而当改变对象中的变量和方法时,不会影响到其它部分,从而可方便地修改老的对象类。另外,继承是面向对象技术的重要特性,在创建一个新对象类时,通过利用继承特性可显著减少开发的时空开销,使系统具有更好的易扩展性和灵活性。
③更易于保证系统的“正确性”和“可靠性”
对象是构成操作系统的基本单元,由于可以独立地对它进行测试,易于保证每个对象的正确性和可靠性,因此也就比较容易保证整个系统的正确性和可靠性。此外,封装对对象类中的信息进行了隐蔽,这样又可有效地防止未经授权者的访问和用户不正确的使用,有助于构建更为安全的系统。
4.微内核OS结构
(1)基本概念
我们可以从下面四个方面对微内核结构的操作系统进行描述。
①足够小的内核
在微内核操作系统中,内核是指精心设计的、能实现现代OS最基本核心功能的小型内核,微内核并非是一个完整的OS,而只是将操作系统中最基本的部分放入微内核,微内核通常包含以下几部分:
a.与硬件处理紧密相关的部分;
b.一些较基本的功能;
c.客户和服务器之间的通信。
②基于客户,服务器模式
由于客户/服务器模式具有非常多的优点,故在单机微内核操作系统中几乎无一例外地都采用客户,服务器模式,将操作系统中最基本的部分放入内核中,而把操作系统的绝大部分功能都放在微内核外面的一组服务器(进程)中实现。图1-11示出了在单机环境下的客户,服务器模式。

图1-11 在单机环境下的客户/服务器模式
③应用“机制与策略分离”原理
在现在操作系统的结构设计中,经常利用“机制与策略分离”的原理来构造OS结构。机制,是指实现某一功能的具体执行机构。而策略,则是在机制的基础上借助于某些参数和算法来实现该功能的优化,或达到不同的功能目标。
④采用面向对象技术
操作系统是一个极其复杂的大型软件系统,我们不仅可以通过结构设计来分解操作系统的复杂度,还可以基于面向对象技术中的“抽象”和“隐蔽”原则控制系统的复杂性,再进一步利用“对象”、“封装”和“继承”等概念来确保操作系统的“正确性”、“可靠性”、“易修改性”、“易扩展性”等,并提高操作系统的设计速度。
(2)微内核的基本功能
①进程(线程)管理
进程(线程)之间的通信功能是微内核OS最基本的功能,被频繁使用,因此,几乎所有的微内核OS都是将进程(线程)之间的通信功能放入微内核中。
②低级存储器管理
在微内核中,只配置最基本的低级存储器管理机制,如用于实现将用户空间的逻辑地址变换为内存空间的物理地址的页表机制和地址变换机制,这一部分是依赖于硬件的,因此放入微内核。
③中断和陷入处理
大多数微内核操作系统都是将与硬件紧密相关的一小部分放入微内核中处理,此时微内核的主要功能是捕获所发生的中断和陷入事件,并进行相应的前期处理。
(3)微内核操作系统的优点
①提高了系统的可扩展性
由于微内核OS的许多功能是由相对独立的服务器软件来实现的,当开发了新的硬件和软件时,微内核OS只需在相应的服务器中增加新的功能,或再增加一个专门的服务器。
②增强了系统的可靠性
微内核操作系统提供了规范而精简的应用程序接口(API),为微内核外部的程序编制高质量的代码创造了条件。
③可移植性强
在微内核结构的操作系统中,所有与特定CPU和I/O设备硬件有关的代码,均放在内核和内核下面的硬件隐藏层中,而操作系统各种服务器,均与硬件平台无关。
④提供了对分布式系统的支持
在进行客户与服务器通信时,只需在所发送的消息中标上发送进程和接收进程的标识符,微内核便可利用系统映射表将消息发往目标,而无论目标是驻留在哪台机器上。
⑤融入了面向对象技术
在设计微内核OS时采用了面向对象的技术,其中的“封装”,“继承”,“对象类”和“多态性”,以及在对象之间采用消息传递机制等,都十分有利于提高系统的正确性、可靠性、易修改性、易扩展性等。
(4)微内核操作系统存在的问题
微内核OS存在着潜在的缺点。其中最主要的是,较之早期OS,微内核OS的运行效率有所降低。

下载地址:http://free.100xuexi.com/Ebook/88793.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系我们|Free考研资料 ( 苏ICP备05011575号 )

GMT+8, 25-2-27 13:30 , Processed in 0.113546 second(s), 10 queries , Gzip On, Xcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表