《计算机操作系统》(第4版)笔记和课后习题(含考研真题)详解_第1页
《计算机操作系统》(第4版)笔记和课后习题(含考研真题)详解_第2页
《计算机操作系统》(第4版)笔记和课后习题(含考研真题)详解_第3页
《计算机操作系统》(第4版)笔记和课后习题(含考研真题)详解_第4页
《计算机操作系统》(第4版)笔记和课后习题(含考研真题)详解_第5页
已阅读5页,还剩162页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录

第1章操作系统引论...............................................................................5

1.1复习笔记..................................................................................5

1.2课后习题详解..............................................................................7

1.3考研真题详解.............................................................................12

第2章进程的描述与控制.........................................................................13

2.1复习笔记..................................................................................13

2.2课后习题详解.............................................................................19

2.3考研真题详解.............................................................................24

第3章处理机调度与死锁..........................................................................28

3.1复习笔记..................................................................................28

3.2课后习题详解.............................................................................31

3.3考研真题详解.............................................................................38

第4章存储器管理................................................................................41

4.1复习笔记..................................................................................41

4.2课后习题详解.............................................................................49

4.3考研真题详解.............................................................................54

第5章虚拟存储器................................................................................56

5.1复习笔记..................................................................................56

5.2课后习题详解.............................................................................60

5.3考研真题解................................................................................66

第6章输入输出系统.............................................................................68

6.1复习笔记..................................................................................68

6.2课后习题详解.............................................................................80

6.3考研真题详解.............................................................................87

第7章文件管理..................................................................................89

7.1复习笔记..................................................................................89

7.2课后习题详解.............................................................................94

7.3考研真题详解............................................................................101

第8章磁盘存储器的管理........................................................................102

8.1复习笔记.................................................................................102

8.2课后习题详解............................................................................107

8.3考研真题详解............................................................................113

第9章操作系统接口.............................................................................115

9.1复习笔记.................................................................................115

9.2课后习题详解............................................................................121

9.3考研真题详解............................................................................127

第10章多处理机操作系统........................................................................128

10.1复习笔记.................................................................................128

10.2课后习题详解............................................................................138

10.3考研真题详解............................................................................145

第11章多媒体操作系统..........................................................................146

11.1复习笔记................................................................................146

11.2课后习题详解............................................................................150

11.3考研真题详解............................................................................158

第12章保护和安全..............................................................................159

12.1复习笔记.................................................................................159

12.2课后习题详解............................................................................162

12.3考研真题详解169

第1章操作系统引论

1.1复习笔记

一、操作系统的目标和作用

1.操作系统的目标

(1)方便性。

(2)有效性。

(3)可扩充性。

(4)开放性。

2.操作系统的作用

(1)OS作为用户与计算机硬件系统之间的接口。

(2)OS作为计算机系统资源的管理者。

(3)OS实现了对计算机资源的抽象。

二、操作系统的发展过程

1.未配置操作系统的计算机系统

(1)人工操作方式。

(2)脱机输入/输出方式。

2.单道批处理系统

3.多道批处理系统

多道批处理系统特征:多道、宏观上并行、微观上串行。

4.分时系统

分时系统的特征:多路性、独立性、及时性、交互性。

5.实时系统

(1)实时系统的类型

①工业(武器)控制系统,如火炮的自动控制系统、飞机的自动驾驶系统,以及导弹的制导系统等。

②信息查询系统,如飞机或火车的订票系统等。

③多媒体系统。

④嵌入式系统。

(2)实时系统最主要的特征便是及时性与可靠性。

6.微机操作系统的发展

微机操作系统按运行方式分为以下几类:

(1)单用户单任务操作系统。

(2)单用户多任务操作系统。

(3)多用户多任务操作系统。

三、操作系统的基本特性

I.并发(Concurrence)

区分并行与并发

(I)并行性是指两个或多个事件在同一时刻发生;

(2)并发性是指两个或多个事件在同一时间间隔内发生。

2.共享(Sharing)

目前实现资源共享的主要方式有以下两种:

(1)互斥共享方式。

(2)同时访问方式。

3.虚拟(Wtual)

4.异步(Asynchronism)

并发和共享是多用户(多任务)OS的两个最基本的特征。

四、操作系统的主要功能

1.处理机管理功能

对处理机的管理可归结为对进程的管理。处理机管理的主要功能有:

(1)进程控制。

(2)进程同步。

(3)进程通信。

(4)调度。

2.存储器管理功能

(1)内存分配。

(2)内存保护。

(3)地址映射。

(4)内存扩充。

3.设备管理功能

(1)缓冲管理。

(2)设备分配。

(3)设备处理。

4.文件管理功能

(1)文件存储空间的管理。

(2)目录管理。

(3)文件的读/写管理和保护。

5.操作系统与用户之间的接口

(1)用户接口

用户接口进一步分为联机用户接口、脱机用户接口和图形用户接口三种。

(2)程序接口

程序接口是由一组系统调用组成的,每一个系统调用都是一个能完成特定功能的子程序。

6.系统调用

(1)系统调用又被称为广义指令。

(2)系统调用的相关处理都是在核心态下进行。

(3)系统调用按功能分类为:设备管理、文件管理、进程控制、进程通信、内存管理。

