计算机操作系统课后答案(1) 联系客服

发布时间 : 星期日 文章计算机操作系统课后答案(1)更新完毕开始阅读b0f6ff57541252d380eb6294dd88d0d233d43c0d

第一章操 作系统引论

思考与练习题

1. 什么是操作系统?它的主要功能是什么?

2. 什么是多道程序设计技术?多道程序设计技术的主要特点是什么? 3. 批处理系统是怎样的一种操作系统?它的特点是什么?

4. 什么是分时系统?什么是实时系统?试从交互性,及时性,独立性,多路性,可靠性等几个方面

比较分时系统和实施系统。 5. 实时系统分为哪俩种类型? 6. 操作系统主要特征是什么?

7. 操作系统也用户的接口有几种?它们各自用在什么场合? 8. “操作系统是控制硬件的软件”这一说法确切吗?为什么?

9. 设内存中有三道程序,A,B,C,它们按A~B~C的先后顺序执行,它们进行“计算”和“I/o操作”

的时间如表1-2所示,假设三道程序使用相同的I/O设备。

表1-2 三道程序的操作时间 操作 程序 A B C 20 30 10 30 50 20 10 20 10 计算 I/o操作 计算 (1) 试画出单道运行时三道程序的时间关系图,并计算完成三道程序要花多少时间。 (2) 试画出多道运行时三道程序的时间关系图,并计算完成三道程序要花多少时间。 10.将下列左右两列词连接起来形成意义最恰当的5对。 DOS 网络操作系统 OS/2 自由软件 UNIX 多任务 Linux 单任务

Windows NT 为开发操作系统而设计 C语言

11.选择一个现代操作系统,查找和阅读相关的技术资料,写一篇关于操作系统如何进行内存管理、存储管理、设备管理和文件管理的文章。 答案

1. 答:操作系统是控制和管理计算机的软、硬件资源,合理地组织计算机的工作流程,以方便用户

使用的程序集合。

2.答:把多个独立的程序同时放入内存,使她们共享系统中的资源。 1)多道,即计算机内存中同时放多道相互独立的程序。

2) 宏观上并行,是指共识进入系统的多道程序都处于运行过程。

3)微观上串行,是指在单道处理机环境下,内存中的多道程序轮流地占有CPU,交替执行。 3.答:批处理操作系统是一种基本的操作系统类型。在该系统中用户的作业被成批地输入到计算机

中,然后在操作系统的控制下,用户的作业自动的执行。

特点是:资源利用率高。系统吞吐量大。平均周转时间长。无交互能力。

4.答:分时系统:允许多个终端用户同时使用计算机,在这样的系统中,用户感觉不到其他用户的存

在,好像独占计算机一样。实时系统:对外输入出信息,实时系统能够在规定的 时间内处理完毕并作出反应。

1)多路性:分时系统是为多个终端用户提供服务,实时系统的多路性主要表现在经常对多路的

现场信息进行采集以及多多个对象或多个执行机构进行控制。

2)独立性:每个终端向实时系统提出服务请求时,是彼此独立的工作、互不干扰。

3)及时性:实时信息处理系统与分时系统对及时性的要求类似,都以人们能够接受的等待时间

来确定。实时控制系统对一时性的要求更高,是以控制对象所要求的开始截止时间或完成截止时间来确定的。

5.答:(1)实时控制系统 (2)实时信息处理系统。 6.答:1)并发性 2)共享性 3)虚拟性 4)不确定性。 7.答:两种,命令接口 ,程序接口。

命令接口:分为联机命令接口,脱机命令接口,图形用户命令接口。方便用户直接控制自己的

作业而提供的接口。

程序接口:又称系统调用,是为了用户在程序一级访问操作系统功能而设置的。 8.答:不正确,因为操作系统不仅仅是控制硬件,同时它还控制计算机的软件。 9.(1)

20ms+30ms+10ms+30ms+50ms+20ms+10ms+20ms+10ms=200ms

(2)

20ms+30ms+10ms+40ms+20ms+10ms=130ms 10.

DOS 网络操作系统 OS/2 自由软件 UNIX 多任务 Linux 单任务

