操作系统习题答案_第1页
操作系统习题答案_第2页
操作系统习题答案_第3页
操作系统习题答案_第4页
操作系统习题答案_第5页
已阅读5页,还剩76页未读 继续免费阅读

下载本文档

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

文档简介

1.什么是硬件系统?什么是软件环境?它们之间有什么联系?

计算机硬件是指计算机系统中由电子、机械和光电元件等组成的各种部件和设备。由这

些部件和设备依据计算机系统结构的要求构成的有机整体,称为计算机硬件系统。计算机软

件是指安装在计算机系统中的程序和有关的文件。程序作为一种具有逻辑结构的信息,精确

而完整地描述了计算任务中的处理对象和处理规则。这一描述还必须通过相应的实体才能体

现。记载上述信息的实体就是硬件。

2.什么是操作系统?操作系统追求的主要目标是什么?

操作系统是计算机系统中的一种系统软件,它统一管理计算机系统的资源,控制程序的

执行,是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。

操作系统的目标是方便性、有效性、可扩充性、开放性。

3.在用户程序与硬件裸机之间,操作系统可以分为哪几个模块?

操作系统是覆盖在硬件上的第一层软件,它管理计算机的硬件和软件资源,并向用户提

供良好的界面。操作系统与硬件紧密相关,它直接管理着硬件资源,为用户完成所有与硬件

相关的操作,从而极大地方便了用户对硬件资源的使用,并提高了硬件资源的利用率。操作

系统是一种特殊的系统软件,其他系统软件运行在操作系统的基础之上,可获得操作系统提

供的大量服务,也就是说,操作系统是其他系统软件和硬件的接口。而一般用户使用计算机

除了需要操作系统的支持外,还需要用到大量的其他系统软件和应用软件,以使其工作更加

方便和高效。可见,硬件、操作系统、其他系统软件、应用程序和用户之间存在着如图1-1

所示的层次关系。

4.操作系统如何实现计算机操作的自动化?如何看待操作系统在计算机系统中的地位?

操作系统是运行在计算机硬件系统上的最基本的系统软件。它控制和管理计算机系

统中的硬件资源和软件资源,是整个计算机系统硬、软件资源的总指挥部。操作系统为计

算机用户提供了一种良好的操作环境,也为其他各种应用系统提供了最基本的支撑环

境。操作系统是用户和计算机硬件之间的一个接口。

5.操作系统分成哪几类?

操作系统的基本类型有三种:批处理系统、分时系统和实时系统。其中,批处理

系统是最早出现的操作系统类型,目的是为了提高计算机资源的利用率和系统的吞吐

量;分时系统的产生和发展则是为了满足用户的需要,实现了人机交互,分时系统采

用分时技术,使多个用户可以共享主机并与自己的作业进行很好的交互;实时系统是

为了满足实时监控和实时信息处理两方面要求而产生的,所以具有很高的可靠性并能

对各种情况做出及时的响应,实时系统也具有交互性,但仅限于访问系统中某些特定

的专业服务程序。

6.从资源管理观点看,操作系统具有哪些功能?

操作系统是计算机资源的管理者,管理着计算机的处理机、存储器、I/O设备和文件,

所以操作系统也就有这四大功能:处理机管理、存储器管理、设备管理和文件管理。

7.讨论操作系统可以从哪些角度出发,如何统一看待它们?

研究操作系统的几种主要观点:

(1)软件的观点。从软件的观点来看,操作系统有其作为软件的外在特性和内在特性。

所谓外在特性,是指操作系统是一种软件,它的外部表现形式,即它的操作命令定义集和它

的界面完全确定了操作系统这个软件的使用方式。所谓内在特性,是指操作系统是-一种软件,

它具有一般软件的结构特点,然而这种软件不是一般的应用软件,它具有一般软件所不具备

的特殊结构。

(2)计算机系统资源管理的观点。操作系统是计算机资源的管理者,管理着计算机的处

理机、存储器、I/O设备和文件,所以操作系统也就有这四大功能:处理机管理、存储器管

理、设备管理和文件管理。

(3)进程的观点。这种观点把操作系统看作由若干个可以同时独立运行的程序和一个对

这些程序进行协调的核心组成,这些同时运行的程序称为进程。

(4)用户与计算机硬件系统之间接口的观点。操作系统作为用户和计算机硬件系统之间

接口的含义是,操作系统处于用户与计算机硬件系统之间,用户通过操作系统来使用计算机。

或者说,用户在操作系统的帮助下能够方便、快捷、安全、可靠地操纵计算机硬件和运行自

己的程序。

(5)虚机器观点。从服务用户的机器扩充的观点来看,操作系统为用户使用计算机提供

了许多服务功能和良好的工作环境。用户不再直接使用硬件机器(称为裸机),而是通过操

作系统来控制和使用计算机,从而把计算机扩充为功能更强、使用更加方便的计算机系统(称

为虚拟计算机)。

(6)服务提供者观点。在操作系统以外,从用户角度看操作系统,它应能为用户提供比

裸机功能更强、服务质量更高、更方便灵活的虚拟机器。操作系统能为用户提供一组功能强

大的、方便的、好用的广义指令(系统调用)。

8.简述操作系统发展的几个阶段。

参考教材,略

9.什么是批处理系统?它可分为哪两种?