五、操作系统的运行环境

1.内核态与用户态

(1)操作系统的内核是计算机上配置的底层软件,是操作系统最基本、最核心的部分。

(2)操作系统内核的核心功能包括时钟管理,中断处理,原语,进程管理,存储器管理,设备管理。

(3)用户态也叫做目态,核心态也叫做管态.

2.操作系统的指令分为特权指令和非特权指令。

(1)特权指令是只能由操作系统才能执行的指令,如1/O指令、内存清零指令,只能在核心态下执行。

(2)非特权指令是用户可以去执行的指令,在用户态下执行。

3.中断与异常

(1)中断分为内中断和外中断。其中,内中断信号的来源是CPU内部,与当前执行指令的有关;外中断信

号的来源是CPU外部,与当前执行指令的无关。

(2)内中断也称为异常或者陷入(trap).

(3)外中断就是狭义上的中断。

(4)中断可以使CPU从用户态切换为核心态。

六、微内核OS结构

(1)基本概念

微内核并非是一个完整的OS,而只是将操作系统中最基本的部分放入微内核,微内核通常包含以下几部分:

①与硬件处理紧密相关的部分:

②一些较基本的功能;

③客户和服务器之间的通信。

(2)微内核的基本功能

①进程(线程)管理。

②低级存储器管理。

③中断和陷入处理。

(3)微内核操作系统的优点

①提高了系统的可扩展性。

②增强了系统的可靠性。

③可移植性强。

④提供了对分布式系统的支持。

⑤融入了面向对象技术。

(4)微内核操作系统存在的问题

微内核OS存在着潜在的缺点。其中最主要的是,较之早期OS,微内核OS的运行效率有所降低。

1.2课后习题详解

1.设计现代OS的主要目标是什么?

答:在计算机系统上配置操作系统的主要目标是方便性、有效性、可扩充性和开放性。

(1)方便性

配置操作系统后,系统可以使用编译命令将用户采用高级语言书写的程序翻译成机器代码,用户可以直接通

过OS所提供的各种命令操纵计算机系统,使计算机变得易学易用。

(2)有效性

①提高系统资源利用率

能有效分配各种设备的工作状态,提高系统资源的利用率。

②提高系统的吞吐量

OS可以通过合理地组织计算机的工作流程,加速程序的运行,缩短程序的运行周期,从而提高系统的吞吐

量。

(3)可扩充性

OS必须具有很好的可扩充性,才能适应计算机硬件、体系结构以及应用发展的要求。

(4)开放性

开放性是指系统能遵循世界标准规范,特别是遵循开放系统互连(OSI)国际标准。开放性是衡量一个新推

出系统或软件能否被广泛应用的至关重要的因索。

2.OS的作用可表现在哪几个方面?

答:OS的作用可表现在以下3个方面:

(1)OS作为用户与计算机硬件系统之间的软件接口

OS处于用户与计算机硬件系统之间,用户通过OS来使用计算机系统。

(2)OS作为计算机系统资源的管理者

在计算机系统中,通常都包含硬件和软件资源,归纳起来可将资源分为4类:处理器、存储器、I/O设备以

及信息(数据和程序)。相应地,OS的主要功能也正是针对这4类资源进行有效的管理。为了管理好这些共享资

源(包括硬件和信息)的使用,操作系统必须记录下各种资源的使用情况,对使用资源的请求进行授权,协调诸

用户对共享资源的使用,避免发生冲突,并计算使用资源的费用等。

(3)OS实现了对计算机资源的抽象

在裸机上覆盖上一层1/0设备管理软件得到扩充机器(虚拟机),它向用户(进程)提供了一个对硬件操作

的抽象模型,用户可利用抽象模型提供的接口使用计算机,而无需了解物理接口实现的细节,从而使用户更容易

地使用计算机硬件资源。

3.为什么说OS实现了对计算机资源的抽象?

答:OS是铺设在计算机硬件上的多层系统软件,它不仅增强了系统的功能,而且还隐藏了对硬件操作的细

节,实现了对计算机硬件操作的多个层次的抽象。

(1)在裸机上覆盖上一层1/0设备管理软件,由它来实现对I/O设备操作的细节,并向上提供一组I/O命令,

用户可利用它来进行数据输入或输出,而无需关心I/O是如何实现的。该软件实现了对计算机硬件操作的第一层

次的抽象。

(2)在第一层次的抽象上再覆盖上一层用于文件的管理软件,同样由它来实现文件操作的细节,并向上提

供一组对文件进行存取操作的命令,用户可利用这组命令进行文件的存取。该层软件实现了对硬件资源操作的第

二层次的抽象。

4.试说明推动多道批处理系统形成和发展的主要动力是什么。

答:不断提高计算机资源的利用率和系统吞吐量是推动多道批处理系统形成和发展的主要动力。

5.何谓脱机I/O和联机I/O?

答:(1)脱机I/O

为了解决人机矛盾及CPU和I/O设备之间速度不匹配的矛盾,20世纪50年代末出现了脱机输入/输出

(Off-LineI/O)技术。该技术是事先将装有用户程序和数据的纸带(或卡片)装入纸带输入机(或卡片机),在