WindowsNT 为开发操作系统而设计的C语言 第二章 进程与线程 思考与练习题

1. 操作系统中为什么要引入进程的概念?为了实现并发进程之间的合作和协调,以及保证系统的安

全,操作系统在进程管理方面要做哪些工作?

2. 试描述当前正在运行的进程状态改变时,操作系统进行进程切换的步骤。 3. 现代操作系统一般都提供多任务的环境,是回答以下问题。

(1) 为支持多进程的并发执行,系统必须建立哪些关于进程的数据结构? (2) 为支持进程的状态变迁,系统至少应该供哪些进程控制原语? (3) 当进程的状态变迁时,相应的数据结构发生变化吗?

4. 什么是进程控制块?从进程管理、中断处理、进程通信、文件管理、设备管理及存储管理的角度

设计进程控制块应该包含的内容。

5. 假设系统就绪队列中有10个进程,这10个进程轮换执行,每隔300ms轮换一次,CPU在进程切

换时所花费的时间是10ms,试问系统化在进程切换上的开销占系统整个时间的比例是多少? 6. 试述线程的特点及其与进程之间的关系。 7. 根据图2-18,回答以下问题。

(1) 进程发生状态变迁1、3、4、6、7的原因。

(2) 系统中常常由于某一进程的状态变迁引起另一进程也产生状态变迁,这种变迁称为因果变

迁。下述变迁是否为因果变迁:3~2,4~5,7~2,3~6,是说明原因。

(3) 根据此进程状态转换图,说明该系统CPU调度的策略和效果。 8. 回答以下问题。

(1) 若系统中没有运行进程,是否一定没有就绪进程?为什么?

(2) 若系统中既没有运行进程,也没有就绪进程,系统中是佛就没有阻塞进程?解释。 (3) 如果系统采用优先级调度策略,运行的进程是否一定是系统中优先级最高的进程?为什

么?

9. 假如有以下程序段,回答下面的问题。

S1: a=3-x; S2: b=2*a; S3: c=5+a;

(1) 并发程序执行的Bernstein 条件是什么? (2) 是画图表示它们执行时的先后次序。

(3) 利用Bernstein 条件证明,S1、S2和S3哪两个可以并发执行,哪两个不能。 答案

1. 答:①为了从变化角度动态地分析研究可以并发执行的程序,真实的反应系统的独立性、并发

性、动态性和相互制约,操作系统中不得不引入进程的概念。

②为了防止操作系统及其关键的数据结构受到用户程序破坏,将处理机分为核心态和用户态。对进程进行创建、撤销以及在某些进程状态之间的转换控制。

2. 答:①运行状态→就绪状态:此进程根据自身的情况插入到就绪队列的适当位置,系统收回处理

及转入进程调度程序重新进行调度。

②运行状态→阻塞状态:一个进程从运行状态道阻塞状态后。系统会调用进程调度程序重新选择一个进程投入运行。

(1) 答:为支持多进程的并发执行,系统必须建立的数据结构式PCB,不同状态进程的PCB用链表

组织起来,形成就绪队列、阻塞队列。

(2) 答:阻塞原句、唤醒原句、挂起原句、激活原句

(3) 答:创建原句:建立进程的PCB,并将进程投入就绪队列。 撤销原句:删除进程的PCB,并将进程在其队列中摘除。

阻塞原句:将进程PCB中进程的状态从运行状态改为阻塞状态,并将进程投入阻塞队列。 唤醒原句:将进程PCB中进程的状态从阻塞状态改为就绪状态,并将进程从则色队列摘下,投入到就绪队列中。

3. 答:进程控制块(PCB)是为了描述进程的动态变化而设置的一个与进程相联系的数据结构,用于

记录系统管理进程所需信息。PCB是进程存在的唯一标识,操作系统通过PCB得知进程的寻在。

为了进程管理,进程控制块包括以下几方面。

(1) 进程的描述信息,包括进程标识符、进程名等。 (2) 进程的当前状况。 (3) 当前队列链接指针。 (4) 进程的家族关系。