参考教材,略

10.什么是多道程序系统?其主要特性是什么?

为了进一步提高资源的利用率和增加系统的吞吐量,在20世纪60年代中期引入了多道

程序设计技术,在操作系统中引入多道程序设计技术后,使系统具有以下特征:

①多道性。在内存中可同时驻留多道程序,并允许它们并发执行,从而有效地提高了

资源利用率和增加系统吞吐量。

②无序性。多个作业完成的先后顺序与它们进入内存的顺序之间并无严格的对应关系,

即先进入内存的作业可能较后甚至最后完成,而后进入内存的作业又可能先完成。

③调度性。作业从提交给系统开始直至完成,需要经过以下两次调度:

・作业调度。指按一定的作业调度算法,从外存的后备作业队列中,选择若干个作业调

入内存。

・进程调度。指按一定的进程调度算法,从已在内存的作业中选择一个作业,将处理机

分配给它,使之执行。

11.什么是分时系统?其主要特点是什么?

在分时系统中采用了分时技术,即把处理机的时间划分成很短的时间片.(如几百毫秒),

轮流地分配给各个终端作业使用。若在分配给它的时间片内,作业没有执行完,它必须将

CPU交给下一个作业使用,并等下一轮得到CPU时再继续执行。系统的响应时间和用户的

数量成反比,即用户数越多,响应时间越长。

12.什么是实时系统?主要有哪几大类?

实时系统是指系统能及时(或即时)响应外部事件的请求,在规定的时间内完成该事

件的处理,并控制所有实时任务协调一致地运行。主要分为实时控制系统和实时信息处理系

统。

13.实时系统与分时系统的主要差别有哪些?

从多路性、独立性、及时性、交互性和可靠性五个方面对它们进行比较。

(1)多路性。实时信息处理系统与分时系统一样具有多路性,系统按分时原则为多个终

端用户服务。而对实时控制系统而言,其多路性则主要表现在:经常对多路的现场信息进行

采集,以及对多个对象或多个执行机构进行控制。

(2)独立性。实时信息处理系统与分时系统一样具有独立性。每个终端用户在向分时系

统提出服务请求时,是彼此独立地操作,互不干扰;而在实时控制系统中信息的采集和对对

象的控制,也都是彼此互不干扰。

(3)及时性。实时信息系统对实时性的要求与分时系统类似,都是以人所能接受的等待

时间来确定;而实时控制系统的及时性,则是以控制对象所要求的开始截止时间或完成截止

时间来确定的。

(4)交互性。实时信息处理系统虽也具有交互性,但这里人与系统的交互,仅限于访问

系统中某些专用服务程序。它不像分时系统那样能向终端用户提供数据处理服务、资源共享

等服务。

(5)可靠性。分时系统虽然也要求系统可靠,相比之下,实时系统则要求系统高度可靠。

因为任何差错都可能带来巨大的经济损失,甚至无法预料的灾难性后果。因此,在实时系统

中,往往都采取了多级容错措施,来保证系统及数据的安全。

14.批处理操作系统、分时操作系统和实时操作系统的特点各是什么?

批处理操作系统的特点:成批处理,系统吞吐量高,资源利用率高,用户不能直接干预

作业的执行。

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

实时操作系统的特点:及时响应、快速处理;高可靠性和安全性;不要求系统资源利

用率。

15.简述操作系统的特性。

操作系统的特征有并发、共享、虚拟和异步性。它们的关系如下:

(1)并发和共享是操作系统最基本的特征。为了提高计算机资源的利用率,操作系统必

然要采用多道程序设计技术,使多个程序共享系统的资源,并发地执行。

(2)并发和共享互为存在的条件。一方面,资源的共享以程序(进程)的并发执行为条

件,若系统不允许程序并发执行,自然不存在资源的共享问题;另一方面,若系统不能对资

源共享实施有效管理,协调好各个进程对共享资源的访问,也必将影响到程序的并发执行,

甚至根本无法并发执行。

(3)虚拟以并发和共享为前提条件。为了使并发进程能更方便、更有效地共享资源,操

作系统经常采用多种虚拟技术来在逻辑上增加CPU和设备的数量以及存储器的容量,从而

解决众多并发进程对有限系统资源的竞争问题。

(4)异步性是并发和共享的必然结果。操作系统允许多个并发进程共享资源、相互合作,

使得每个进程的运行过程受到其他进程的制约,不再“一气呵成”,这必然导致异步性特征

的产生。

16.简述并发与并行的区别。

并行性和并发性是既相似又有区别的两个概念。并行性是指两个或多个事件在同一时刻

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

17.简述网络操作系统的主要功能。

计算机网络是通过通信设施将物理上分散的具有自治功能的多个计算机系统互联起来,

实现信息交换、资源共享、可互操作和协作处理的系统。网络操作系统用于管理网络中的各

种资源,为用户提供各种服务。其主要功能如下:

(1)网络通信。这是网络最基本的功能,其任务是在源主机和目标主机之间实现无差错

的数据传输。

(2)资源管理。对网络中的共享资源(硬件和软件)实施有效的管理,协调诸用户对共

享资源的使用,保证数据的安全性和一致性。

(3)网络服务。这是在前两个功能的基础上,为了方便用户而直接向用户提供的多种有