一台外围机的控制下,把纸带(卡片)上的数据(程序)输入到磁带上。当CPU需要这些程序和数据时,再从

磁带上将其高速地调入内存。类似地,当CPU需要输出时,可由CPU直接高速地把数据从内存送到磁带上,然

后再在另一台外围机的控制下,将磁带上的结果通过相应的输出设备输出。即脱机I/O方式指的是程序和数据的

输入和输出都是在外围机的控制下完成的,或者说,它们是在脱离主机的情况下进行的。

(2)联机I/O

和脱机I/O方式相反,联机I/O方式指的是在主机的直接控制下进行输入/输出的方式。

6.试说明推动分时系统形成和发展的主要动力是什么?

答:进一步提高计算机资源的利用率、更好的满足人机交互是推动分时系统形成和发展的主要动力。

7.实现分时系统的关键问题是什么?应如何解决?

答:(1)实现分时系统的关键问题是如何使用户能与自己的作业进行交互,即当用户在自己的终端上键入命

令时,系统应能及时接收并及时处理该命令,再将结果返回给用户。

(2)解决方案

①及时接收问题

针对及时接收问题,解决办法是在系统中配置一个多路卡,多路卡的作用是使主机能同时接收不同用户从终

端上输入的数据。此外,还须为每个终端配置一个缓冲区,用来暂存用户键入的命令(或数据)。

②及时处理问题

针对及时处理问题,各个用户的作业应该直接进入内存,并且规定每个作业只运行一个很短的时间片,然后

暂停该作业的运行,并立即调度下一个作业运行。

8.为什么要引入实时OS?

答:引入实时OS是为了满足实时应用的需求,更好地满足实时控制领域和实时信息处理领域的需要。

9.什么是硬实时任务和软实时任务?试举例说明。

答:在实时操作系统中,根据对截止时间的要求来分类,实时任务可分为硬实时任务和软实时任务两种。

(1)硬实时任务及其举例

硬实时任务是系统必须满足任务对截止时间的要求,否则可能出现难以预测的结果,在一里高科技领域,如

运载火箭的控制等。

(2)软实时任务及其举例

软实时任务是它也联系着一个截止时间,但并不严格,若偶尔错过了任务的截止时间,对系统产生的影响也

不会太大,比如网页的更新等。

10.试从交互性、及时性以及可靠性方面将分时系统与实时系统进行比较。

答:(1)交互性

实时信息处理系统虽然也具有交互性,但这里人与系统的交互仅限于访问系统中某些特定的专用服务程序。

它不像分时系统那样能向终端用户提供数据处理和资源共享等服务。

(2)及时性

实时信息处理系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定的;而实时控制系

统的及时性,则是以控制对象所要求的开始截止时间或完成截止时间来确定的,一般为秒级到毫秒级,甚至有的

要低于100微秒。

(3)可靠性

分时系统虽然也要求系统可靠,但相比之下,实时系统对可靠性的要求更高。因为任何差错都可能带来巨大

的经济损失,甚至是无法预料的灾难性后果,所以在实时系统中,往往都采取了多级容错措施来保障系统的安全

性及数据的安全性。

11.OS有哪几大特征?其最基本的特征是什么?

答:(1)操作系统具备四种共同的基本特征,即并发、共享、虚拟和异步。

(2)并发和共享是OS两大最基本的特征。

12.在多道程序技术的OS环境下的资源共享与一般情况下的资源共享有何不同?对独占资源应采取何种共

享方式?

答:(1)OS环境下与一般情况下的资源共享间的不同点

①一般情况下的共享

一般情况下的共享只是说明某种资源能被大家使用,对于这样的资源共享方式,只要通过适当的安排,用户

之间并不会产生对资源的竞争,因此资源管理是比较简单的。

②OS环境下的共享

OS环境下的资源共享或称为资源复用,是指系统中的资源可供内存中多个并发执行的进程共同使用。这里

在宏观上既限定了时间(进程在内存期间),也限定了地点(内存)。对于这种资源共享方式,其管理就要复杂得

多,因为系统中的资源少于多道程序需求的总和,会形成它们对共享资源的争夺。所以,系统必须对资源共享进

行妥善管理。

(2)独占资源应采取的共享方式

对独占资源应采用互斥共享方式,该共享方式仅当占有该资源的进程访问并释放资源后,才允许另一进程对

该资源进行访问。

13.什么是时分复用技术?举例说明它能提高资源利用率的根本原因是什么。

答:(1)时分复用技术是将不同的信号相互交织在不同的时间段内,沿着同•个信道传输;在接收端再用某

种方法,将各个时间段内的信号提取出来还原成原始信号的通信技术。这种技术可以在同一个信道上传输多路信

号。

(2)时分复用技术能提高资源利用率的根本原因在于,它利用某设备为一用户服务的空闲时间,乂转去为

其他用户服务,使设备得到最充分的利用。

14.是什么原因使操作系统具有异步性特征?

答:由于各用户程序性能的不同,不同程序对内存的使用开始时间、结束时间、中断时间是不可预知的,或

者说,进程是以人们不可预知的速度向前推进,导致了进程的异步性。

15.处理机管理有哪些主要功能?其主要任务是什么?