为了中断处理,进程控制块的内容应该包括处理机状态信息和各种寄存器的内容,如通用寄存器、指令计数器、程序状态字(PSW)寄存器及栈指针等。

为了内存管理的需要,进程控制块的内容应该包括进程使用的信号量、消息队列指针等。 为了设备管理,进程控制块的内容应该包括进程占有资源的情况。

4. 答:就绪队列中有10个进程,这10个进程轮换执行,每隔进程的运行时间是300ms,切换另一个

进程所花费的总时间是10ms,隐刺系统化在进程切换上的时间开销占系统整个时间的比例是:10答:线程是进程内的一个相对独立的运行单元,是操作系统调度和分派的单位。线程只拥有一点必不可少的资源(一组寄存器和栈),但可以和铜属于一个进程的其他线程共享进程拥有的资源。 线程是进程的一部分,是进程内的一个实体;一个进程可以有多个线程,但至少必须有一个线程。

(1) 答:1表示新进程创建后,进入高优先级就绪队列;3表示进程因请求I/O活等待某件事儿阻

塞;4表示进程运行的时间片到;6表示进程I/O完成或等待的时间到达;7表示进程运行完成而退出。

(2) 答:3→2是因果变迁,当一个进程从运行态变为阻塞态时,此时CPU空闲,系统首先到高优

先级队列中选择一个进程投入运行。

4→5是因果变迁,当一个进程运行完毕时,此时CPU空闲,系统首先到高优先级队列中选择进程,但如果高优先级队列为空,则从低优先队列中选择一个进程投入运行。

7→2 是因果变迁,当一个进程运行完毕时,CPU空闲,系统首先到高优先级队列中选择一个进程投入运行。

3→6不是因果变迁。一个进程阻塞时由于自身的原因而发生的,和另一个进程等待的时间到达没有因果关系。

(3) 答:当进程调度时,首先从高优先级就绪队列选择一个进程,赋予它的时间片为100ms。如果

高优先级就绪队列为控,则从低优先级就绪队列选择进程,但赋予该进程的时间片为500ms。 这种策略一方面照顾了短进程,一个进程如果在100ms运行完毕它将退出系统,更主要的是照顾了I/O量大的进程,进程因I/O进入阻塞队列,当I/O完成后它就进入了高优先级就绪队列,在高优先级就绪队列等待的进程总是优于低优先级就绪队列的进程。而对于计算量较大的进程,它的计算如果在100ms的时间内不能完成,它将进入低优先级就绪队列,在这个队列的进程被选中的机会要少,只有当高优先级就绪队列为空,才从低优先级就绪队列选择进程,但对于计算量大的进程,系统给予的适当照顾时间片增大为500ms。

(1) 答:是。若系统中没有运行进程,系统会马上选择一个就绪进程队列中的进程投入运行。只有

在就绪队列为空时,CPU才会空闲。

(2) 答:不一定。当系统中所有进程分别等待各自希望发生的事件时,它们都处于阻塞状态,此时

系统中既没有运行进程,也没有就绪进程。这种情况出现时,如果各个进程没有相互等待关系,只要等待的时间发生了,进程就会从等待状态转化为就绪状态。但如果处于阻塞状态的进程相互等待彼此占有的资源,系统就有可能发生死锁。

(3) 答:不一定。因为高优先级的进程有可能处于等待状态,进程调度程序只能从就绪队列中挑选

一个进程投入运行。被选中进程的优先级在就绪队列中是最高的,但在整个系统中它不一定是最高的,等待队列中进程的优先级有可能高于就绪队列中所有进程的优先级。

(1) 答: P1和P2并发执行的条件是,当且仅当

R(P1)∩W(P2) ∪R(P2) ∩W(P1) ∪W(P1)∩W(P2)={}

S2 S1 S3

(2) 答:R(S1)={x},W(S2)={a},R(S2)={a},W(S2)={b},R(S3)={a},W(S3)={c}

所以W(S1) ∩R(S2)={a}, 因此S1和S2不能并发执行。 W(S1)∩R(S2)={a}, 因此S1和S3也不能并发执行。