效服务。主要的网络服务有:电子邮件服务;文件传输、存取和管理服务;共享硬盘服务;

共享打印服务。

(4)网络管理。网络管理最基本的任务是安全管理。通过“存取控制”来确保存取

数据的安全性;通过“容错技术”来保证系统故障时数据的安全性。此外,还应对网络

性能进行监视,对使用情况进行统计,以便为提高网络性能、进行网络维护和记账等提

供必要的信息。

(5)互操作能力。在20世纪80年代后期推出的操作系统都已提供了联网功能,从而便

于将微型计算机连接到网络上。在90年代推出的网络操作系统又提供了一定范围的互操作

能力。所谓互操作,在客户机/服务器模式的LAN环境下,是指连接在服务器上的多种客户

机和主机不仅能与服务器通信,而且还能以透明的方式访问服务器上的文件系统;而在互联

网环境下的互操作,是指不同网络间的客户机不仅能通信,而且也能以透明的方式访问其他

网络中的文件服务器。

18.简述处理机的组成和工作原理。你认为哪些部分和操作系统密切相关,为什么?

参考教材,略

19.为了支持操作系统,现代处理机一般都提供哪两种工作状态,以隔离操作系统和普通程

序?两种状态各有什么特点?

参考教材,略

20.什么是分级的存储体系结构?它主要解决了什么问题?

参考教材,略

21.内存通常有哪两种类型?它们各自的特点是什么?用在哪里?

参考教材,略

22.简述程序的局部性原理。这个原理在分级的存储体系结构中是怎样起作用的?

参考教材.,略

23.缓冲技术在计算机系统中起着什么样的作用?它是如何工作的?

参考教材,略

24.简述中断和操作系统的关系。操作系统是如何利用中断机制的?

参考教材,略

25.时钟对操作系统有什么重要作用?

参考教材,略

第2章

1.解释作业和作业步。

参考教材,略

2.阐述程序、作业、作业步的联系和区别。

参考教材,略

3.什么叫作业调度?作业调度选择作业的必要条件是什么?

作业调度又称高级调度,其主要功能是按照某种原则从后备队列中选取作业,并为作

业做好运行前的准备工作和作业完成后的善后处理工作.

4.操作系统提供了哪些便于用户控制交互式作业的使用接口?

操作系统提供了命令接口、程序接口、图形接口三种类型的用户接口,其中程序接口是

操作系统专门为用户程序设置的,也是用户程序取得操作系统服务的唯一途径。程序接口通

常由各种各样的系统调用所组成。

5.一个具有分时兼批处理功能的操作系统应怎样调度和管理作业?为什么?

参考教材,略

6.系统采用不能移动已在内存储器中作业的可变分区方式管理内存储器,现有供用户使用

的内存空间100KB,系统配有4台磁带机,有一批作业,如表2-1所示。

表2-1作业情况表

作业序号进输入井时间要求计算时间/min需要内存量/KB申请磁带机数/台

110:0025102

210:2030801

310:301()503

410:3520152

510:4015302

该系统采用多道程序设计技术,对磁带机采用静态分配,忽略设备工作时间和系统进行

调度所花的时间,请分别写出采用“先来先服务调度算法”、“最短作业优先算法”和“响应

比最高者优先算法”选中作业执行的次序以及各个作业的装入内存时间、开始执行时间、完

成时间、周转时间和它们的平均周转时间。

采用响应比高者优先算法、短作业优先算法和先来先服务算法时,选中作业执行的次序

均为1,2,4,5,3。

7.在上题中,若允许移动已在内存储器中的作业,则作业被选中的次序又是怎样的呢?并

计算出它们的平均周转时间。

8.批处理作业是如何控制执行的?

参考教材,略

9.终端用户控制终端作业的执行大致有几个阶段?

参考教材,略

10.设有I/O频繁、I/O与计算机均衡和计算量大的3个作业,它们同时进入内存并行工作,

请给每个作业赋予运行优先数,并说明理由。

选择作业调度算法要考虑多种因素,其中一个重要的因素就是系统资源的均衡使用。

用户作业所需资源差异很大,例如,进行科学计算的作业(CUP繁忙)要求较多的CPU时

间,而输入/输出要求较少;事务处理作业(I/O繁忙)要求较少的CPU时间,而要求较多

的输出打印各种表格。因此在考虑设计目标的前提下,合理搭配各种类型的作业,最大限度

地发挥各种资源的效益,使它们得到充分利用,这对提高整个计算机系统效益会有好处。

II.什么是系统调用?系统调用与一般过程调用的区别是什么?

系统调用在本质上是应用程序请求操作系统核心完成某一特定功能的一种过程调用,是

一种特殊的过程调用,它与一般的过程调用有以下几方面的区别:

(1)通过软中断进入

一般的过程调用可直接由调用过程转向被调用过程;而执行系统调用时,由于调用和被

调用过程是处于不同的系统状态,因而不允许由调用过程直接转向被调用过程,而通常都是

通过软中断机制转向相应的命令处理程序。

(2)运行在不同的处理机状态

一般的过程调用,其调用程序和被调用程序都运行在相同的处理机状态。而系统调用与

一般调用的最大区别就在于:调用程序运行在目态,而被调用程序运行在管态。

(3)处理机状态的转换

一般的过程调用不涉及系统状态的转换,直接由调用过程转向被调用过程。但在运行系