答:处理机管理的主要功能是进程控制、进程同步、进程通信和调度。

(1)进程控制

为作业创建进程,并为之分配必要的资源;进程结束时撤销进程,及时回收该进程所占用的各类资源:以及

控制进程在运行过程中的状态转换。

(2)进程同步

为多个进程(含线程)的运行进行协调,协调分为进程互斥方式和进程同步方式。

(3)进程通信

用来实现在相互合作的进程之间的信息交换。

(4)处理机调度

在后备队列上等待的每个作业都必须经过调度才能执行,在传统的操作系统中,包括作业调度和进程调度两

步。

①作业调度

从后备队里按照一定的算法,选择出若干个作业,为它们分配运行所需的资源(首先是分配内存)。

②进程调度

从进程的就绪队列中,按照一定算法选出一个进程,把处理机分配给它,并为它设置运行现场,使进程投入

执行。

16.内存管理有哪些主要功能?其主要任务是什么?

答:内存管理的主要功能有内存分配、内存保护、地址映射和内存扩充。

(1)内存分配

内存分配的主要任务是为每道程序分配内存空间,使它们“各得其所”;提高存储器的利用率,减少不可用

的内存空间;允许正在运行的程序申请附加的内存空间,以适应程序和数据动态增长的需要。

(2)内存保护

内存保护的主要任务是确保每道用户程序都只在自己的内存空间内运行,彼此互不干扰;绝不允许用户程序

访问操作系统的程序和数据;也不允许用户程序转移到非共享的其他用户程序中去执行。

(3)地址映射

为使程序能正确运行,存储器管理必须提供地址映射功能,以将地址空间中的逻辑地址转换为内存空间中与

之对应的物理地址,该功能应在硬件的支持下完成。

(4)内存扩充

借助于虚拟存储技术,从逻辑上去扩充内存容量,使用户所感觉到的内存容量比实际内存容量大得多,以便

让更多的用户程序并发运行。

17.设备管理有哪些主要功能?其主要任务是什么?

答:设备管理的主要功能有缓冲管理、设备分配和设备处理。设备管理的主要任务是完成用户进程提出的1/0

请求,为用户进程分配其所需的1/0设备:提高CPU和1/0设备的利用率;提高I/O设备处理速度:方便用户使

用I/O设备。

18.文件管理有哪些主要功能?其主要任务是什么?

答:文件管理主要功能有文件存储空间的管理、目录管理、文件的读/写管理和保护。文件管理的主要任务

是对用户文件和系统文件进行管理,以方便用户使用,并保证文件的安全性。

19.试说明推动传统0S演变为现代OS的主要因素是什么?

答:推动传统OS演变为现代OS的主要因素如下:

(1)不断提高计算机资源的利用率

在计算机发展初期,计算机系统特别昂贵,因此,必须千方百计地提高计算机各种资源的利用率,这是OS

最初发展的推动力。

(2)方便用户

当资源利用率不高的问题得到基本解决后,用户在上机、调试程序时的不方便性又成为了继续推动OS发展

的主要因素。

(3)器件的不断更新换代

随着微机芯片的不断更新换代,使得计算机的性能快速提高,从而推动了OS功能和性能的迅速增强和提高。

(4)计算机体系结构的不断发展

计算机体系结构的发展,不断推动着OS的发展,也促进了新的OS类型的产生。

(5)不断提出新的应用需求

不断提出的新的应用需求是推动OS迅速发展的另一个重要原因。

20.什么是微内核OS?

答:微内核操作系统结构是20世纪80年代后期发展起来的。它能有效地支持多处理机运行,非常适用于分

布式系统环境,微内核OS主要有以下四个方面的特征:

(1)足够小的内核

能实现现代OS最基本的核心功能的部分,微内核并非是一个完整的OS,而只是操作系统中最基本的部分。

(2)基于客户/服务器模式

将操作系统中最基本的部分放入内核中,而把操作系统的绝大部分功能都放在微内核外面的一组服务器(进

程)中实现。

(3)应用“机制与策略分离”原理

在传统的OS中,将机制放在OS的内核的较低层,把策略放在内核的较高层次中。而在微内核操作系统中,

通常将机制放在OS的微内核中。正因为如此,才有可能将内核做得很小。

(4)采用面向对象技术

确保操作系统的“正确性”“可靠性”“易修改性”“易扩展性”等,并提高操作系统的设计速度。

21.微内核操作系统具有哪些优点?它为何能有这些优点?

答:(1)微内核操作系统的优点

①提高了系统的可扩展性。

②增强了系统的可靠性。

③可移植性强。

④提供了对分布式系统的支持。

⑤融入了面向对象技术。

(2)微内核操作系统具有上述优点的原因

微内核OS结构是建立在模块化、层次化结构的基础上的,并采用了客户/服务器模式和面向对象的程序设计

技术。

22.现代操作系统较之传统操作系统又增加J'哪些功能和特征?

答:(1)现代操作系统增加的功能

传统的OS具有处理机管理、存储器管理、设备管理、文件管理和提供友好的用户接口这五大功能,现代

OS中还增加了面向安全、面向网络和面向多媒体等功能。

(2)现代操作系统增加的特征

