1、目录第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课后习题详解
2、9.3考研真题详解第10章多处理机操作系统10.1复习笔记10.2课后习题详解10.3考研真题详解第11章多媒体操作系统11.1复习笔记11.2课后习题详解11.3考研真题详解第12章保护和安全12.1复习笔记12.2课后习题详解12.3考研真题详解第1章操作系统引论1.1复习笔记一、操作系统的目标和作用1操作系统的目标(1)方便性。(2)有效性。(3)可扩充性。(4)开放性。2操作系统的作用(1)OS作为用户与计算机硬件系统之间的接口。(2)OS作为计算机系统资源的管理者。(3)OS实现了对计算机资源的抽象。二、操作系统的发展过程1未配置操作系统的计算机系统(1)人工操作方式。(2)脱机输入
3、/输出方式。2单道批处理系统3多道批处理系统多道批处理系统特征:多道、宏观上并行、微观上串行。4分时系统分时系统的特征:多路性、独立性、及时性、交互性。5实时系统(1)实时系统的类型 工业(武器)控制系统,如火炮的自动控制系统、飞机的自动驾驶系统,以及导弹的制导系统等。 信息查询系统,如飞机或火车的订票系统等。 多媒体系统。 嵌入式系统。(2)实时系统最主要的特征便是及时性与可靠性。6微机操作系统的发展微机操作系统按运行方式分为以下几类:(1)单用户单任务操作系统。(2)单用户多任务操作系统。(3)多用户多任务操作系统。三、操作系统的基本特性1并发(Concurrence)区分并行与并发(1)
4、并行性是指两个或多个事件在同一时刻发生;(2)并发性是指两个或多个事件在同一时间间隔内发生。2共享(Sharing)目前实现资源共享的主要方式有以下两种:(1)互斥共享方式。(2)同时访问方式。3虚拟(Virtual)4异步(Asynchronism)并发和共享是多用户(多任务)OS的两个最基本的特征。四、操作系统的主要功能1处理机管理功能对处理机的管理可归结为对进程的管理。处理机管理的主要功能有:(1)进程控制。(2)进程同步。(3)进程通信。(4)调度。2存储器管理功能(1)内存分配。(2)内存保护。(3)地址映射。(4)内存扩充。3设备管理功能(1)缓冲管理。(2)设备分配。(3)设备处
5、理。4文件管理功能(1)文件存储空间的管理。(2)目录管理。(3)文件的读/写管理和保护。5操作系统与用户之间的接口(1)用户接口用户接口进一步分为联机用户接口、脱机用户接口和图形用户接口三种。(2)程序接口程序接口是由一组系统调用组成的,每一个系统调用都是一个能完成特定功能的子程序。6系统调用(1)系统调用又被称为广义指令。(2)系统调用的相关处理都是在核心态下进行。(3)系统调用按功能分类为:设备管理、文件管理、进程控制、进程通信、内存管理。五、操作系统的运行环境1内核态与用户态(1)操作系统的内核是计算机上配置的底层软件,是操作系统最基本、最核心的部分。(2)操作系统内核的核心功能包括时
6、钟管理,中断处理,原语,进程管理,存储器管理,设备管理。(3)用户态也叫做目态,核心态也叫做管态。2操作系统的指令分为特权指令和非特权指令。(1)特权指令是只能由操作系统才能执行的指令,如I/O指令、内存清零指令,只能在核心态下执行。(2)非特权指令是用户可以去执行的指令,在用户态下执行。3中断与异常(1)中断分为内中断和外中断。其中,内中断信号的来源是CPU内部,与当前执行指令的有关;外中断信号的来源是CPU外部,与当前执行指令的无关。(2)内中断也称为异常或者陷入(trap)。(3)外中断就是狭义上的中断。(4)中断可以使CPU从用户态切换为核心态。六、微内核OS结构(1)基本概念微内核并
7、非是一个完整的OS,而只是将操作系统中最基本的部分放入微内核,微内核通常包含以下几部分: 与硬件处理紧密相关的部分; 一些较基本的功能; 客户和服务器之间的通信。(2)微内核的基本功能 进程(线程)管理。 低级存储器管理。 中断和陷入处理。(3)微内核操作系统的优点更多各类考试资料 v:344647 公众号:顺通考试资料 提高了系统的可扩展性。 增强了系统的可靠性。 可移植性强。 提供了对分布式系统的支持。 融入了面向对象技术。(4)微内核操作系统存在的问题微内核OS存在着潜在的缺点。其中最主要的是,较之早期OS,微内核OS的运行效率有所降低。1.2课后习题详解1设计现代OS的主要目标是什么?
8、答:在计算机系统上配置操作系统的主要目标是方便性、有效性、可扩充性和开放性。(1)方便性配置操作系统后,系统可以使用编译命令将用户采用高级语言书写的程序翻译成机器代码,用户可以直接通过OS所提供的各种命令操纵计算机系统,使计算机变得易学易用。(2)有效性 提高系统资源利用率能有效分配各种设备的工作状态,提高系统资源的利用率。 提高系统的吞吐量OS可以通过合理地组织计算机的工作流程,加速程序的运行,缩短程序的运行周期,从而提高系统的吞吐量。(3)可扩充性OS必须具有很好的可扩充性,才能适应计算机硬件、体系结构以及应用发展的要求。(4)开放性开放性是指系统能遵循世界标准规范,特别是遵循开放系统互连
9、(OSI)国际标准。开放性是衡量一个新推出系统或软件能否被广泛应用的至关重要的因素。2OS的作用可表现在哪几个方面?答:OS的作用可表现在以下3个方面:(1)OS作为用户与计算机硬件系统之间的软件接口OS处于用户与计算机硬件系统之间,用户通过OS来使用计算机系统。(2)OS作为计算机系统资源的管理者在计算机系统中,通常都包含硬件和软件资源,归纳起来可将资源分为4类:处理器、存储器、I/O设备以及信息(数据和程序)。相应地,OS的主要功能也正是针对这4类资源进行有效的管理。为了管理好这些共享资源(包括硬件和信息)的使用,操作系统必须记录下各种资源的使用情况,对使用资源的请求进行授权,协调诸用户对
10、共享资源的使用,避免发生冲突,并计算使用资源的费用等。(3)OS实现了对计算机资源的抽象在裸机上覆盖上一层I/O设备管理软件得到扩充机器(虚拟机),它向用户(进程)提供了一个对硬件操作的抽象模型,用户可利用抽象模型提供的接口使用计算机,而无需了解物理接口实现的细节,从而使用户更容易地使用计算机硬件资源。3为什么说OS实现了对计算机资源的抽象?答:OS是铺设在计算机硬件上的多层系统软件,它不仅增强了系统的功能,而且还隐藏了对硬件操作的细节,实现了对计算机硬件操作的多个层次的抽象。(1)在裸机上覆盖上一层I/O设备管理软件,由它来实现对I/O设备操作的细节,并向上提供一组I/O命令,用户可利用它来
11、进行数据输入或输出,而无需关心I/O是如何实现的。该软件实现了对计算机硬件操作的第一层次的抽象。(2)在第一层次的抽象上再覆盖上一层用于文件的管理软件,同样由它来实现文件操作的细节,并向上提供一组对文件进行存取操作的命令,用户可利用这组命令进行文件的存取。该层软件实现了对硬件资源操作的第二层次的抽象。4试说明推动多道批处理系统形成和发展的主要动力是什么。答:不断提高计算机资源的利用率和系统吞吐量是推动多道批处理系统形成和发展的主要动力。5何谓脱机I/O和联机I/O?答:(1)脱机I/O为了解决人机矛盾及CPU和I/O设备之间速度不匹配的矛盾,20世纪50年代末出现了脱机输入/输出(Off-Li
12、ne I/O)技术。该技术是事先将装有用户程序和数据的纸带(或卡片)装入纸带输入机(或卡片机),在一台外围机的控制下,把纸带(卡片)上的数据(程序)输入到磁带上。当CPU需要这些程序和数据时,再从磁带上将其高速地调入内存。类似地,当CPU需要输出时,可由CPU直接高速地把数据从内存送到磁带上,然后再在另一台外围机的控制下,将磁带上的结果通过相应的输出设备输出。即脱机I/O方式指的是程序和数据的输入和输出都是在外围机的控制下完成的,或者说,它们是在脱离主机的情况下进行的。(2)联机I/O和脱机I/O方式相反,联机I/O方式指的是在主机的直接控制下进行输入/输出的方式。6试说明推动分时系统形成和发
13、展的主要动力是什么?答:进一步提高计算机资源的利用率、更好的满足人机交互是推动分时系统形成和发展的主要动力。7实现分时系统的关键问题是什么?应如何解决?答:(1)实现分时系统的关键问题是如何使用户能与自己的作业进行交互,即当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令,再将结果返回给用户。(2)解决方案 及时接收问题针对及时接收问题,解决办法是在系统中配置一个多路卡,多路卡的作用是使主机能同时接收不同用户从终端上输入的数据。此外,还须为每个终端配置一个缓冲区,用来暂存用户键入的命令(或数据)。 及时处理问题针对及时处理问题,各个用户的作业应该直接进入内存,并且规定每个作业只运
14、行一个很短的时间片,然后暂停该作业的运行,并立即调度下一个作业运行。8为什么要引入实时OS?答:引入实时OS是为了满足实时应用的需求,更好地满足实时控制领域和实时信息处理领域的需要。9什么是硬实时任务和软实时任务?试举例说明。答:在实时操作系统中,根据对截止时间的要求来分类,实时任务可分为硬实时任务和软实时任务两种。(1)硬实时任务及其举例硬实时任务是系统必须满足任务对截止时间的要求,否则可能出现难以预测的结果,在一些高科技领域,如运载火箭的控制等。(2)软实时任务及其举例软实时任务是它也联系着一个截止时间,但并不严格,若偶尔错过了任务的截止时间,对系统产生的影响也不会太大,比如网页的更新等。
15、10 试从交互性、及时性以及可靠性方面将分时系统与实时系统进行比较。答:(1)交互性实时信息处理系统虽然也具有交互性,但这里人与系统的交互仅限于访问系统中某些特定的专用服务程序。它不像分时系统那样能向终端用户提供数据处理和资源共享等服务。(2)及时性实时信息处理系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定的;而实时控制系统的及时性,则是以控制对象所要求的开始截止时间或完成截止时间来确定的,一般为秒级到毫秒级,甚至有的要低于100微秒。(3)可靠性分时系统虽然也要求系统可靠,但相比之下,实时系统对可靠性的要求更高。因为任何差错都可能带来巨大的经济损失,甚至是无法预料的灾难性
16、后果,所以在实时系统中,往往都采取了多级容错措施来保障系统的安全性及数据的安全性。11 OS有哪几大特征?其最基本的特征是什么?答:(1)操作系统具备四种共同的基本特征,即并发、共享、虚拟和异步。(2)并发和共享是OS两大最基本的特征。12 在多道程序技术的OS环境下的资源共享与一般情况下的资源共享有何不同?对独占资源应采取何种共享方式?答:(1)OS环境下与一般情况下的资源共享间的不同点 一般情况下的共享一般情况下的共享只是说明某种资源能被大家使用,对于这样的资源共享方式,只要通过适当的安排,用户之间并不会产生对资源的竞争,因此资源管理是比较简单的。 OS环境下的共享OS环境下的资源共享或称
17、为资源复用,是指系统中的资源可供内存中多个并发执行的进程共同使用。这里在宏观上既限定了时间(进程在内存期间),也限定了地点(内存)。对于这种资源共享方式,其管理就要复杂得多,因为系统中的资源少于多道程序需求的总和,会形成它们对共享资源的争夺。所以,系统必须对资源共享进行妥善管理。(2)独占资源应采取的共享方式对独占资源应采用互斥共享方式,该共享方式仅当占有该资源的进程访问并释放资源后,才允许另一进程对该资源进行访问。13 什么是时分复用技术?举例说明它能提高资源利用率的根本原因是什么。答:(1)时分复用技术是将不同的信号相互交织在不同的时间段内,沿着同一个信道传输;在接收端再用某种方法,将各个
18、时间段内的信号提取出来还原成原始信号的通信技术。这种技术可以在同一个信道上传输多路信号。(2)时分复用技术能提高资源利用率的根本原因在于,它利用某设备为一用户服务的空闲时间,又转去为其他用户服务,使设备得到最充分的利用。14 是什么原因使操作系统具有异步性特征?答:由于各用户程序性能的不同,不同程序对内存的使用开始时间、结束时间、中断时间是不可预知的,或者说,进程是以人们不可预知的速度向前推进,导致了进程的异步性。15 处理机管理有哪些主要功能?其主要任务是什么?答:处理机管理的主要功能是进程控制、进程同步、进程通信和调度。(1)进程控制为作业创建进程,并为之分配必要的资源;进程结束时撤销进程
19、,及时回收该进程所占用的各类资源;以及控制进程在运行过程中的状态转换。(2)进程同步为多个进程(含线程)的运行进行协调,协调分为进程互斥方式和进程同步方式。(3)进程通信用来实现在相互合作的进程之间的信息交换。(4)处理机调度在后备队列上等待的每个作业都必须经过调度才能执行,在传统的操作系统中,包括作业调度和进程调度两步。 作业调度从后备队里按照一定的算法,选择出若干个作业,为它们分配运行所需的资源(首先是分配内存)。 进程调度从进程的就绪队列中,按照一定算法选出一个进程,把处理机分配给它,并为它设置运行现场,使进程投入执行。16 内存管理有哪些主要功能?其主要任务是什么?答:内存管理的主要功
20、能有内存分配、内存保护、地址映射和内存扩充。(1)内存分配内存分配的主要任务是为每道程序分配内存空间,使它们“各得其所”;提高存储器的利用率,减少不可用的内存空间;允许正在运行的程序申请附加的内存空间,以适应程序和数据动态增长的需要。(2)内存保护内存保护的主要任务是确保每道用户程序都只在自己的内存空间内运行,彼此互不干扰;绝不允许用户程序访问操作系统的程序和数据;也不允许用户程序转移到非共享的其他用户程序中去执行。(3)地址映射为使程序能正确运行,存储器管理必须提供地址映射功能,以将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址,该功能应在硬件的支持下完成。(4)内存扩充借助于虚拟存
21、储技术,从逻辑上去扩充内存容量,使用户所感觉到的内存容量比实际内存容量大得多,以便让更多的用户程序并发运行。17 设备管理有哪些主要功能?其主要任务是什么?答:设备管理的主要功能有缓冲管理、设备分配和设备处理。设备管理的主要任务是完成用户进程提出的I/O请求,为用户进程分配其所需的I/O设备;提高CPU和I/O设备的利用率;提高I/O设备处理速度;方便用户使用I/O设备。18 文件管理有哪些主要功能?其主要任务是什么?答:文件管理主要功能有文件存储空间的管理、目录管理、文件的读/写管理和保护。文件管理的主要任务是对用户文件和系统文件进行管理,以方便用户使用,并保证文件的安全性。19 试说明推动
22、传统OS演变为现代OS的主要因素是什么?答:推动传统OS演变为现代OS的主要因素如下:(1)不断提高计算机资源的利用率在计算机发展初期,计算机系统特别昂贵,因此,必须千方百计地提高计算机各种资源的利用率,这是OS最初发展的推动力。(2)方便用户当资源利用率不高的问题得到基本解决后,用户在上机、调试程序时的不方便性又成为了继续推动OS发展的主要因素。(3)器件的不断更新换代随着微机芯片的不断更新换代,使得计算机的性能快速提高,从而推动了OS功能和性能的迅速增强和提高。(4)计算机体系结构的不断发展计算机体系结构的发展,不断推动着OS的发展,也促进了新的OS类型的产生。(5)不断提出新的应用需求不
23、断提出的新的应用需求是推动OS迅速发展的另一个重要原因。20 什么是微内核OS?答:微内核操作系统结构是20世纪80年代后期发展起来的。它能有效地支持多处理机运行,非常适用于分布式系统环境,微内核OS主要有以下四个方面的特征:(1)足够小的内核能实现现代OS最基本的核心功能的部分,微内核并非是一个完整的OS,而只是操作系统中最基本的部分。(2)基于客户/服务器模式将操作系统中最基本的部分放入内核中,而把操作系统的绝大部分功能都放在微内核外面的一组服务器(进程)中实现。(3)应用“机制与策略分离”原理在传统的OS中,将机制放在OS的内核的较低层,把策略放在内核的较高层次中。而在微内核操作系统中,
24、通常将机制放在OS的微内核中。正因为如此,才有可能将内核做得很小。(4)采用面向对象技术确保操作系统的“正确性”“可靠性”“易修改性”“易扩展性”等,并提高操作系统的设计速度。21 微内核操作系统具有哪些优点?它为何能有这些优点?答:(1)微内核操作系统的优点 提高了系统的可扩展性。 增强了系统的可靠性。 可移植性强。 提供了对分布式系统的支持。 融入了面向对象技术。(2)微内核操作系统具有上述优点的原因微内核OS结构是建立在模块化、层次化结构的基础上的,并采用了客户/服务器模式和面向对象的程序设计技术。22 现代操作系统较之传统操作系统又增加了哪些功能和特征?答:(1)现代操作系统增加的功能
25、传统的OS具有处理机管理、存储器管理、设备管理、文件管理和提供友好的用户接口这五大功能,现代OS中还增加了面向安全、面向网络和面向多媒体等功能。(2)现代操作系统增加的特征现代操作系统较传统的多道批处理系统、实时操作系统以及分时操作系统增加 并发性、资源共享性、虚拟性和异步性四大特征。23 在微内核OS中,为什么要采用客户/服务器模式?答:由于客户/服务器模式具有数据的分布处理和存储;便于集中管理;灵活性和可扩充性;易于改编应用软件等优点。故在单机微内核操作系统中几乎无一例外地都采用客户/服务器模式,将操作系统中最基本的部分放入内核中,而把操作系统的绝大部分功能都放在微内核外面的一组服务器(进
26、程)中实现。24 在基于微内核结构的OS中,应用了哪些新技术?答:在设计微内核OS时,采用了面向对象的技术,其中的“封装”,“继承”,“对象类”和“多态性”,以及在对象之间采用消息传递机制等,都有利于提高系统的“正确性”“可靠性”“易修改性”“易扩展性”,而且还能显著地减少开发系统所付出的开销。25 何谓微内核技术?在微内核中通常提供了哪些功能?答:(1)微内核技术的定义把操作系统中更多的成分和功能放到更高的层次(即用户模式)中去运行,而留下一个尽量小的内核,用它来完成操作系统最基本的核心功能,这种技术被称为微内核技术。(2)微内核技术提供的功能在微内核中通常提供了进程(线程)管理、低级存储器
27、管理、中断和陷入处理功能。1.3考研真题详解1在单处理机系统中,可并行的是()。2009年统考进程与进程处理机与设备处理机与通道设备与设备A、和B、和C、和D、和IVD【答案】单处理机即只有一个处理机(此处不包含多核的情况),某时刻处理机只能执行一个进程,所以进程与进程之间不能并行执行。处理机、通道、设备都能并行执行,比如同时打印(设备)、计算(处理机)、传输数据(通道控制内存与外存间数据交换)。换个角度来想,进程的执行必须要依赖处理机,而一个处理机同时只能处理一个进程,所以单处理机系统中进程就不可以并行;而其他选项依赖的是不同部件,因此可以并行。明确一个概念,即使是采用了多道程序设计技术的系
28、统,只要是单【解析】处理机,进程就不可以并行,而只是并发。因此如果题目改成“采用多道程序设计技术的单处理机系统”,答案依然不变。2举例说明为什么操作系统起到了扩展机器的作用?北大2004年研答:把真实的硬件情况在程序员面前隐藏起来,而表现为一组友好的、简单的、可以被读/写的命名文件的程序就是操作系统。就如同隐藏磁盘硬件,表现为一个简单的面向文件的接口一样,操作系统还隐藏了很多令人厌烦的中断、定时器、内存管理以及其他一些底层特性。在这种情况下,操作系统所提供的对硬件的抽象更简单,更容易使用。例如,对于最基本的命令read与write,每个read及write命令都需要13个参数,这些参数被组合在
29、一个9字节的数据中。这些参数给出了需要读的磁盘块的地址、每磁道的扇区数、物理介质上所使用的记录模式、扇区间的间隔以及遇到数据删除标志时需要做些什么。当操作完成的时候,控制芯片会返回23个状态以及错误码,它们会被组合到7个字节长的数据中。不仅如此,编写软盘驱动程序的程序员还必须随时留意驱动器的电动机是开着的还是关着的。如果电动机是关着的,在读/写数据前,它必须被打开(伴随很长一段启动延时)。电动机也不能长时间开着,否则会使软磁盘因磨损过度而损坏。这就要求程序员必须在长启动延时及磁盘磨损度(磨损会使磁盘上的数据丢失)之间寻找一种平衡。这对程序员来说是非常困难的。程序员所想要的,是一种简单的、高级的
30、抽象。对于这一问题,一个典型的抽象就是磁盘上包含一组已被命名的文件,每一个文件都可能被打开来写或读,最后,文件会被关闭。诸如记录信息是否需要调整频率、电动机的当前状态等细节问题在这一抽象中就不会再出现在用户的面前。在这种观点中,操作系统的功能在用户面前就等同于是一台扩展了的机器或者说是虚拟的机器,它使得在硬件上面的编程更加容易。第2章进程的描述与控制2.1复习笔记一、前趋图和程序执行1前趋图(1)定义前趋图是指一个有向无循环图,可记为DAG,它用于描述进程之间执行的先后顺序。(2)图形表示前趋图如图2-1所示。图2-1前趋图2程序的执行(1)程序顺序执行时的特征 顺序性。 封闭性。 可再现性。
31、(2)程序并发执行时的特征 间断性。 失去封闭性。 不可再现性。二、进程的描述1进程的定义和特征(1)进程的定义对于进程的定义,从不同的角度可以有不同的定义,其中较典型的定义有: 进程是程序的一次执行。 进程是一个程序及其数据在处理机上顺序执行时所发生的活动。 进程是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。(2)进程的特征 动态性动态性是进程的最基本的特征。 并发性。 独立性。 异步性。(3)进程实体通常,进程实体由程序控制块(PCB)、程序段、数据段三部分组成。2进程的状态及转换(1)进程有三种基本状态:就绪状态、执行状态、阻塞(等待)状态。图
32、2-2示出了基本状态的转换图。图2-2进程的三种基本状态及转换(2)引入进程的创建状态和终止状态后,图2-3示出了进程的五种状态及转换关系图。图2-3进程的五种状态及转换3挂起操作和进程状态的转换(1)当挂起操作作用于某个进程时,该进程将被挂起,意味着此时该进程处于静止状态。如果进程正在执行,它将暂停执行。若原本处于就绪状态,则该进程此时暂不接受调度。与挂起操作对应的操作是激活操作。(2)引入挂起原语操作后三个进程状态的转换 活动就绪静止就绪。 活动阻塞静止阻塞。 静止就绪活动就绪。 静止阻塞活动阻塞。(3)引入挂起操作后五个进程状态的转换如图2-4所示。图2-4具有创建、终止和挂起状态的进程
33、状态图4进程控制块(PCB)(1)概念PCB是一记录型数据结构,它作为进程实体的一部分,记录了操作系统所需的、用于描述进程的当前情况以及管理进程运行的全部信息。(2)进程控制块中的信息(3)进程控制块的组织方式 线性方式。 链接方式。 索引方式。三、进程控制进程控制是进程管理中最基本的功能,主要包括创建新进程、终止已完成的进程、将因发生异常情况而无法继续运行的进程置于阻塞状态、负责进程运行中的状态转换等功能。四、进程同步1进程同步的基本概念(1)进程同步机制的主要任务对多个相关进程在执行次序上进行协调,使并发执行的诸进程之间能按照一定的规则(或时序)共享系统资源,并能很好地相互合作,从而使程序
34、的执行具有可再现性。(2)临界资源一次仅允许一个进程使用的资源称为临界资源。(3)临界区将在每个进程中访问临界资源的那段代码称为临界区。(4)同步机制应遵循的规则 空闲让进。 忙则等待。 有限等待。 让权等待。2硬件同步机制(1)关中断。(2)利用Test-and-Set指令实现互斥。(3)利用Swap指令实现进程互斥。3信号量机制(1)整型信号量 定义把整型信号量定义为一个用于表示资源数目的整型量S。 描述通过两个标准的原子操作wait(S)和signal(S)来访问S,两个操作一直被分别称为P、V操作。wait和signal操作可描述如下:wait(S) while(Svalue-; if
35、(S-valuelist);signal(semaphore *S) S-value+; if(S-valuelist);4经典同步问题-生产者-消费者问题问题描述:一组生产者进程和一组消费者进程共享一个初始为空、大小为n个单元的缓冲区。只有当缓冲区没满时,生产者才可以把消息放入缓冲区,否则必须等待;只有当缓冲区不空时,消费者才可以从中取出消息,否则必须等待。由于缓冲区是临界资源,只允许一个生产者放入消息或者一个消费者从中取出消息,不允许同时访问缓冲区。信号量设置:定义信号量mutex为互斥信号量,初值为1,用于表示互斥访问缓冲区;信号量empty用于表示当前缓冲区中可用空间大小,初值为n;信
36、号量full用于表示当前缓冲区中已用空间大小,初值为0。程序描述:semaphore mutex=1;semaphore empty=n;semaphore full=0;producer() /生产者进程 while(true) /生产一个消息 p(empty); /申请缓冲区中的一个空单元 p(mutex); /申请访问缓冲区 /将消息放入缓冲区 v(mutex); /释放互斥信号量 v(full); /缓冲区中满单元数加一 consumer() /消费者进程 while(true) p(full); /申请从缓冲区中的满单元取出消息 p(mutex); /申请访问缓冲区 /将消息取出缓冲
37、区 v(mutex); /释放互斥信号量 v(empty); /缓冲区中空单元数加一 5管程机制(1)定义一个管程定义了一个数据结构和能为并发进程所执行(在该数据结构上)的一组操作,这组操作能同步进程和改变管程中的数据。(2)组成 管程的名称; 局部于管程的共享数据结构说明; 对该数据结构进行操作的一组过程; 对局部于管程的共享数据设置初始值的语句。五、进程通信1进程通信的概念(1)进程通信的定义进程通信是指进程之间的信息交换。(2)进程通信的分类进程通信可分为高级进程通信和低级进程通信两种。2高级进程通信的类型(1)共享存储器系统 基于共享数据结构的通信方式。 基于共享存储区的通信方式。(2
38、)管道通信系统(3)消息传递系统(Message passing system) 直接通信方式。 问接通信方式。(4)客户机-服务器系统(Client-Server system)六、线程的基本概念1线程的引入(1)进程的两个基本属性 进程是一个可拥有资源的独立单位; 进程同时又是一个可独立调度和分派的基本单位。(2)线程引入原因减少程序并发执行所需付出的时空开销,使操作系统具有更好的并发性。2线程与进程的比较(1)调度的基本单位 在传统的OS中,进程是作为独立调度和分派的基本单位,因而进程是能独立运行的基本单位。 而在引入线程的OS中,已把线程作为调度和分派的基本单位,因而线程是能独立运行的
39、基本单位。(2)并发性不同进程之间、在一个进程中的多个线程之间或者不同进程中的线程之间都能并发执行。(3)拥有资源 进程是系统中拥有资源的一个基本单位。 线程本身并不拥有系统资源,而是仅有一点必不可少的、能保证独立运行的资源。(4)独立性在同一进程中的不同线程之间的独立性要比不同进程之间的独立性低得多。(5)系统开销 创建或撤消进程时所付出的开销明显大于线程创建或撤消时所付出的开销。 线程的切换代价也远低于进程的切换代价。3线程的状态和线程控制块(1)线程运行的三个状态:执行状态,就绪状态,阻塞状态。(2)线程控制块TCB线程控制块通常有这样几项信息: 线程标识符; 一组寄存器; 线程运行状态
40、; 优先级; 线程专有存储区; 信号屏蔽; 堆栈指针。【说明】在多线程OS中,线程作为独立运行(或称调度)的基本单位;而进程仍是资源分配的基本单位。七、线程的实现方式1内核支持线程KST2用户级线程ULT3组合方式组合方式下包括三种不同的模型,如图2-5所示。图2-5多线程模型2.2课后习题详解1什么是前趋图?为什么要引入前趋图?答:(1)前趋图的定义前趋图是一个有向无循环图,记为DAG,用于描述进程之间执行的前后关系。图中的每个结点可用于描述一个程序段或进程,乃至一条语句;结点间的有向边则用于表示两个结点之间存在的偏序或前趋关系。(2)引入前趋图的原因引入前趋图可以形象的表示进程之间的前后关
41、系和顺序,可以更好地描述程序的顺序和并发执行情况。2试画出下面四条语句的前趋图:S1:a=x+y;S2:b=z+1;S3:c=a-b;S4:w=c+1;答:S3语句中的操作涉及S1中的a和S2中的b,因此,S3的前趋是S1和S2;S4中的语句涉及S3中的c,因此,S4的前趋是S3,所以画出前趋图如图2-6所示。图2-6前趋图3为什么程序并发执行会产生间断性特征?答:程序在并发执行时,由于它们共享系统资源,以及为完成同一项任务而相互合作,致使在这些并发执行的程序之间,形成了相互制约的关系,从而产生间断性特征。简而言之,相互制约将导致并发程序具有“执行-暂停-执行”这种间断性的活动规律。4程序并发
42、执行时为什么会失去封闭性和可再现性?答:程序在并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态将由多个程序来改变,致使程序的运行失去了封闭性。这样,某程序在执行时,必然会受到其他程序的影响,而这也将导致其再失去可再现性,亦即程序经过多次执行后,虽然它们执行时的环境和初始条件相同,但得到的结果却各不相同。5在操作系统中为什么要引入进程的概念?它会产生什么样的影响?答:(1)引入进程的原因在多道程序环境下,程序的执行属于并发执行,此时它们将失去其封闭性,并具有间断性及不可再现性的特征。这决定了通常的程序是不能参与并发执行的,因为程序执行的结果是不可再现的。这样,程序的运行也就失去了意
43、义。为使程序能并发执行,且为了对并发执行的程序加以描述和控制,人们引入了“进程”的概念。(2)引入进程的影响进程的引入使程序的并发执行得以实现。6试从动态性、并发性和独立性上比较进程和程序。答:(1)动态性进程的实质是进程实体的一次执行过程,因此,动态性是进程的最基本的特征。动态性还表现在:“它由创建而产生,由调度而执行,由撤销而消亡”。可见,进程实体有一定的生命期,而程序则只是一组有序指令的集合,并存放于某种介质上,其本身并不具有运动的含义,因而是静态的。(2)并发性这是指多个进程实体共同存于内存中,且能在一段时间内同时运行。并发性是进程的重要特征,同时也成为OS的重要特征。引入进程的目的也
44、正是为了使其进程实体能和其他进程实体并发执行;而程序(没有建立PCB)是不能并发执行的。(3)独立性在传统的OS中,进程是一个能独立运行、独立分配资源和独立接受调度的基本单位,具有高度的独立性。但凡未建立PCB的程序都不能作为一个独立的单位参与运行。7试说明PCB的作用具体表现在哪几个方面,为什么说PCB是进程存在的唯一标识?答:(1)PCB作用的具体表现 进程控制块PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构。 PCB中记录了操作系统所需的、用于描述进程的当前情况以及控制进程运行的全部信息。 进程控制块使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基
45、本单位,一个能与其他进程并发执行的进程。(2)PCB是进程存在的唯一标识的原因在进程的整个生命期中,系统总是通过PCB对进程进行控制,即系统是根据进程的PCB而非其他感知到该进程的存在的。所以说,PCB是进程存在的唯一标识。8PCB提供了进程管理和进程调度所需要的哪些信息?答:在进程控制块中,主要包括下述四个方面的信息:(1)进程标识符:进程标识符用于唯一标识一个进程。(2)处理机状态:处理机状态信息也称为处理机的上下文,主要由处理机的各种寄存器中的内容组成。(3)进程调度信息:进程调度信息包括进程状态、进程优先级、进程调度所需的其他信息、事件四个方面。(4)进程控制信息:进程控制信息包括程序
46、和数据的地址、进程同步和通信机制、资源清单和链接指针。9进程控制块的组织方式有哪几种?答:(1)线性方式:将系统中所有的PCB都组织在一张线性表中,将该表的首址存放在内存的一个专用区域中。(2)链接方式:把具有相同状态进程的PCB分别通过PCB中的链接字链接成一个队列。(3)索引方式:系统根据所有进程状态的不同,建立几张索引表,在每个索引表的表目中,记录具有相应状态的某个PCB在PCB表中的地址。10 何谓操作系统内核?内核的主要功能是什么?答:(1)操作系统内核的定义操作系统内核是指大多数操作系统的核心部分。它由操作系统中用于管理存储器、文件、外设和系统资源的那些部分组成。操作系统内核通常运
47、行进程,并提供进程间的通信。(2)操作系统内核的主要功能 支撑功能该功能是提供给OS其他众多模块所需要的一些基本功能,以便支撑这些模块工作。其中三种最基本的支撑功能是:中断处理、时钟管理和原语操作。a中断处理中断处理是内核最基本的功能,是整个操作系统赖以活动的基础,OS中许多重要的活动。b时钟管理时钟管理是内核的一项基本功能,在OS中的许多活动都需要得到它的支撑。c原语操作原语(Primitive),就是由若干条指令组成的,用于完成一定功能的一个过程,是一个不可分割的基本单位,在内核中可能有许多原语。 资源管理功能a进程管理在进程管理中,或者由于各个功能模块的运行频率较高,通常都将它们放在内核
48、中,以提高OS的性能。b存储器管理存储器管理软件的运行频率也比较高,通常也将它们放在内核中,以保证存储器管理具有较高的运行速度。c设备管理由于设备管理与硬件(设备)紧密相关,因此其中很大部分也都设置在内核中。11 试说明进程在三个基本状态之间转换的典型原因。答:进程的三种基本状态是就绪状态、执行状态和阻塞状态,这三种基本状态之间转换的典型原因如图2-7所示,具体如下:(1)就绪状态执行状态:进程通过调度分配到CPU资源;(2)执行状态就绪状态:时间片用完;(3)执行状态阻塞状态:I/O设备请求;(4)阻塞状态就绪状态:I/O设备请求完成。图2-7进程状态转换图12 为什么要引入挂起状态?该状态
49、有哪些性质?答:(1)引入挂起状态的原因 终端用户的请求:当终端用户在自己的程序运行期间发现有可疑问题时,希望暂时使自己的程序静止下来。 父进程请求:父进程希望挂起自己的某个子进程,以便考查和修改该子进程,或者协调各子进程间的活动。 负荷调节的需要:当实时系统中的工作负荷较重,已可能影响到对实时任务的控制时,可由系统把一些不重要的进程挂起,以保证系统能正常运行。 操作系统的需要:操作系统有时希望挂起某些进程,以便检查运行中的资源使用情况或进行记账。(2)挂起状态的性质 当进程处于未被挂起的就绪状态时,称此为活动就绪状态,表示为Readya。当用挂起原语Suspend将该进程挂起后,该进程便转变
50、为静止就绪状态,表示为Readys,处于Readys状态的进程不再被调度执行。 当进程处于未被挂起的阻塞状态时,称它是处于活动阻塞状态,表示为Blockeda。当用Suspend原语将它挂起后,进程便转变为静止阻塞状态,表示为Blockeds。处于该状态的进程在其所期待的事件出现后,将从静止阻塞变为静止就绪。13 在进行进程切换时,所要保存的处理机状态信息有哪些?答:处理机状态信息主要是由处理机的各种寄存器中的内容组成的。处理机在运行时,许多信息都放在寄存器中。当处理机被中断时,所有这些信息都必须保存在PCB中,以便在该进程重新执行时,能从断点继续执行。这些寄存器包括:(1)通用寄存器,用户程