统调用时,由于调用和被调用过程工作在不同的系统状态,因而不允许由调用过程直接转向

被调用过程,通常都是通过软中断机制先由目态转换为管态,在操作系统核心分析之后,再

转向相应的系统调用处理程序。

(4)返回问题

一般的过程调用在被调用过程执行完后,将返回到调用过程继续执行。但是,在采用抢

占式调度方式的系统中,系统调用在被调用过程执行完后,系统将对所有要求运行的进程进

行优先级分析。如果调用进程仍然具有最高优先级,则返回到调用进程继续执行,否则,将

重新调度,以便让优先级最高的进程优先执行。此时,系统将把调用进程放入就绪队列中。

(5)嵌套调用

像一般过程一样,系统调用也允许嵌套调用,即在一个被调用过程的执行期间,还可以

再利用系统调用命令去调用另一个系统调用。一般情况下,每个系统对嵌套调用的深度都有

一定的限制,例如最大深度为6。

12.分时系统中终端处理程序的作用是什么?

参考教材,略

13.操作系统向用户提供了哪几类接口?

操作系统向用户提供了三类接口:命令接口、程序接口和图形接口。用户利用命令接口

提供的操作命令来组织和控制作业的执行,按命令接口对作业控制方式的不同,又可以将命

令接口分为联机命令接口和脱机命令接口;用户还可以利用程序接口提供的系统调用来请求

并获得操作系统的服务,程序接口在用户编制程序的时候使用。近年来,为方便用户的使用,

又出现了图形接口。

14.试说明作业的状态,并说明引起状态转换的典型原因。

作业的状态有提交状态、后备状态、运行状态和完成状态。

用户正在向操作系统提交作业时所处的状态叫做提交状态。送入计算机并由操作系统将

作业存放在磁盘上以后,系统为这个作业建立一个作业控制块,并把它插入到后备队列中等

待调度运行,此时,这个作业所处的状态称为后备状态。

当这个作业被作业调度程序选中,并为它分配了必要的资源,建立了一组相应的进程之

后,这个作业就由后备状态变为运行状态。

当作业正常运行结束或因发生错误而异常结束时,作业进入完成状态。此时,由操作系

统将作业控制块从当前作业队列中删除,并收回其所占用的资源。

15.作业和进程有什么区别和联系?

作业通常是指用户在一次计算过程中或者一次事物处理过程中要求计算机系统所做工

作的集合,包括用户程序、所需的数据及命令等。进程是具有独立功能的可并发执行的程序

在一个数据集合上的运行过程,是系统进行资源分配和调度的独立单位。作业和进程之间的

区别和联系如下:

(1)作业是用户向计算机提交的任务实体,而进程则是完成用户任务的执行实体,是向

操作系统申请分配资源的基本单位。

(2)一个作业可以由多个进程组成,且一个作业至少由一个进程组成。

(3)作业的概念主要用在批处理系统中,而进程的概念则用在所有的多道程序系统中。

16.有.5个批处理作业(A、B、C、D、E)几乎同时到达,估计的运行时间分别为2、4、

6、8、10分钟,它们的优先级分别为1、2、3、4、5(1为最低优先级)。对下面的每

种调度算法,分别计算作业的平均周转时间。

(1)最高优先级优先。

(2)时间片轮转(时间片为2分钟)。

(3)FIFO(作业的到达顺序为C、D、B、E、A)

(4)短作业优先。

为了计算方便,假设这批作业的到达时间为0。

(1)使用最高优先级优先算法时,作业的调度顺序为E、D、C、B、A,各作业的周转

时间如表2-2所示。

表2-2

作业执行时间优先级开始运行时间完成时间周转时间

A21283030

B42242828

C63182424

D84101818

E10501010

平均周转时间为(30+28+24+18+10)/5=22分钟

(2)使用时间片轮转算法时,作业的调度顺序为:

0分钟作业A、B、C、D、E到达,作业A开始运行,作业B、C、D、E等待

2分钟作业A运行结束,作业B开始运行,作业C、D、E等待

4分钟作业C开始运行,作业D、E、B等待

6分钟作业D开始运行,作业E、B、C等待

8分钟作业E开始运行,作业B、C、D等待

10分钟作业B开始运行,作业C、D、E等待

12分钟作业B运行结束,作业C开始运行,作业D、E等待

14分钟作业D开始运行,作业E、C等待

16分钟作业E开始运行,作业C、D等待

18分钟作业C开始运行,作业D、E等待

20分钟作业C运行结束,作业D开始运行,作业E等待

22分钟作业E开始运行,作业D等待

24分钟作业D开始运行,作业E等待

26分钟作业D运行结束,作业E开始运行

30分钟作业E运行结束

各作业的周转时间如表2-3所示。

表2-3

作业执行时间优先级开始运行时间完成时间周转时间

A21022

B4221212

C6342020

D8462626

E10583030

平均周转时间为(2+12+20+26+30)/5=18分钟

(3)使用FIFO(作业到达顺序为C、D、B、E、A)算法时,作业调度顺序为C、D、

B、E、A,各作业的周转时间如表2-4所示。

表2-4

作业执行时间优先级开始运行时间完成时间周转时间

A21283030

B42141818

C63066

D8461414

E105182828