现代操作系统较传统的多道批处理系统、实时操作系统以及分时操作系统增加并发性、资源共享性、虚拟

性和异步性四大特征。

23.在微内核OS中,为什么要采用客户/服务器模式?

答:由于客户/服务器模式具有数据的分布处理和存储;便于集中管理;灵活性和可扩充性:易于改编应用

软件等优点。故在单机微内核操作系统中几乎无一例外地都采用客户/服务器模式,将操作系统中最基本的部分

放入内核中,而把操作系统的绝大部分功能都放在微内核外面的•组服务器(进程)中实现。

24.在基于微内核结构的OS中,应用了哪些新技术?

答:在设计微内核OS时,采用了面向对象的技术,其中的“封装”,“继承”,“对象类”和“多态性”,

以及在对象之间采用消息传递机制等,都有利于提高系统的“正确性”“可靠性”“易修改性”“易扩展性”,

而且还能显著地减少开发系统所付出的开销。

25.何谓微内核技术?在微内核中通常提供了哪些功能?

答:(1)微内核技术的定义

把操作系统中更多的成分和功能放到更高的层次(即用户模式)中去运行,而留下一个尽量小的内核,用它

来完成操作系统最基本的核心功能,这种技术被称为微内核技术。

(2)微内核技术提供的功能

在微内核中通常提供了进程(线程)管理、低级存储器管理、中断和陷入处理功能。

1.3考研真题详解

1.在单处理机系统中,可并行的是()»[2009年统考]

1.进程与进程

II.处理机与设备

UL处理机与通道

IV.设备与设备

A.I、H和出

B.I、II和IV

C.1、阿W

D.IRIV

【答案】D

【解析】单处理机即只有一个处理机(此处不包含多核的情况),某时刻处理机只能执行一个进程,所以进程

与进程之间不能并行执行。处理机、通道、设备都能并行执行,比如同时打印(设备)、计算(处理机)、传输数据

(通道控制内存与外存间数据交换)。换个角度来想,进程的执行必须要依赖处理机,而一个处理机同时只能处理

一个进程,所以单处理机系统中进程就不可以并行;而其他选项依赖的是不同部件,因此可以并行。明确一个概

念,即使是采用了多道程序设计技术的系统,只要是单处理机,进程就不可以并行,而只是并发。因此如果题目

改成“采用多道程序设计技术的单处理机系统”,答案依然不变。

2.举例说明为什么操作系统起到了扩展机器的作用?[北大2004年研]

答:把真实的硬件情况在程序员面前隐藏起来,而表现为一组友好的、简单的、可以被读/写的命名文件的

程序就是操作系统。就如同隐藏磁盘硬件,表现为一个简单的面向文件的接口一样,操作系统还隐藏了很多令人

厌烦的中断、定时器、内存管理以及其他一些底层特性。在这种情况下,操作系统所提供的对硬件的抽象更简单,

更容易使用。例如,对于最基本的命令read与write,每个read及write命令都需要13个参数,这些参数被组合

在一个9字节的数据中。这些参数给出了需要读的磁盘块的地址、每磁道的扇区数、物理介质上所使用的记录模

式、扇区间的间隔以及遇到数据删除标志时需要做些什么。当操作完成的时候,控制芯片会返回23个状态以及

错误码,它们会被组合到7个字节长的数据中。不仅如此,编写软盘驱动程序的程序员还必须随时留意驱动器的

电动机是开着的还是关着的。如果电动机是关着的,在读/写数据前,它必须被打开(伴随很长一段启动延时)。

电动机也不能长时间开着,否则会使软磁盘因磨损过度而损坏。这就要求程序员必须在长启动延时及磁盘磨损度

(磨损会使磁盘上的数据丢失)之间寻找一种平衡。这对程序员来说是非常困难的。程序员所想要的,是一种简单

的、高级的抽象。对于这一问题,一个典型的抽象就是磁盘上包含一组已被命名的文件,每一个文件都可能被打

开来写或读,最后,文件会被关闭。诸如记录信息是否需要调整频率、电动机的当前状态等细节问题在这一抽象

中就不会再出现在用户的面前。

在这种观点中,操作系统的功能在用户面前就等同于是一台扩展了的机器或者说是虚拟的机器,它使得在硬

件上面的编程更加容易。

第2章迸程的描述与控制

2.1复习笔记

一、前趋图和程序执行

1.前趋图

(1)定义

前趋图是指一个有向无循环图,可记为DAG,它用于描述进程之间执行的先后顺序。

(2)图形表示

前趋图如图2-1所示。

2.程序的执行

(1)程序顺序执行时的特征

①顺序性。

②封闭性。

③可再现性。

(2)程序并发执行时的特征

①间断性。

②失去封闭性。

③不可再现性。

二、进程的描述

1.进程的定义和特征

(1)进程的定义

对于进程的定义,从不同的角度可以有不同的定义,其中较典型的定义有:

①进程是程序的一次执行。

②进程是一个程序及其数据在处理机上顺序执行时所发生的活动。

③进程是具有独立功能的程序在•个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单

位。

(2)进程的特征

①动态性

动态性是进程的最基本的特征。

②并发性。

③独立性。

