《操作系统考前复习.doc》由会员分享,可在线阅读,更多相关《操作系统考前复习.doc(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流第一章第二章第三章第四章第五章 操作系统考前复习.精品文档.第六章 操作系统引论1.1操作系统的目标和作用1.1.1操作系统的目标1、 方便性2、 有效性方便性和有效性是设计操作系统时最重要的两个目标。3、 可扩充性操作系统应采用层次化结构,便于增加新的工程层次和模块,并能修改老的功能层次和模块。4、 开放性开放性是指能遵循世界标准规范,特别是遵循开放国际互联OSI国际标准。开放性已成为90年代计算机技术的核心问题,也是一个新推出的系统或软件能否被应用的重要因素。开放性的目的:为了使来自不同厂家的计算机和设备能通过网络加以集成化,并能正确、有
2、效地协同工作,实现应用的可移植性和互操作性,因此必须具有统一的开放环境。1.1.2操作系统的作用1、 OS作为用户与计算机硬件系统之间的接口(从一般用户角度)操作系统是一个系统软件,此接口为软件接口。用户可通过三种方式使用计算机a、 命令方式b、 系统调用方式c、 图形、窗口方式2、 OS作为计算机系统资源的管理者(从资源管理的角度)处理器管理,存储器管理,I/O设备管理、文件管理3、 OS用作扩充机器通常把覆盖了软件的机器称为扩充机器或者虚机器由于OS自身包含了若干个层次,因此当在裸机上覆盖上OS后,便可获得一台功能显著增强,使用极为方便的多层扩充机器或多层虚机器。1.1.3推动操作系统发展
3、的主要动力1、 不断提高计算机资源的利用率(形成早期的批处理系统)2、 方便用户(形成了人机交互的分时系统或称为多用户系统)3、 器件的不断更新换代(微机OS由8位 16位 32位 )4、 计算机体系结构的不断发展(单处理OS机到多处理机OS;计算机网络出现后,又形成了网络操作系统)1.2 操作系统的发展过程 20世纪50年代中期出现了第一个简单的批处理系统。 20世纪60年代中期出现了多道程序批处理系统。1.2.1 无操作系统的计算机系统1. 人工操作方式由用户采用人工操作方式直接使用计算机硬件系统。2. 人工操作方式的缺点1、 用户独占全机2、 CPU等待人工操作3. 人机矛盾人工操作方式
4、严重降低了计算机资源的利用率。4. 脱机输入/输出技术方式(OffLine I/O)定义:程序和数据的输入和输出都是在外围机的控制下完成的,或者说,它们都是在脱离主机的情况下进行的。目的:为了解决人机矛盾及CPU和I/O设备之间速度不匹配的矛盾。优点:a、减少了CPU的空闲时间b、提高了I/O的速度1.2.2 单道批处理系统(Simple Batch Processing System)1. 单道批处理系统的处理过程 首先,由监督程序将磁带上的第一个作业装入内存,并把运行控制权交给该作业。当作业处理完成时,又把控制权交还给监督程序,再由监督程序把磁带上的第二个作业调入内存。计算机系统就这样自动
5、地一个作业一个作业地进行处理,直至磁带上的所有作业全部完成。 由于内存中始终只保持一道作业,故称为单道批处理系统。 单道批处理系统是在解决人机矛盾和CPU与I/O设备速度不匹配的矛盾的过程中形成的。 批处理系统旨在提高系统资源的利用率和系统吞吐量。2. 单道批处理系统的特征1、自动性2、顺序性3、单道性单道批处理系统是最早出现的一种OS,严格的说,它只能算作是OS的前身而并非是现在人们所理解的OS。1.2.3 多道批处理系统(Multiprogrammed Batch Processing System)1. 多道程序设计的好处1、 提高CPU的利用率2、 提高内存和I/O设备利用率3、 增加
6、系统吞吐量2后备队列在多道批处理系统中,用户所提交的作业都先存放在外存上并排成一个队列,称为“后备队列”。3. 多道批处理系统的特征1、多道性2、无序性3、调度性作业从提交给系统开始直至完成,需要经过以下两次调度a、 作业调度:按一定的作业调度算法,从外存的后备作业队列中,选择若干个作业调入内存。b、 进程调度:按一定的进程作业调度算法,从已在内存作业中选择一个作业,将处理机分配给它,使之执行。4. 多道批处理系统的优缺点1、 资源利用率高2、 系统吞吐量大系统吞吐量是指在单位时间内系统完成的总工作量。提高系统吞吐量的主要原因有两方面:a、 CPU和其他资源都保持忙碌状态。b、 仅当作业完成时
7、或运行不下去时才进行切换,系统开销小。3、 平均周转时间长作业的周转时间是指从作业进入系统开始,直至其完成并退出系统为止所经历的时间。4、 无交互能力5. 多道批处理系统需要解决的问题1、 处理机管理问题2、 内存管理问题3、 I/O管理问题4、 文件管理问题5、 作业管理问题6. 操作系统定义操作系统是一组控制和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合。1.2.4 分时系统(TimeSharing System)1. 推动分时系统形成和发展的主要动力用户需求。2. 用户需求具体表现在以下三个方面1、 人机交互2、 共享主机3、 便于用户上机3. 分时系
8、统的定义分时系统是指,在一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户通过自己的终端,以交互方式使用计算机,共享主机中的资源。4. 分时系统实现的关键问题实现分时系统最关键的问题是如何使用户能与自己的作业进行交互,即当用户在自己的终端上键入命令时,系统应能及时接受并及时处理该命令,再将结果返回给用户。1、 及时接受只须在系统中配置一个多路卡(多路卡的作用是使主机能同时接受各用户从终端上输入的数据),此外,还须为每个终端配置一个缓冲区,用来暂存用户键入的命令或数据。2、 及时处理人机交互的关键是使用户键入命令后,能及时控制自己的作业运行或修改自己的作业。a、 用户作业不先进入磁盘,
9、然后再调入内存,应直接进入内存b、 不允许一个作业长期占用处理机,直至它运行结束或出现I/O请求后,方才调度其它作业运行由上述两点,应该规定每个作业只运行一个很短的时间(例如0.1秒钟,通常把这段时间称为时间片),然后便暂停该作业地运行,并立即调度到下一个程序,如果在不长的时间(如3秒)内,能使所有的用户作业都执行一次(一个时间片的时间),便可使每个用户都能及时地与自己的作业交互,从而可使用户的请求得到及时地响应。5. 分时系统的特征1、 多路性(同时性)2、 独立性3、 及时性4、 交互性1.2.5 实时系统(RealTime System)实时系统是指系统能及时(或即时)响应外部事件的请求
10、,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致的运行。1. 应用需求1、 实时控制当把计算机用于生产过程的控制,以形成以计算机为中心的控制系统时,系统要求能实时采集现场数据,并对所采集的数据进行及时处理,进而自动地控制相应的执行机构,使某些参数(如温度、压力、方法等)能按预定的规律变化,以保证产品的质量和提高产量。通常把用于进行实时控制的系统称为实时系统2、 实时信息处理通常把用于对信息进行实时处理的系统称为实时信息处理系统该系统由一台或多台主机通过通信线路连接到成百上千个远程终端上,计算机接受从远程终端上发来的服务请求,根据用户提出的请求,对信息进行检索和处理,并在很短的时间
11、内为用户做出正确的回答。2. 实时任务在实时系统中必然存在着若干个实时任务,这些任务通常与某些个外部设备相关,能反应或控制相应的外部设备,因而带有某种程度的紧迫性。1、 按任务执行时是否呈现周期性变化来划分a、 周期性实时任务外部设备周期性地发出激励信号给计算机,要求它按照指定周期循环执行,以便周期性的控制某种外部设备。b、 非周期性实时任务外部设备所发出的激励信号并无明显的周期性,但都必须联系着一个截止时间。1、 开始截止时间任务在某时间以前必须开始执行2、 完成截止时间任务在某时间以前必须完成2、 根据对截至时间的要求来划分a、 硬实时任务b、 软实时任务1.3 操作系统的基本特性 操作系
12、统都具有并发、共享、虚拟和异步四个基本特征,其中,并发特征是OS最重要的特征,其他三个特征都是以并发为前提的。 进程和并发是现代OS中最重要的基本概念,也是OS运行的基础。 并发和共享是操作系统的两个最基本的特征。1.3.1 并发1. 并发性两个或多个时间在同一时间间隔内发生。在多道程序环境下,并发性是指在一段时间内,宏观上有多个程序在同时运行,但在单处理系统中,每一时刻却仅能有一道程序执行,故微观上这些程序是分时地交替执行。2. 并行性两个或多个事件在同一时刻发生。3. 注意 通常的程序是静态实体,它们不能并发执行。为使多个程序能并发执行,系统必须分别为每个程序建立进程,简单的说,进程是指在
13、系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令、数据和堆栈等组成的,是一个活动的实体。 80年代中期,人们提出了比进程更小的单位线程。因此,在引入了线程的OS中,通常都是把进程作为分配资源的基本单位,把线程作为独立运行的基本单位。4. 在操作系统中引入进程的目的为了使多个程序能够并发执行。1.3.2 共享1. 共享的定义共享是指系统中的资源可供内存中多个并发执行的进程(线程)共同使用。2. 两种资源共享方式1、互斥共享方式定义:当以个进程A要访问某资源时,必须先提出请求,如果此时该资源空闲,系统便可将之分配给请求进程A使用,此后若再有其他进程也要访问该资源时,只要A未用完,则必须
14、等待,仅当A进程访问完并释放该资源后,才允许另一进程对该资源进行访问。临界资源或独占资源:一段时间内只允许一个进程访问的资源。临界资源例子:打印机,磁带机,某些软件中的栈,变量和表格。2、同时访问方式定义:允许在一段时间内由多个进程“同时”对他们进行访问。这里的“同时”往往是宏观上的。允许同时访问方式的资源:最典型的就是磁盘设备,一些用重入码编写的文件。1.3.3 虚拟1. 虚拟的定义 操作系统中的虚拟是指通过某种技术把一个物理实体变为若干个逻辑上的对应物。 物理实体是实的,逻辑上的对应物是虚的,是用户感觉上的东西。2. 虚拟技术定义用于实现虚拟的技术称为虚拟技术。3. 虚拟处理机通过多道程序
15、设计技术,让多道程序并发执行,分时地使用一台处理机,使每个终端用户都认为是有一个CPU专门为他服务。即,利用多道程序设计技术,把一台物理上的CPU虚拟为多台逻辑上的CPU。4. 虚拟存储器利用虚拟技术,将一台机器的物理存储器变为虚拟存储器,从逻辑上扩充存储器的容量。使用户所感觉到的存储器容量比实际存储器容量大得多。5. 虚拟的实现方式 在OS中,虚拟的实现主要是通过分时使用的方法。 如果N是某物理设备所对应的虚拟的逻辑设备数,则虚拟设备的平均速度必然是物理设备速度的1/N 。1.3.4 异步性1. 异步性的定义由于资源等因素的限制,使进程的执行通常都不是“一气呵成”,而是以“走走停停”的方式运
16、行,也就是说进程是以人们不可预知的速度向前推进。1.4 操作系统的主要功能操作系统的主要任务为了多道程序的运行提供良好的运行环境,以保证多道程序能有条不紊、高效地运行,并能最大程度地提高系统中各种资源的利用率和方便用户的使用。1.4.1 处理机管理功能 对处理机的管理,可归结为对进程(线程)的管理。 处理机管理的主要功能1、创建和撤销进程(线程)2、对诸进程(线程)的运行进行协调3、实现进程(线程)之间的信息交换4、按照一定的算法把处理机分配给进程(线程)1进程控制 进程控制的主要功能是为作业创建进程、撤销已结束的进程,以及控制进程在运行过程中的状态转换。 在现代OS中,进程控制还应具有为一个
17、进程创建若干个线程的功能和撤销(终止)已完成任务的线程的功能。2进程同步 进程同步的主要任务为了多个进程(含线程)的运行进行协调。 协调的两种方式a、进程互斥方式诸进程(线程)在对临界资源进行访问时,应采用互斥方式。b、进程同步方式在相互合作去完成共同任务的诸进程(线程)间,由同步机构对它们的执行次序加以协调。 实现进程同步的方法(进程同步机制)最简单的机制是为每一个临界资源配置一把锁,当锁打开,进程(线程)可以对临界资源进行访问,锁关闭,则禁止进程(线程)访问临界资源。最常用的机制则是用信号量机制实现。3进程通信 在多道程序环境下,为了加速应用程序的运行,应在系统中建立多个进程,并且再为一个
18、进程建立若干个线程,由这些进程(线程)相互合作去完成一个共同的任务。 进程通信的任务实现在相互合作的进程之间的信息交换。 直接通信方式相互合作的进程(线程)处于同一计算机系统时,由源进程利用发送命令直接将消息挂到目标进程的消息队列上去,以后由目标进程利用接受命令从其他消息队列中取出消息。4调度 在传统的OS中,调度包括作业调度和进程调度。a、作业调度的任务从后备队列中按照一定的算法,选择若干个作业,为它们分配必要的资源(首先是分配内存)。在将它们调入内存后,便分别为他们建立进程,使它们都成为可能获得处理机的就绪进程,并按照一定的算法将它们插入到就绪队列。b、进程调度的任务从进程的就绪队列中选出
19、一新进程,把处理机分配给它,并为它设置运行现场,使进程投入运行。 在多线程OS中,通常是把线程作为独立运行和分配处理机的基本单位,为此,须把线程排成一个队列,每次调度时,是从就绪线程队列中选出一个线程,把处理机分配给它。1.4.2 存储器管理功能存储器管理的主要任务是为多道程序的运行提供良好的环境,方便用户使用存储器,提高存储器的利用率以及能从逻辑上扩充内存。1内存分配 内存分配的主要任务为每道程序分配内存空间,使它们“各得其所”,从而提高存储器的利用率,减少不可用的内存空间,允许正在运行的程序申请附加的内存空间,以适应程序和数据动态增涨的需求。 OS在实现内存分配时的两种方式a、静态在静态分
20、配方式中,每个作业的内存空间是在作业装入时确定的,在作业装入后的整个运行期间,不允许该作业再申请新的内存空间,也不允许作业在内存中“移动”。b、动态在动态分配方式中,每个作业所要求的基本内存空间,也是在装入时确定的,但允许作业在运行过程中,继续申请新的附加内存空间,以适应程序和数据的动态增涨,也允许作业在内存中“移动”。 实现内存分配的三种结构和功能a、内存分配数据结构该结构用于记录内存空间的使用情况,作为内存分配的依据。b、内存分配功能系统按照一定的内存分配算法,为用户程序分配内存空间。c、内存回收功能系统对于用户不再需要的内存,通过用户的释放请求,去完成系统的回收功能。2内存保护 内存保护
21、的主要任务确保每道用户程序都只在自己的内存空间内运行,彼此互不干扰。进一步说,绝不允许用户程序访问操作系统的程序和数据,也不允许转移到非共享的其他用户程序中去执行。 内存保护机制一种比较简单的内存保护机制是设置两个界限寄存器,分别用于存放正在执行程序的上界和下界。(越界检查都由硬件实现,对发生越界后的处理,则须与软件配合完成)3地址映射 地址映射的定义将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址。(由硬件实施) 一个应用程序的源代码经编译后,通常会形成若干个目标程序,这些目标程序再经过链接便形成了可装入程序。这些程序的地址都是从“0”开始的,程序中的其他地址都是相对于起始地址计算的
22、。 地址空间由上所述的地址形成的范围称为“地址空间”。 逻辑地址(相对地址)上述中的地址称为“逻辑地址”或“相对地址”。 内存空间内存中的一系列单元所限定的地址范围称为“内存空间”。 物理地址内存中的地址称为“物理地址”。4内存扩充内存扩充方式a、借助于虚拟存储技术,从逻辑上扩充内存容量,使用户所感觉到的内存容量比实际内存容量大很多。b、让更多的用户程序并发执行。1.4.3 设备管理功能设备管理的主要任务1、完成用户进程提出的I/O请求2、为用户进程分配其所需的I/O设备3、提高CPU和I/O设备的利用率4、提高I/O速度5、方便用户使用I/O1缓冲管理 CPU运行的高速性和I/O低速性之间的
23、矛盾自计算机诞生时起便已存在,为了有效地缓和CPU和I/O设备速度不匹配的矛盾,为了提高CPU的利用率,提高系统吞吐量,因此,在现代操作系统中,都毫无例外地在内存中设置了缓冲区,而且还可通过增加缓冲区容量的办法来改善系统的性能。 缓冲区机制最常见的缓冲区机制有单缓冲区机制、双缓冲区机制(能实现双向同时传送数据)、公用缓冲池机制(可供多个设备同时使用)。2设备分配 设备分配的基本任务根据用户进程的I/O请求、系统的现有资源情况以及按照某种设备分配策略,为之分配其所需的设备。 实现设备分配的办法1、在系统中设置设备控制表、控制器控制表等数据结构。(记录设备及控制器的标示符和状态,根据这些表格可以了
24、解指定设备当前是否可用,是否忙碌,以供进行设备分配时参考)。2、对于独占设备(临界资源)的分配,应考虑该设备被分配出去后,系统是否安全。3、设备用完后,应立刻由系统回收。3设备处理 设备处理程序又称为驱动程序。 设备处理程序的基本任务实现CPU和设备控制器之间的通信。即由CPU想设备控制器发出I/O命令,要求它完成指定的I/O操作,反之由CPU接收从控制器发来的中断请求,并给予迅速的响应和相应的处理。 设备处理的过程设备处理程序首先检查I/O请求的合法性,了解设备状态是否空闲,了解有关的传递参数及设置设备的工作方式,然后向设备控制器发出I/O命令,启动I/O设备区完成指定的I/O操作。设备驱动
25、程序应能及时响应由控制器发来的中断请求,并根据该中断请求的类型,调用相应的中断处理程序进行处理。对于设置了通道的计算机系统,设备处理程序应能根据用户的I/O请求,自动地构成通道程序。1.4.4 文件管理功能 在现代计算机管理中,用户使用的程序和数据都是以文件的形式存储在磁盘和磁带上。 文件管理的主要任务对用户文件和系统文件进行管理,以方便用户使用,并保证文件的安全性。1文件存储空间的管理 文件存储空间管理的主要任务为每个文件分配必要的外存空间,提高外存的利用率,有助于提高文件系统的运行速度。 文件存储空间管理的实现1、系统应设置相应的数据结构,用于记录文件存储空间的使用情况,以供分配存储空间时
26、做参考。2、系统应具有对存储空间进行分配和回收的功能。 为了提高存储空间的利用率,对存储空间的分配,通常采用离散分配方式,以减少外存零头,并以盘块为基本分配单位。盘块的大小通常为512B8KB。2目录管理 目录项包括文件名、文件属性、文件在磁盘上的物理位置等。 由若干个目录项可构成一个目录文件。 目录管理的主要任务1、为每个文件建立其目录项,并对众多目录项加以有效地组织,以实现方便的按名存取。即用户只须提高文件名,便可对该文件进行存取。2、实现文件共享。即只须在外存上保留一份该共享文件的副本。3、具有快速的目录查询手段,提高对文件的检索速度。3文件的读/写管理和保护1、文件的读/写管理定义:根
27、据用户的请求,从外存中读取数据,或者将数据写入外存。实现过程:在进行文件读写时,系统先根据用户给出的文件名,去检索文件目录,从中获得在外存中的位置,然后利用文件读写指针,对文件进行读写,一旦读写完成,便修改读写指针,为下一次读写做准备。(由于读和写操作不会同时进行,故可合用一个读写指针)2、文件保护实现文件保护的目标:a、防止未经核准的用户存取文件。b、防止冒名顶替存取文件。c、防止以不正确的方式使用文件。1.4.5 用户接口该接口通常以命令或者系统调用的形式呈现在用户面前,命令接口提供用户在键盘终端上使用,系统调用接口提供用户在编程时使用。在较晚出现的操作系统中,系统向用户还提供了图形接口。
28、1命令接口 用户可通过命令接口向作业发出命令直接或间接地控制自己作业的运行。 该命令接口可分联机用户接口和脱机用户接口。 联机用户接口l 该接口为联机用户提供,由一组键盘操作命令及命令解释程序组成。l 实现过程:当用户在终端或者控制台上每键入一条命令后,系统便立即转入命令解释程序,对该命令加以解释并执行该命令。在完成指定功能后,控制又返回到终端或控制台上,等待用户键入下一条命令,这样,用户可通过先后键入不同命令的方式,来实现对作业地控制,直至作业完成。 脱机用户接口l 该接口为批处理作业的用户提供,故也称为批处理用户接口。由一组作业控制语言JCL组成。l 批处理作业的用户不能直接与自己的作业交
29、互作用,只能委托系统代替用户对作业进行控制和干预。l 作业控制语言JCL是提供给批处理作业用户的、为实现所需功能而委托系统代为控制的一种语言。2程序接口 该接口是为用户程序在执行中访问系统资源而设置的,是用户程序取得操作系统服务的唯一途径。 程序接口是由一组系统调用组成的,每一个系统调用都是一个能完成特定功能的子程序,每当应用程序要求OS提供某种服务(功能)时,便调用具有相应功能的系统调用。3图形接口 图形用户接口采用了图形化的操作界面,用非常容易识别的各种图标来将系统的各项功能、各种应用程序和文件,直观、逼真的表示出来。用户可用鼠标或通过菜单和对话框,来完成对应用程序和文件的操作。 图形用户
30、接口可以方便地将文字、图形和图像集成在一个文件中。可以再文字型文件中加入一幅或多幅彩色图画,也可以再图画中写入必要的文字,而且还可进一步将图画、文字和声音集合在一起。1.5 操作系统的结构设计操作系统到目前为止经历的四代变革1、 第一代OS是无结构的操作系统。2、 第二代OS采用了模块化结构。3、 第三代是层次结构。4、 第四代(20世纪90年代中后期)微内核OS结构开始流行。1.5.1 软件工程的基本概念1. 软件的含义 软件:指当计算机运行时,能提供所要求的功能和性能的指令和程序的集合,该程序能够正确地处理信息的数据结构。 规范软件:在上述所定义的软件基础上还应具有描述程序功能需求以及程序
31、如何操作使用的文档。 硬件是物理部件,软件是逻辑部件,其两者特点的区别有三点1、软件是人的思想产物,看不见,摸不着。(一个软件是否正确,其性能如何,一般都是软件在机器上运行之后,才能知道。)2、硬件产品允许有误差,只要能达到规定的精度要求就算合格;而软件产品则不允许有误差。3、软件的维护要比硬件的维护复杂的多。2软件工程的含义 软件工程:运用系统的、规范的和可定量的方法,来开发、运行和维护软件。或者说,是采用工程的概念、原理、技术和方法,来开发与维护软件。 软件工程的目的:为了解决开发中所出现的编程随意、软件质量不可保证以及维护困难等问题。1.5.2 传统的操作系统结构传统的OS结构:第一代至
32、第三代OS结构。现代的OS结构:微内核OS结构。1. 无结构的OS 早期的OS是一组过程的集合,各过程之间可以相互调用,在操作系统内部不存在任何结构,因此,这种OS是无结构的,也可称为整体系统结构。 无结构的OS既庞大又杂乱,缺乏清晰的程序结构,这就导致一方面使所编制出的程序错误很多,给调剂工作带来很多困难;另一方面也使程序难以阅读和理解,增加了维护人员的负担。2. 模块化OS结构 模块化结构l 模块化程序设计技术,是最早(20世纪60年代)出现的一种程序设计技术。该技术是基于“分解”和“模块化”原则来控制大型软件的复杂度的。l 为使OS具有较清晰的结构,OS不再由众多的过程直接构成,而是将O
33、S按其功能划分为若干个具有一定独立性和大小的模块,每个模块具有某方面的管理功能。并规定好各模块之间的接口,使各模块之间能通过该接口实现交互,然后再进一步将各模块细分为若干个具有一定管理功能的子模块,同样也要规定各子模块之间的接口,若子模块较大时,再进一步将它细分。 模块化OS的优点1、提高了OS设计的正确性、可理解性和可维护性。在设计模块化OS时,尽可能使各个模块都具有“高内聚度和低耦合度”的特征。2、增强了OS的可适应性。3、加速了OS开发过程。 模块化OS的缺点1、在开始设计OS时,对模块的划分及对接口的规定并不精确,而且还可能存在错误,因而很难保证按此规定所设计出的模块会完全正确,这将使
34、在把这些模块装配成OS时发生困难。2、从功能观点来划分模块时,不能将共享资源和独占资源加以区别,由于管理上的差异,又会使模块间存在着复杂的依赖关系,使OS结构变得不清晰。3. 分层式OS结构 有序分层的基本概念l 背景:从改进设计方式上说,应使每一步设计都是建立在可靠的基础上。不难想象,我们可以从物理机器上开始,在其上面先添加具有一定功能的软件A1,由于A1是建立在完全确定的物理机器上的,在经过精心设计和几乎是穷尽无遗的测试后,可以认为A1是正确的,然后再在A1上添加一层新软件A2,如此一层一层地自底向上增添软件层,每一层都实现若干功能,最后总能构成一个能满足需要的OS。l 分层式结构设计的基
35、本原则是:每一层都仅使用其底层所提供的功能和服务,这样可使系统的调试和验证都变得容易。 层次的设置层次式结构设计的关键问题:一个OS应分为哪几个层次,应怎样确定各层次间的顺序。1、程序嵌套在划分OS层次时,首先要考虑在实现OS的每个功能时所形成的程序嵌套。2、运行频率为了提高OS的运行效率,应该将那些经常活跃的模块放在最接近硬件的A1层,如:时钟管理,进程调度。3、公用模块应把供多种资源管程程序调用的公用模块,设置在最低层,不然,会使比它低的层次模块由于无法调用它而须另外配置相应功能的模块。如:用于对信号量进行操作的原语signal和wait。4、用户接口命令接口、程序接口以及图形用户接口应设
36、置在OS的最高层,直接提供给用户使用。1.5.3 微内核OS结构微内核结构式20世纪90年代发展起来的,由于它能有效地支持多处理机运行,故非常适用于分布式系统环境。1. 客户/服务器模式(Client-Server Model) 基本概念为了提高OS的灵活性和可扩充性,将OS划分为两部分,一部分是用于提供各种服务的一组服务器(进程),所有的服务器(进程)都运行在用户态。操作系统的另一个部分是内核,用来处理客户和服务器之间的通信,即由内核来接受客户的请求,再将请求送至相应的服务器;同时它也接受服务器的应答,并将此应答回送给请求客户。 客户/服务器模式的优点1、提高了系统的灵活性和可可扩充性。2、
37、提高了OS的可靠性。3、可运行于分布式系统中。2. 面向对象的程序设计技术 面向对象技术的基本概念l 面向对象技术是20世纪80年代初提出并很快流行起来的。l 该技术是基于“抽象”和“隐蔽”原则来控制大型软件的复杂度。l 对象:是指在现实世界中具有相同属性、服从相同规则的一系列事物的抽象,而把其中的具体事物称为对象的实例。l 在面向对象的技术中,是利用被封装的数据结构和一组对它进行操作的过程来表示系统中的某个对象的。 面向对象技术的优点1、可修改性和可扩充性。2、继承性。3、正确性和可靠性。3. 微内核技术 微内核技术的引入l 20世纪70年代以后,由于大规模集成电路技术的高速发展以及人们对OS的要求越来越高,导致了OS的规模迅速膨胀,使得OS的开发、维护和移植都变得十分困难。为了减少的复杂性、增强OS的可扩展性和可维护性而产生了微内核技术。l 微内核技术:是指精心设计的、能实现现代OS核心功能的小型内核。 微内核的基本功能1、进程管理2、存储器管理3、进程通信管理4、I/O设备管理由于微内核OS结构是建立在模块化、层次化结构的基础上的,并采用了客户/服务器模式和面向对象的程序设计技术,即微内核集各种技术优点之大成,因而使之成为当今最有发展前途的OS结构,并必将成为21世纪初的主流OS结构。
限制150内