平均周转时间为(30+18+6+14+28)/5=19.2分钟

(4)使用短作业优先算法时,作业的调度顺序为A、B、C、D、E,各作业的周转时间

如表2-5所示。

表2-5

作业执行时间优先级开始运行时间完成时间周转时间

A21022

B42266

C6361212

D84122020

E105203030

平均周转时间为(2+6+12+20+30)/5=14分钟

17.有一个多道程序设计系统,采用不允许移动的可变分区方式管理内存中的用户空间,设

用户空间为100KB,内存空间的分配算法为首次适应分配算法,进程调度算法采用先

来先服务算法,今有如表2-6所示作业序列。

假定所有作业都是计算型作业且忽略系统调度时间,请分别写出采用“先来先服务调度

算法”、“计算时间短的作业优先算法”时,作业的装入内存时间、开始执行时间、完成时

间、周转时间以及它们的平均周转时间。

表2-6

作业名进入“输入井”时间需计算时间内存需求量

A10:0642分钟15KB

B10:1830分钟60KB

C10:3024分钟50KB

D10:3620分钟10KB

E10:4212分钟20KB

采用先来先服务调度算法时,作业的装入内存时间、开始执行时间、完成时间及周转时

间如表2-7所示。

表2-7

作业名进入“输入井”时间装入内存时间开始执行时间完成时间周转时间

A10:0610:0610:0610:4842分钟

B10:1810:1810:4811:1860分钟

C10:3011:1811:3812:0292分钟

D10:3610:3611:1811:3862分钟

E10:4211:1812:0212:1492分钟

平均周转时间:(42+60+92+62+92)/5=69.6分钟

采用计算时间短的作业优先算法时,作业的装入内存时间、开始执行时间、完成时间及

周转时间如表2-8所示。

表2-8

进入“输入井”时

作业名装入内存时间开始执行时间完成时间周转时间

A10:0610:0610:0610:4842分钟

B10:1810:1810:4811:1860分钟

C10:3011:1811:5012:14104分钟

D10:3610:3611:1811:3862分钟

E10:4211:1811:3811:5068分钟

平均周转时间:(42+60+104+62+68)/5=67.2分钟

18.在一个批处理单道系统中,采用响应比高者优先的作业调度算法。当一个作业进入系统

后就可以开始调度,假定作业都仅是计算,忽略调度花费的时间。现有3个作业,进入

系统的时间和需要计算的时间如表2-9所示。

表2-9

作业进入系统时间需要计算时间开始时间完成时间周转时间

19:0060分钟———

29:1045分钟———

39:1525分钟———

(1)求出每个作业的开始时间、完成时间及周转时间并填入表2-9中。

(2)计算三个作业的平均周转时间应为多少?

3个作业的开始时间、完成时间及周转时间如表2-10所示。

表2-10

作业进入系统时间需要计算时间开始时间完成时间周转时间

19:0060分钟9:0010:0060分钟

29:1045分钟10:2511:10120分钟

39:2525分钟10:0010:2560分钟

平均周转时间:60+120+60=80分钟

第3章

1.什么是进程,它与程序有哪些异同点?

进程和程序是紧密相关而又完全不同的两个概念。

(1)每个进程实体中包含了程序段、数据段这两个部分,因此说进程和程序是紧密相关

的。但从结构上看,进程实体中除了程序段和数据段外,还必须包含一个数据结构,即进程

控制块PCB。

(2)进程是程序的一次执行过程,因此是动态的。动态性还表现在进程由创建而产生、

由调度而执行、由撤销而消亡,即它具有一定的生命周期。而程序则只是一组指令的有序集

合,并可永久地存放在某种介质上,其本身不具有动态的含义,因此是静态的。

(3)多个进程实体可同时存放在内存中并发执行,其实这正是引入进程的目的。而程序

的并发执行具有不可再现性,因此程序不能正确地并发执行。

(4)进程是一个能够独立运行,独立分配资源和独立接受调度的基本单位。而因程序不

具有PCB,所以它是不可能在多道程序环境下独立运行的。

(5)进程和程序不一一对应。同一个程序的多次运行,将形成多个不同的进程;同一个

程序的一次执行也可以产生多个进程;而一个进程也可以执行多个程序。

2.进程控制块的作用是什么?它主要包括哪几部分内容?

进程控制块PCB是一个记录进程属性信息的数据结构,是进程实体的一部分,是操作

系统中最重要的数据结构。当操作系统要调度某进程执行时,需要从该进程的PCB中查询

其现行状态和优先级调度参数;在调度到某进程后,要根据其PCB中保存的处理机状态信

息去设置和恢复进程运行的现场,并根据其PCB中的程序和数据的内存地址来找到其程序

和数据;进程在执行过程中,当需要与其他进程通信时,也要访问其PCB;当进程因某种

原因而暂停执行时,又需要将断点的现场信息保存在其PCB中。系统在建立进程的同时就

建立了该进程的PCB,在撤销一个进程同时也就撤销了其PCBo由此可知,操作系统根据

PCB来对并发执行的进程进行控制和管理,PCB是进程存在的唯一标志。

在进程控制块中,用于描述和控制进程运行的信息主要包括下述四个方面:

(1)进程标识符信息。进程标识符用于唯一地标识一个进程。一个进程通常有外部标识

符、内部标识符两种标识符。