④异步性。

(3)进程实体

通常,进程实体由程序控制块(PCB)、程序段、数据段三部分组成。

2.进程的状态及转换

(1)进程有三种基本状态:就绪状态、执行状态、阻塞(等待)状态。图2-2示出了基本状态的转换图。

图2-3进程的五种状态及转换

3.挂起操作和进程状态的转换

(1)当挂起操作作用于某个进程时,该进程将被挂起,意味着此时该进程处于静止状态。如果进程正在执

行,它将暂停执行。若原本处于就绪状态,则该进程此时暂不接受调度。与挂起操作对应的操作是激活操作。

(2)引入挂起原语操作后三个进程状态的转换

①活动就绪一静止就绪。

②活动阻塞一静止阻塞。

③静止就绪一活动就绪。

④静止阻塞T活动阻塞。

(3)引入挂起操作后五个进程状态的转换如图2-4所示。

图2-4具有创建、终止和挂起状态的进程状态图

4.进程控制块(PCB)

(1)概念

PCB是一记录型数据结构,它作为进程实体的一部分,记录了操作系统所需的、用于描述进程的当前情况

以及管理进程运行的全部信息。

(2)进程控制块中的信息

处理机状态进程调度信息进程控制信息

通用寄存器进程状态程序和数据的地址

指令计数器进程优先级进程同步和通信机制

程序状态字进程调度所需的其它信息资源清单

用户栈指针事件涯接指针

(3)进程控制块的组织方式

①线性方式。

②链接方式。

③索引方式。

三、进程控制

进程控制是进程管理中最基本的功能,主要包括创建新进程、终止已完成的进程、将因发生异常情况而无法

继续运行的进程置于阻塞状态、负责进程运行中的状态转换等功能。

四、进程同步

1.进程同步的基本概念

(1)进程同步机制的主要任务

对多个相关进程在执行次序上进行协调,使并发执行的诸进程之间能按照一定的规则(或时序)共享系统资

源,并能很好地相互合作,从而使程序的执行具有可再现性。

(2)临界资源

一次仅允许一个进程使用的资源称为临界资源。

(3)临界区

将在每个进程中访问临界资源的那段代码称为临界区。

(4)同步机制应遵循的规则

①空闲让进。

②忙则等待。

③有限等待。

④让权等待。

2.硬件同步机制

(1)关中断。

(2)利用Test-and-Set指令实现互斥。

(3)利用Swap指令实现进程互斥。

3.信号量机制

(1)整型信号量

①定义

把整型信号量定义为一个用于表示资源数目的整型量S。

②描述

通过两个标准的原子操作wail(S)和signal(S)来访问S,两个操作一直被分别称为P、V操作。wail和

signal操作可描述如下:

wait(S)

while(S<=0);/*dono-op*/

S・・;

)

signal(S)

i

S++;

)

(2)记录型信号量

①定义

记录型信号量机制采用了记录型的数据结构,是一种不存在“忙等”现象的进程同步机制。

②描述

typedefstruct

(

intvalue;〃代表资源数目的整型变量

structprocess_control_block*list;〃一个链接所有等待进程的进程链表指针

}semaphore;

wait(S)和signal(S)操作可描述如下:

wait(semaphore*S)

(

S->value—;

if(S->value<0)

block(S->list);

)

signal(semaphore*S)

(

S->value++;

if(S->value<=0)

wakeup(S->list);

)

4.经典同步问题-生产者-消费者问题

问题描述:一组生产者进程和一组消费者进程共享一个初始为空、大小为n个单元的缓冲区。只有当缓冲区

没满时,生产者才可以把消息放入缓冲区,否则必须等待;只有当缓冲区不空时,消费者才可以从中取出消息,

否则必须等待。由于缓冲区是临界资源,只允许一个生产者放入消息或者一个消费者从中取出消息,不允许同时

访问缓冲区。

信号量设置:定义信号量mutex为互斥信号量,初值为1,用于表示互斥访问缓冲区;信号量empty用于表

示当前缓冲区中可用空间大小,初值为n;信号量full用于表示当前缓冲区中已用空间大小,初值为0。

程序描述:

semaphoremutex=1;

semaphoreempty=n;

semaphorefull=0;

producer()

{〃生产者进程

while(true)

(

〃生产一个消息

p(empty);〃申请缓冲区中的一个空单元

p(mutex);〃中请访问缓冲区

〃将消息放入缓冲区

v(mutex);〃释放互斥信号量

v(full);〃缓冲区中满单元数加一

}

)

consumer()