(2)处理机状态信息。用于进程切换时保存和恢复CPU现场,主要是由处理机各种寄

存器中的内容所组成。

(3)进程调度信息。存放与进程调度和进程对换有关的信息,主要包括进程状态、优先

级、等待CPU的时间总和、进程已执行的时间总和和进程阻塞原因等信息。

(4)进程控制信息。进程控制信息包括程序和数据的地址、进程同步和通信机制以及资

源清单和链接指针等。

3.进程有哪几种基本状态?试举出使进程状态发生变化的事件并描绘它的状态转换图。

进程有以下三种基本状态:

①就绪状态。当进程已分配到除CPU以外所有必要的资源后,只要能再获得处理机便可

立即执行,这时的状态称为就绪状态。

②执行状态。进程已获得处理机,程序正在执行。

③阻塞状态。进程因发生某种等待事件(如I/O请求、申请缓冲空间等)而暂停执行

时的状态,亦即进程的执行受到阻塞,故称这种状态为阻塞状态,有时也称为“等待”状态

或“睡眠”状态。

(2)进程状态的转换

进程在运行期间不断地从一个状态转换到另一个状态,进程的各种调度状态依据一定的

条件而发生变化,它可以多次处于就绪状态和执行状态,也可多次处于阻塞状态,但可能排

在不同的阻塞队列中。

进程的三种基本状态及其转换如图3-1所示。

执行态';

进程调度//客选出现等待事件

等待事件已经发生

进程的基本状态及其转换

4.什么是操作系统的内核?

参考教材,略

5.大多数时间片轮转调度算法使用一个固定大小的时间片,请给出选择小时间片的理由,

然后再给出选择大时间片的理由。

时间片长短的确定遵循这样的原则:既要保证系统中各个用户进程及时地得到响应,又不

要由于时间片太短而增加调度的开销,降低系统的效率。

6.有5个进程(A〜E)几乎同时到达一计算中心。它们的估计运行时间分别为10、6、2、

4和18分钟。其优先数(由外部设定)分别为3、5、2、1和4,其中5设为最高优先级。

对于下列每种调度算法,计算其平均进程周转时间,可忽略进程切换的开销。

(1)时间片轮转调度算法(时间片为4)。

(2)优先级调度算法。

(3)先来先服务调度算法(按照次序10、6、2、4、8运行)调度算法。

(4)最短进程优先调度算法。

对(1),假设系统具有多道处理能力,每个进程均获得公平的处理机时间,对(2)〜

(4)假设任一时刻只有一个作业运行,直到结束。所有的进程都是处理机密集型作业。

7.什么是线程?进程和线程的主要区别是什么?

在引入线程的操作系统中,线程是进程的一个实体,是被系统独立调度和分派的基本单

位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器、

一组寄存器和栈),但它可与同属一个进程的其他线程共享进程所拥有的全部资源。

从调度、并发性、系统开销、拥有资源等方面来比较线程和进程:

(1)调度。在传统的操作系统中,独立调度、分派的基本单位是进程。而在引入线程的

操作系统中,则把线程作为调度和分派的基本单位。

(2)并发性。在引入线程的操作系统中,不仅进程之间可以并发执行,而且在一个进程

中的多个线程之间亦可并发执行,因而使操作系统具有更好的并发性,从而能更有效地使用

系统资源和提高系统的吞吐量。

(3)拥有资源。不论是传统的操作系统,还是设有线程的操作系统,进程都是拥有资源

的基本单位,它可以拥有自己的资源。一般地说,线程自己不拥有系统资源(也有一点必不

可少的资源),但它可以访问其隶属进程的资源。

(4)系统开销。由于在创建、撤销或切换进程时,系统都要为之分配或回收资源,保存

CPU现场。因此,操作系统所付出的开销将显著地大于在创建、撤销或切换线程时的开销。

8.简述进程创建的步骤。

一旦操作系统发现了要求创建新进程的事件后,便调用进程创建原语create(),按下述

步骤创建一个新进程:

①申请空白PCB;

②为新进程分配资源;

③初始化进程控制块;

④将新进程插入就绪队列中.

9.某系统采用最高响应比优先的调度算法,某个时刻根据用户要求创建了一个进程P,进

程P在其存在过程中依次经历了。

(1)进程调度选中了进程P占用处理机运行,进程P运行中提出资源申请,要求增加

内存使用量,没有得到。

(2)进程等待一段时间后得到内存。

(3)进程调度再次选中了进程P占用处理机运行.

(4)有紧急进程Q进入,系统停止进程P的运行,将处理机分配给进程Q。

(5)进程Q运行完,进程调度再次选中了进程P占用处理机运行。

(6)进程P运行完。

分析进程P在其整个生命过程中的状态变化。

创建进程P:进程处于就绪态;

进程调度选中了进程P占用处理机运行:就绪态一执行态;

进程P运行一个时间片后被迫让出处理机:执行态一就绪态

进程调度再次选中了进程P占用处理机运行:就绪态一执行态;

进程P运行中提出资源申请,要求增加主存使用量,没有得到:执行态一阻塞态;

进程等待一段时间后得到内存:阻塞态一就绪态;

进程调度再次选中了进程P占用处理机运行:就绪态一执行态;

进程P运行完。

10.程序并发执行并具有可再现性的条件是什么?

程序在并发执行时,多个程序共享系统中的资源,这些资源的状态将由多个程序来改变,

从而使程序的执行失去了封闭性,也失去了可再现性。如果并发执行的程序要具有可再现性,

则要么没有共享资源,要么不改变共享资源的状态。因此,程序并发执行并具有可再现性的

条件是程序间无共享资源或对共享资源仅有读操作。

11.什么是原语?

原语是由若干条机器指令构成的一段程序,用以完成特定的功能。这段程序在执行期间

不可分割。也就是说,原语的执行不能被中断,所以原语的操作具有原子性。

12.有4个进程P|,P2,P3,P4)它们进入就绪队列的先后次序为Pi、P2、P3、P4,它们的

优先级和需要的处理机时间如表3-1所示。假定这四个进程执行过程中不会发生等待事

件,忽略进行调度等所花费的时间,从某个时刻开始进程调度,请回答下列问题:

①写出分别采用“先来先服务”调度算法选中进程执行的次序、计算出各进程在就绪

队列中的等待时间以及平均等待时间;

②写出分别采用“非抢占式的优先级”(固定优先级)调度算法选中进程执行的次序、

计算出各进程在就绪队列中的等待时间以及平均等待时间;

③写出分别采用“时间片轮转”(时间片大小为5)调度算法选中进程执行的次序、

计算出各进程在就绪队列中的等待时间以及平均等待时间。

表3-1

进程处理机时间优先级

P183

P261

P3225

P444

先来先服务算法选择进程的顺序依次为Pi、P2、P3、P40

进程Pi等待时间为0;

进程P2等待时间为8:

进程P3等待时间为8+6=14;

进程P4等待时间为8+6+22=36。

平均等待时间为(0+8+14+36)/4=14.5

非抢占式的优先级算法选择进程的顺序依次为P3、P4、Pi、P2。

进程P)等待时间为4+22=26;

进程P2等待时间为22+4+8=34;

进程P3等待时间为0;

进程巴等待时间为22。

平均等待时间为(26+34+0+22)/4=20.5

时间片轮转进程调度顺序为Pi、P2、P3、P4、Pi、P2、P3、P3、P3、P3。

进程Pi等待两次,时间为0+(5+5+4)=14;

进程P2等待两次,时间为5+(5+4+3)=17;

进程P3等待两次,时间为(5+5)+(4+3+1)=18;

进程P4等待1次,时间为5+5+5=15。

平均等待时间为(14+17+18+15)/4=16

13.假定有一个进程A,它的工作流程图3-2所示,如果系统中进程只有三种状态(就绪、

执行、阻塞),且进程被进程调度选中后就可投入运行,时间片q=200ms,请顺序列出

开始磁盘I/O请求磁带I/O请求打印请求结束

计算250ms计算50ms计算200ms计算150ms

图3-2进程A工作流程图

其从开始到结束所经历的状态转化过程,并注明原因。

根据该进程的进程工作流程图可知:

(1)开始时,进程被调度程序选中立即投入运行,运行200ms后,时间片到时,进程

由运行态转变成就绪态,发生进程切换,其他进程被调度运行;

(2)某时刻,该进程重新被调度程序调度投入运行,进程从就绪态变成运行态,运行

50ms后,进程请求磁盘I/O,由运行态变为阻塞态;

(3)磁盘I/O完成后,进程由阻塞态变为就绪态,并在某时刻被调度程序调度得到CPU

运行,从就绪态变成运行态;

(4)运行50ms后,进程因请求磁带I/O而阻塞;

(5)进程磁带I/O请求完成后,从阻塞态变成就绪态,某一时刻被调度程序选中执行,

从就绪态变成运行态,运行200ms后时间片用完,进程从运行态变为就绪态;

(6)某一时刻,调度程序选中进程执行,但进程要执行打印请求,此时进程从就绪态

变成阻塞态;

(7)打印请求结束后,进程由阻塞态变为就绪态,某一时刻进程又被重新调度执行,

进程从就绪态变成运行态,运行150ms后进程结束。

14.若程序P“,P。和匕单独执行的时间分别为T“虱和T”T〃=l小时,n=1.5小时,T,=2

小时,其中处理机工作时间分别为T“=10分钟,T〃=15分钟,1二35分钟。如果采用多

道程序设计的方法,让P“,和P,并行工作,假定处理机利用率达到60%,另加20

分钟系统开销,请问系统效率能提高百分之几?

T。,Tb和T,.并行工作共用CPU时间:

(10+15+35)/60%=100

系统效率提高:

[(60+90+120)-(100+20)]/(60+90+120)*100%

=(270-120)/270*100%

=55.6%

15.证明在非剥夺式调度算法中,对于同时到达的n个批处理进程,最短进程优先调度策略

保证了最小的平均等待时间。假设调度程序只要有任务就必须执行,且不考虑之后到达

的进程。

首先,设该”个进程为Pl,P2,…,Pn,运行所需时间为SI,S2,…,S/io对〃个进

程按执行时间从小到大重新进行排序,则对“个进程:P'l,P'2,…,P'n,它们的运行时

间满足:S'1WS'2W…S”。那么有.:

T=S1+(S'1+S'2)+(S'lS'2+S'3)+…+(S'1+S'2+S'3+…+S'n)]/n

=[〃XS'l+("-l)XS'2+…+S'〃]/〃

=(S'1+S'2+…+S'«)-[0XS'l+lXS'2+2XS'3+…1)XS^J/n

由于在任何调度方式下,S”+S,2+…+S”是一个固定的数,而当S”…

WS'〃时才有0XS'l+lXS'2+2XS'3+...(止1)XS"的值最大,也就是说,此时T最小。

第4章

1.并发执行的进程在系统中通常表现为儿种关系?各是在什么情况下发生的?

在多道程序环境下,系统中可能有许多进程,在这些进程之间可能存在以下两种关系:

①资源共享关系。此时,进程同步的主要任务是保证诸进程能互斥地访问临界资源。

为此,系统中的资源应不允许用户进程直接使用,而应由系统统一分配。

②相互合作关系。此时进程同步的主要任务是保证相互合作的诸进程在执行次序上的

协调,不会出现与时间有关的差错。

2.什么叫临界资源?什么叫临界区?对临界区的使用应符合哪些规则?

在计算机中有许多资源一次只能允许一个进程使用,如果多个进程同时使用这些资源,

则有可能造成系统的混乱,这些资源被称作临界资源,如打印机和一些共享变量。

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

3.若信号量s表示某一类资源,则对s执行wait、signal操作的直观含义是什么?

参考教材,略

4.在用wait、signal操作实现进程通信时,应根据什么原则对信号量赋初值?

参考教材,略

5.当进程对信号量s执行wait、signal操作时,s的值发生变化,当s>0、s=0和s<0时,

其物理意义是什么?

参考教材,略

6.有一容量为100的循环缓冲区,有多个并发执行进程通过该缓冲区进行通信。为了正确

地管理缓冲区,系统设置了两个读写指针分别为IN、OUT。IN和OUT的值如何反映

缓冲区为空还是满的情况?

7.有一阅览室,共有100个座位。为了很好地利用它,读者进入时必须先在登记表上进行

登记。该表表目设有座位号和读者姓名,离开时再将其登记项摒除。试问:

(1)为描述读者的动作,应编写几个程序?应设几个进程?它们之间的关系是什么?

(2)试用P、V操作描述进程之间的同步算法。

8.什么是死锁?

所谓死锁,是指多个进程在运行过程中因竞争资源而造成的一种僵局,若无外力作用,

这些进程都将无法再向前推进。

9.死锁产生的4个必要条件是什么?

死锁产生的4个必要条件:

(1)互斥条件。进程要求对所分配的资源进行排它性控制,即在一段时间内某资源仅被

一个进程所占有。

(2)请求和保持条件。当进程因请求资源而阻塞时,对己获得的资源保持不放。

(3)不剥夺条件。进程已获得的资源在未使用完之前不能被剥夺,只能在使用完时由自

己释放。

(4)环路等待条件。在发生死锁时,必然存在一个进程一一资源的环形链。

10.死锁的4个必要条件是彼此独立的吗?试给出最少的必要条件。

11.什么是银行家算法?

Dijkstra的银行家算法是最有代表性的避免死锁算法。为实现银行家算法,系统中必须

设置若干个数据结构。

①可利用资源向量Available,它是一个具有m个元素的数组,其中的每一个元素

代表一类可利用的资源数目,其初始值为系统中所配置的该类全部可用资源的数目。其

数值随该类资源的分配与回收而动态地改变。如果Available[/]=&,表示系统中现有&

类资源X个。

②最大需求矩阵Max。它是一个〃Xm的矩阵,定义了系统中”个进程中的每一个进

程对,〃类资源的最大需求。如果Max(iJ)=)l,表示进程i需要Rj类资源的最大数目为仇

③分配矩阵Allocation。它是一个"X机的矩阵,定义了系统中每一类资源当前已分配给

每一个进程的资源数。如果Allocation(ij)=k,表示进程,•当前已分得&类资源的数目为鼠

④需求矩阵Need。它是一个“X,”的矩阵,用以表示每一个进程尚需的各类资源数,

如果Need[iJ]=A,表示进程/还需要&类资源k个,方能完成其任务。

上述三个矩阵存在下述关系:

Need(izj)=Max(i,j)-Allocation(i,j)

设Request;是进程P,的请求向量。如果Request,U]=k,表示进程P,需要%个Rj类型的资

源。当P,•发出资源请求后,系统按银行家算法进行检查:

①如果Request,<Need„则转向步骤②;否则,认为出错,因为它所需要的资源数已

超过它所宣布的最大值。

②如果Request,WAvailable,则转向步骤③:否则,表示尚无足够资源,P:必须等待。

③系统试探把要求的资源分配给进程P,并修改下面数据结构中的数值:

Available=Available-Requestj;

Allocation^Allocatiorij+Requesti;

Needi=Needi-Requesti;

④系统执行安全性算法,检查此次资源分配后,系统是否处于安全状态。若安全,才

正式将资源分配给进程p“以完成本次分配;否则,将试探分配作废,恢复原来的资源分配

状态,让进程Pi等待。

系统所执行的安全性算法可描述如下:

①设置两个向量:工作向量Work,它表示系统可提供给进程继续运行所需的各类资源

数目,它含有桃个元素,执行安全性算法开始时,Work=Allocation;

温馨提示

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

评论

0/150

提交评论