(〃消费者进程

while(true)

(

p(full);〃申请从缓冲区中的满单元取出消息

p(mulex);〃申请访问缓冲区

〃将消息取出缓冲区

v(mutex);〃释放互斥信号量

v(empty);〃缓冲区中空单元数加一

5.管程机制

(1)定义

一个管程定义了一个数据结构和能为并发进程所执行(在该数据结构上)的一组操作,这组操作能同步进程

和改变管程中的数据。

(2)组成

①管程的名称:

②局部于管程的共享数据结构说明;

③对该数据结构进行操作的一组过程;

④对局部于管程的共享数据设置初始值的语句。

五、进程通信

I.进程通信的概念

(1)进程通信的定义

进程通信是指进程之间的信息交换。

(2)进程通信的分类

进程通信可分为高级进程通信和低级进程通信两利、

2.高级进程通信的类型

(1)共享存储器系统

①基于共享数据结构的通信方式。

②基于共享存储区的通信方式。

(2)管道通信系统

(3)消息传递系统(Messagepassingsystem)

①直接通信方式。

②问接通信方式。

(4)客户机-服务器系统(Client-Serversystem)

六、线程的基本概念

1.线程的引入

(1)进程的两个基本属性

①进程是一个可拥有资源的独立单位;

②进程同时又是一个可独立调度和分派的基本单位。

(2)线程引入原因

减少程序并发执行所需付出的时空开销,使操作系统具有更好的并发性。

2.线程与进程的比较

(1)调度的基本单位

①在传统的OS中,进程是作为独立调度和分派的基本单位,因而进程是能独立运行的基本单位。

②而在引入线程的OS中,已把线程作为调度和分派的基本单位,因而线程是能独立运行的基本单位。

(2)并发性

不同进程之间、在一个进程中的多个线程之间或者不同进程中的线程之间都能并发执行。

(3)拥有资源

①进程是系统中拥有资源的一个基本单位。

②线程本身并不拥有系统资源,而是仅有一点必不可少的、能保证独立运行的资源。

(4)独立性

在同一进程中的不同线程之间的独立性要比不同进程之间的独立性低得多。

(5)系统开销

①创建或撤消进程时所付出的开销明显大于线程创建或撤消时所付出的开销。

②线程的切换代价也远低于进程的切换代价。

3.线程的状态和线程控制块

(1)线程运行的三个状态:执行状态,就绪状态,阻塞状态。

(2)线程控制块TCB

线程控制块通常有这样几项信息:

①线程标识符;

②一组寄存器;

③线程运行状态;

④优先级;

⑤线程专有存储区;

⑥信号屏蔽;

⑦堆栈指针。

【说明】在多线程OS中,线程作为独立运行(或称调度)的基本单位;而进程仍是资源分配的基本单位。

七、线程的实现方式

1.内核支持线程KST

2.用户级线程ULT

3.组合方式

组合方式下包括三种不同的模型,如图2-5所示。

用户线程

(a)多对一模型(b)一对一模型(c)多对多模型

图2-5多线程模型

2.2课后习题详解

1.什么是前趋图?为什么要引入前趋图?

答:(1)前趋图的定义

前趋图是一个有向无循环图,记为DAG,用于描述进程之间执行的前后关系。图中的每个结点可用于描述

一个程序段或进程,乃至一条语句;结点间的有向边则用于表示两个结点之间存在的偏序或前趋关系。

(2)引入前趋图的原因

引入前趋图可以形象的表示进程之间的前后关系和顺序,可以更好地描述程序的顺序和并发执行情况。

2.试画出下面四条语句的前趋图:

SI:a=x+y;

S2:b=z+1;

S3:c=a-b;

S4:w=c+l;

答:S3语句中的操作涉及SI中的a和S2中的b,因此,S3的前趋是S1和S2;S4中的语句涉及S3中的c,

因此,S4的前趋是S3,所以画出前趋图如图2-6所示。

3.为什么程序并发执行会产生间断性特征?

答:程序在并发执行时,由于它们共享系统资源,以及为完成同一项任务而相互合作,致使在这些并发执行

的程序之间,形成了相互制约的关系,从而产生间断性特征。简而言之,相互制约将导致并发程序具有“执行-

暂停-执行”这种间断性的活动规律。

4.程序并发执行时为什么会失去封闭性和可再现性?

答:程序在并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态将由多个程序来改变,致

使程序的运行失去了封闭性。这样,某程序在执行时,必然会受到其他程序的影响,而这也将导致其再失去可再

现性,亦即程序经过多次执行后,虽然它们执行时的环境和初始条件相同,但得到的结果却各不相同。

5.在操作系统中为什么要引入进程的概念?它会产生什么样的影响?

答:(1)引入进程的原因

在多道程序环境下,程序的执行属于并发执行,此时它们将失去其封闭性,并具有间断性及不可再现性的特

征。这决定了通常的程序是不能参与并发执行的,因为程序执行的结果是不可再现的。这样,程序的运行也就失

去了意义。为使程序能并发执行,且为了对并发执行的程序加以描述和控制,人们引入了“进程”的概念。

(2)引入进程的影响

进程的引入使程序的并发执行得以实现。

6.试从动态性、并发性和独立性上比较进程和程序。

答:(1)动态性

进程的实质是进程实体的一次执行过程,因此,动态性是进程的最基本的特征。动态性还表现在:“它由创

建而产生,由调度而执行,由撤销而消亡”。可见,进程实体有一定的生命期,而程序则只是一组有序指令的集

合,并存放于某种介质上,其本身并不具有运动的含义,因而是静态的。

(2)并发性

这是指多个进程实体共同存于内存中,且能在一段时间内同时运行。并发性是进程的重要特征,同时也成为

OS的重要特征。引入进程的目的也正是为了使其进程实体能和其他进程实体并发执行;而程序(没有建立PCB)

是不能并发执行的。

(3)独立性

在传统的OS中,进程是一个能独立运行、独立分配资源和独立接受调度的基本单位,具有高度的独立性。

但凡未建立PCB的程序都不能作为一个独立的单位参与运行。

7.试说明PCB的作用具体表现在哪几个方面,为什么说PCB是进程存在的唯一标识?

答:(1)PCB作用的具体表现

①进程控制块PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构。

②PCB中记录了操作系统所需的、用于描述进程的当前情况以及控制进程运行的全部信息。

③进程控制块使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,

一个能与其他进程并发执行的进程。

(2)PCB是进程存在的唯一标识的原因

在进程的整个生命期中,系统总是通过PCB对进程进行控制,即系统是根据进程的PCB而非其他感知到该

进程的存在的。所以说,PCB是进程存在的唯一标识。

8.PCB提供了进程管理和进程调度所需要的哪些信息?

答:在进程控制块中,主要包括下述四个方面的信息:

(1)进程标识符:进程标识符用于唯一标识一个进程。

(2)处理机状态;处理机状态信息也称为处理机的上下文,主要由处理机的各种寄存器中的内容组成。

(3)进程调度信息:进程调度信息包括进程状态、进程优先级、进程调度所需的其他信息、事件四个方面。

(4)进程控制信息:进程控制信息包括程序和数据的地址、进程同步和通信机制、资源清单和链接指针。

9.进程控制块的组织方式有哪几种?

答:(1)线性方式:将系统中所有的PCB都组织在一张线性表中,将该表的首址存放在内存的一个专用区

域中。

(2)链接方式:把具有相同状态进程的PCB分别通过PCB中的链接字链接成一个队列。

(3)索引方式:系统根据所有进程状态的不同,建立几张索引表,在每个索引表的表目中,记录具有相应

状态的某个PCB在PCB表中的地址。

10.何谓操作系统内核?内核的主要功能是什么?

答:(1)操作系统内核的定义

操作系统内核是指大多数操作系统的核心部分。它由操作系统中用于管理存储器、文件、外设和系统资源的

那些部分组成。操作系统内核通常运行进程,并提供进程间的通信。

(2)操作系统内核的主要功能

①支撑功能

该功能是提供给OS其他众多模块所需要的一些基本功能,以便支撑这些模块工作。其中三种最基本的支撑

功能是:中断处理、时钟管理和原语操作。

a.中断处理

中断处理是内核最基本的功能,是整个操作系统赖以活动的基础,OS中许多重要的活动。

b.时钟管理

时钟管理是内核的一项基本功能,在OS中的许多活动都需要得到它的支撑。

c.原语操作

原语(Primitive),就是由若干条指令组成的,用于完成一定功能的一个过程,是一个不可分割的基本单位,

在内核中可能有许多原语。

②资源管理功能

a.进程管理

在进程管理中,或者由于各个功能模块的运行频率较高,通常都将它们放在内核中,以提高OS的性能。

b.存储器管理

存储器管理软件的运行频率也比较高,通常也将它们放在内核中,以保证存储器管理具有较高的运行速度。

c.设备管理

由于设备管理与硬件(设备)紧密相关,因此其中很大部分也都设置在内核中。

11.试说明进程在三个基本状态之间转换的典型原因。

答:进程的三种基本状态是就绪状态、执行状态和阻塞状态,这三种基本状态之间转换的典型原因如图2-7

所示,具体如下:

(1)就绪状态-执行状态进程通过调度分配到CPU资源;

(2)执行状态-就绪状态时间片用完;

(3)执行状态-阻塞状态I/O设备请求;

(4)阻塞状态-就绪状态I/O设备请求完成。

图2-7进程状态转换图

12.为什么要引入挂起状态?该状态有哪些性质?

答:(1)引入挂起状态的原因

①终端用户的请求:当终端用户在自己的程序运行期间发现有可疑问题时,希望暂时使自己的程序静止下来。

②父进程请求:父进程希望挂起自己的某个子进程,以便考查和修改该子进程,或者协调各子进程间的活动。

③负荷调节的需要:当实时系统中的工作负荷较重,已可能影响到对实时任务的控制时,可由系统把一些不

重要的进程挂起,以保证系统能正常运行。

④操作系统的需要:操作系统有时希望挂起某些进程,以便检查运行中的资源使用情况或进行记账。

(2)挂起状态的性质

①当进程处于未被挂起的就绪状态时,称此为活动就绪状态,表示为Readya。当用挂起原语Suspend将该

进程挂起后,该进程便转变为静止就绪状态,表示为Readys,处于Readys状态的进程不再被调度执行。

②当进程处于未被挂起的阻塞状态时,称它是处于活动阻塞状态,表示为Blockeda»当用Suspend原语将它

挂起后,进程便转变为静止阻塞状态,表示为Blockeds。处于该状态的进程在其所期待的事件出现后,将从静止

阻塞变为静止就绪。

13.在进行进程切换时,所要保存的处理机状态信息有哪些?

答:处理机状态信息主要是由处理机的各种寄存器中的内容组成的。处理机在运行时,许多信息都放在寄存

器中。当处理机被中断时,所有这些信息都必须保存在PCB中,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论