操作系统原理参考答案.docx
- 文档编号:25396169
- 上传时间:2023-06-08
- 格式:DOCX
- 页数:56
- 大小:61.77KB
操作系统原理参考答案.docx
《操作系统原理参考答案.docx》由会员分享,可在线阅读,更多相关《操作系统原理参考答案.docx(56页珍藏版)》请在冰豆网上搜索。
操作系统原理参考答案
参考答案
第一章习题
1.简述运算机系统的组成。
参考答案:
运算机系统确实是按人的要求接收和存储信息,自动进行数据处置和计算,并输出结果信息的系统。
一个完整的运算机系统是由硬件和软件两大部份组成的。
通常硬件是指运算机物理装置本身,是完成系统各项工作的物质基础,要紧包括中央处置器(CPU)、存储器和各类输入输出设备(简称I/O设备);而软件是各类程序和文件,用于指挥和治理整个运算机系统按指定的要求进行工作。
2.什么是操作系统?
它在运算机中的地位如何?
其功能有哪些?
参考答案:
操作系统是一组操纵和治理运算机硬件和软件资源,合理地对各类作业进行调度,和方便用户利用的程序的集合。
操作系统是运算机系统中最靠近硬件的一层软件,它支持和治理硬件,与具体的应用领域无关,在运算机系统的所有软件中,操作系统是基础,其它软件只有在操作系统的支持下,才能发挥作用。
它是运算机硬件和其它软件和运算机用户之间的联系纽带,若是没有操作系统,用户几乎无法利用运算机系统。
从资源治理的观点看,操作系统具有五个方面的功能:
处置器治理、存储器治理、设备治理、文件治理和提供用户接口。
这五大部份彼此配合,和谐工作,实现运算机系统的资源治理、操纵程序的执行、并为用户提供方便的利用接口。
3.操作系统有哪几种类型?
各有什么特点?
参考答案:
操作系统是随着运算机硬件技术的不断进展和用户的利用要求的提高而从无到有不断完善起来的,其要紧类型及其特点如下:
(1)批处置操作系统:
具有很高的资源利用率和系统吞吐量,但作业的平均周转时刻较长,也没有交互性。
(2)分时操作系统:
具有多路性、独立性、及时性和交互性特点,而交互性是其最重要的特点之一。
(3)实时操作系统:
实时操作系统一般是专用的,具有高及时性和高靠得住性,但交互性较弱。
(4)微机操作系统:
是配置在微型运算机上的操作系统,能够是单任务或多任务,也能够是单用户或多用户系统。
(5)网络操作系统:
是配置在网络中的操作系统,用于治理网络通信和共享资源,和谐各运算机上任务的运行,并向用户提供统一的、有效方便的网络接口。
(6)散布式操作系统:
是配置在散布式处置系统上的操作系统,其最大体的特点是能实现处置上的散布,而处置散布的实质是资源、功能、任务和操纵都是散布的。
(7)嵌入式操作系统:
通常具有以下特点:
(1)操作系统规模一样较小。
因为通常相应硬件配置较低,而且对操作系统提供的功能要求也不高。
(2)应用领域不同大。
关于不同的应用领域其硬件环境和设备配置情形有明显得不同。
4.分时操作系统和实时操作系统各有什么特点?
二者有什么区别?
参考答案:
分时操作系统具有多路性、独立性、及时性和交互性特点,而实时操作系统一般是专用的,具有高及时性和高靠得住性,但交互性较弱。
二者的要紧区别是:
从交互性上,分时系统具有很高的交互性,能向终端用户提供数据处置效劳、资源共享等效劳,而实时系统尽管也具有交互性,但那个地址人与系统的交互,仅限于访问系统中某些特定的转用效劳程序;从及时性上,实时信息系统与分时系统相似,都是以人所能同意的等待时刻来确信的,而实时操纵系统的及时性那么是以操纵对象所要求的截止时刻来确信的,一样为秒级、百毫秒级直至毫秒级,乃至要低于100微秒;从靠得住性上,分时系统尽管也要求系统靠得住,但相较之下,实时系统那么要求系统高度靠得住,因此在实时系统中,往往都采取了多级容错方法来保证系统的平安性及数据的平安性。
5.关于用户来讲,分时操作系统与批处置操作系统相较有哪些要紧优势?
参考答案:
关于用户来讲,分时系统让每一个用户都拥有一个独立的终端,方便用户随时上机;同时,为用户提供了专门好的人机互换能力,利用户能对自己的作业进行直接操纵,这关于程序员调试程序尤其重要。
6.什么是多道程序设计技术?
它有什么优势?
试画出三道作业的运行情形。
参考答案:
多道程序设计技术的大体思想是依照必然的算法选择假设干个作业同时装入内存,在治理程序的操纵下交替执行,共享CPU和系统中的其它各类资源,每当正在运行的程序因某种缘故(如等待I/O操作的完成)不能继续运行时,CPU当即转去执行另一道程序。
其要紧优势是既提高了CPU的利用率,也提高了内存和I/O设备的利用率,同时也大幅增加了系统吞吐量
三道作业的运行情形:
7.现有以下运算机的应用处合,请为其选择适当的操作系统:
①航空航天,核变研究;②国家统计局数据处置中心;③机房学生上机学习编程;④锅炉炉温操纵;⑤民航机票订购系统;⑥两个不同地域之间发送电子邮件;⑦产品组装流水线。
参考答案:
①航空航天,核变研究:
配置实时操作系统;②国家统计局数据处置中心:
配置批处置操作系统;③机房学生上机学习编程:
配置分时操作系统;④锅炉炉温操纵:
配置实时操作系统;⑤民航机票订购系统:
配置实时操作系统;⑥两个不同地域之间发送电子邮件:
配置网络操作系统;⑦产品组装流水线:
配置实时操作系统。
8.操作系统有哪些特点?
其最大体的特点是什么?
它们之间有什么联系?
参考答案:
不同操作系统的特点各不相同,但都具有以下几个大体特点:
并发性、共享性、虚拟性和异步性。
其中最大体的特点是并发和共享,它们互为存在条件。
第一,共享是以并发执行为条件,假设系统不支持程序并发执行,那么系统中将不存在资源共享;同时,共享也必然会阻碍程序的并发执行,假设资源共享不妥,并发性会减弱,乃至无法实现。
9.操作系统一样为用户提供了哪三种利用接口?
参考答案:
现代操作系统通常向用户提供以下三种类型的用户接口:
(1)命令接口:
操作系统向用户提供一组键盘操作命令。
用户从键盘上输入命令,命令说明程序接收并说明这些命令,然后挪用操作系统内部的相应程序,完成相应的功能。
(2)程序接口:
是操作系统内核与应用程序之间的接口,是为应用程序在执行中访问系统资源而设置的,通常由一组系统挪用组成,每一个系统挪用都是一个能完成特定功能的子程序。
系统挪用只能在程序中挪用,不能直接作为命令从键盘上输入执行。
(3)图形接口:
这是为了方便用户利用操作系统而提供的图形化操作界面。
用户利用鼠标、窗口、菜单、图标等图形用户界面工具,能够直观、方便、有效地利用系统效劳和各类应用程序及有效工具,而没必要象利用命令接口那样去记住命令名合格式。
第二章习题:
1.进程治理要紧包括哪些治理功能?
参考答案:
进程治理事实上确实是对处置器的治理,因为传统的多道程序系统中,处置器的分派和运行都是以进程为大体单位的。
要紧有以下几方面的功能:
进程操纵、进程互斥与同步、进程通信、进程调度。
2.什么是进程?
进程有哪些特点?
其中最大体的特点是什么?
参考答案:
进程是具有必然独建功能的程序关于某个数据集合的一次运行活动,是系统进行资源分派和调度的一个独立单位。
进程具有动态性、并发性、独立性、异步性、结构性特点,其中最大体的特点是动态性。
3.简述进程与程序的区别和联系。
参考答案:
进程与程序是两个不同的概念,它们之间既有区别又有联系。
第一程序是组成进程的组成部份之一,一个进程的运行目标是执行它所对应的程序,若是没有程序,进程就失去了其存在的意义;反之,若是没有进程,多道程序也不可能并发运行。
但进程与程序又有着本质的区别:
(1)程序是静态概念,本身能够作为软件资源长期保留;而进程是程序的一次执行进程,是动态的,有必然的生命期。
(2)进程是一个能独立运行的单位,是系统进行资源分派和调度的大体单位,能与其它进程并发执行,而程序那么不然。
(3)程序和进程无一一对应关系。
一个程序可由多个进程共享,而一个进程在其运行进程中又可顺序地执行多个程序。
例如,在分时系统中多个终端用户同时进行C程序编译,如此,一个C编译程序对应多个用户进程;而对每一个用户进程来讲,在进行编译的进程中会用到预处置、词法及语法分析、代码生成和优化等几个程序模块。
(4)各进程在并发执行进程中存在异步性特点,而程序本身是静态的,没有那个特点。
4.进程有哪三种大体状态?
试说明引发进程状态转换的典型缘故。
参考答案:
进程有就绪状态、执行状态、阻塞状态三种状态。
引发进程发生状态转换的典型缘故:
(1)就绪→执行:
处于就绪状态的进程,当进程调度程序为之分派了处置器后,该进程便由就绪状态转换到执行状态。
(2)执行→就绪:
在分时系统中,正在执行的进程若是时刻片用完那么将暂停执行;在抢占调度方式中,如有更高优先级的进程需要运行,将迫使正在运行的进程让出CPU。
(3)执行→阻塞:
正在执行的进程因发生某事件而无法执行,如等待I/O操作的完成或未能申请到所需的系统资源等,那么进程转为阻塞状态。
(4)阻塞→就绪:
处于阻塞状态的进程,所等待的情形已经发生,如I/O操作已完成或取得了所需的资源,那么进程将转变成绩绪状态。
5.进程操纵块的作用是什么?
在进程操纵块中要紧包括哪些信息?
参考答案:
进程操纵块,简称PCB(ProcessControlBlock),是进程实体的重要组成部份,其中记录了用于描述进程情形及操纵进程运行所需要的全数信息。
通过PCB,使得原先不能并发执行的程序,成为能并发执行的进程。
在进程的操纵和治理中,随进程的创建而成立PCB;因进程的状态转变而修改PCB的相关内容;当进程被撤销时,系统收回其PCB。
可见,系统是依照PCB来感知进程的存在的,PCB是进程存在的唯一标志。
不同的操作系统其PCB所包括的信息会有些不同,但PCB通常都应包括如下大体信息:
(1)进程标识符:
系统中的每一个进程都有唯一的标识符,以标识一个进程,能够用字符串或编号表示。
(2)说明信息:
是与进程调度有关的一些信息,包括进程所处的状态、进程优先权、进程等待时刻或已执行时刻、进程阻塞缘故等。
(3)现场信息:
主若是由处置器的各个寄放器中的内容组成,包括通用寄放器内容、指令计数器的值、程序状态字内容和用户栈指针。
当执行中的进程因某种缘故此暂停时,必需将这些寄放器中的信息保留在PCB中,以便当进程再次取得处置器时,能从PCB中恢复上次断点处的现场信息而正确地继续执行。
(4)治理信息:
是进程治理和操纵所需要的相关信息,包括程序和数据在内存或外存的地址、进程同步和通信机制、资源清单(记录进程所需的除CPU外的全数资源和已经分派到的资源)、进程队列的链接指针等。
6.进程创建、进程撤销、进程阻塞、进程唤醒几个原语要紧应完成哪些工作?
参考答案:
(1)进程创建原语的功能是为新进程申请一个空白PCB,分派必要的资源,并把新进程的相关信息填入PCB中,如进程名、父进程标识符、处置器初始状态、进程状态、进程优先级、进程对应程序入口地址、资源申请和分派情形等。
然后将其PCB插入就绪队列等待进程调度。
(2)进程撤消原语的要紧功能是收回被撤消进程所占用的系统资源,包括PCB。
原语第一检查被撤消进程在系统中是不是存在,若是存在,那么回收该进程占用的所有系统资源,将其PCB从所在队列中移出。
若是该进程还有子进程,那么一并予以撤消。
最后撤消其PCB。
(3)进程阻塞原语第一停止该进程的执行,将CPU中各寄放器内容填入该进程的PCB中,并将其状态由“执行”改成“阻塞”,然后插入相应的阻塞队列,最后转进程调度程序从头进行调度。
(4)进程唤醒原语第一将被阻塞进程的PCB从所在阻塞队列中移出,并将其PCB中的状态由“阻塞”改成“就绪”,然后插入就绪队列中等待调度。
7.同步机制应遵循的四个准那么是什么?
参考答案:
同步机制应遵循的四个准那么是:
(1)空闲让进:
当无进程处于临界区时,相应的临界资源处于空闲状态,因此应许诺一个请求进入临界区的进程当即进入自己的临界区,以有效地利用资源。
(2)忙那么等待:
当已有进程进入临界区时,表示相应的临界资源正被访问,因此所有其它试图进入相关临界区的进程必需等待,以保证诸进程互斥访问临界资源。
(3)有限等待:
对要求访问临界资源的进程,应保证该进程能在有限的时刻内进入自己的临界区,以避免陷入“永久等待”状态。
(4)让权等待:
当进程不能进入临界区时,应当即释放处置器,以避免陷入“忙等”状态。
8.简述进程互斥与同步的概念。
参考答案:
多个进程之间彼此无关,它们并非明白其它进程的存在,但由于同处于一个系统中,必然存在着资源共享关系。
系统中某些资源一次只许诺一个进程利用,这种资源称为临界资源,许多物理设备(如打印机、磁带机等)和许多软件资源(如共享变量、数据、表格、队列等)都属于临界资源。
多个进程在共享临界资源时,必需以互斥方式共享。
所谓进程同步是指彼此合作的进程需按必然的前后顺序执行,以顺利完成某一起任务。
具体说,这些进程之间需要互换必然的信息,当某进程未取得其合作进程发来的信息之前,该进程等待,直到接收到相关信息时才继续执行,从而保证诸进程的和谐运行。
9.信号量的PV操作是如何概念的?
试说明信号量的PV操作的物理意义。
参考答案:
P(S):
将信号量S减1,假设结果大于或等于0,那么该进程继续执行;假设结果小于0,那么该进程被阻塞,并将其插入到该信号量的等待队列中,然后转去调度另一进程。
V(S):
将信号量S加1,假设结果大于0,那么该进程继续执行;假设结果小于或等于0,那么从该信号量的等待队列中移出一个进程,使其从阻塞状态变成绩绪状态,并插入到就绪队列中,然后返回当前进程继续执行。
PV操作的物理含义:
信号量S值的大小表示某类资源的数量。
当S>0时,其值表示当前可供分派的资源数量;当S<0时,其绝对值表示S信号量的等待队列中的进程数量。
每执行一次P操作,S值减1,表示请求分派一个资源,假设S≥0,表示能够为进程分派资源,即许诺进程进入其临界区;假设S<0,表示已没有资源可供分派,申请资源的进程被阻塞,并插入S的等待队列中,S的绝对值表示等待队列中进程的数量,现在CPU将从头进行调度。
每执行一次V操作,S值加1,表示释放一个资源,假设S>0,表示等待队列为空;假设S≤0,那么表示等待队列中有因申请不到相应资源而被阻塞的进程,于是唤醒其中一个进程,并将其插入就绪队列。
不管以上哪一种情形,执行V操作的进程都可继续运行。
10.什么是临界资源?
什么是临界区?
参考答案:
系统中某些资源一次只许诺一个进程利用,这种资源称为临界资源,许多物理设备(如打印机、磁带机等)和许多软件资源(如共享变量、数据、表格、队列等)都属于临界资源。
每一个进程中访问临界资源的那段代码称为临界区。
11.在生产者-消费者问题中,若是缺少了V(full)或V(empty),或将P(full)与P(mutex)互换位置,或将V(full)与V(mutex)互换位置,结果别离是什么?
参考答案:
在生产者-消费者问题中,若是缺少了V(full)或V(empty),系统最终可能进入死锁状态。
将P(full)与P(mutex)互换位置,系统也可能进入死锁状态。
将V(full)与V(mutex)互换位置,系统可不能显现什么问题,最多只是临界资源的释放推延。
12.假设有三个并发进程P,Q,R,其中P负责从输入设备上读入信息并传送给Q,Q将信息加工后传送给R,R那么负责将信息打印输出。
写出以下条件的并发程序:
(1)进程P、Q共享一个缓冲区,进程Q、R共享另一个缓冲区。
(2)进程P、Q共享一个由m个缓冲区组成的缓冲池,进程Q、R共享另一个由n个缓冲区组成的缓冲池。
参考答案:
(1)
第一步:
确信进程
3个进程P、Q、R
P进程:
●从输入设备上读入信息
●将信息放入缓冲区1
Q进程:
●从缓冲区1掏出信息
●将信息放入缓冲区2中
R进程:
●从缓冲区2掏出信息
●将信息打印输出
第二步:
确信进程的同步、互斥关系
●同步:
P当缓存区1无数据时,才能够向缓冲区1写入信息
●同步:
Q当缓存区1有数据时,才能够从缓冲区1读取信息
●同步:
Q当缓存区2无数据时,才能够向缓冲区2写入信息
●同步:
R当缓存区2有数据时,才能够从缓冲区2读取信息
第三步:
设置信号量
●缓存区1无数据,empty1,初值1
●缓存区1有数据,full1,初值0
●缓存区2无数据,empty2,初值1
●缓存区2有数据,full2,初值0
第四步:
用伪代码描述
begin
empty1,empty2,full1,full2:
semaphore;
empty1:
=1;
empty2:
=1;
full1:
=0;
full2:
=0;
cobegin
P();
Q();
R();
coend;
end;
processP()
begin
L1:
从输入设备上读入信息;
P(empty1);
将信息放入缓冲区1;
V(full1);
gotoL1
end;
processQ()
begin
L2:
P(full1);
从缓冲区1掏出信息;
V(empty1);
P(empty2);
将信息放入缓冲区2;
V(full2);
gotoL2
end;
processR()
begin
L3:
P(full2);
从缓冲区2掏出信息;
V(empty2);
将信息打印输出;
gotoL3;
end;
(2)
第一步:
确信进程
3个进程P、Q、R
P进程:
●从输入设备上读入信息
●将信息放入缓冲池1中的一个空缓冲区中
Q进程:
●从缓冲池1中的一个非空缓冲区中掏出信息
●将信息放入缓冲池2中的一个空缓冲区中
R进程:
●从缓冲池2中的一个非空缓冲区中掏出信息
●将信息打印输出
第二步:
确信进程的同步、互斥关系
●同步:
P当缓冲池1中有空的缓冲区时,才能够向缓冲池1写入信息
●同步:
Q当缓冲池1中有非空的缓冲区时,才能够从缓冲池1读取信息
●同步:
Q当缓冲池2中有空的缓冲区时,才能够向缓冲池2写入信息
●同步:
R当缓冲池2中有非空的缓冲区时,才能够从缓冲池2读取信息
第三步:
设置信号量
●缓冲池1中的空缓冲区的数量,empty1,初值m
●缓冲池1中的非空缓冲区的数量,full1,初值0
●缓冲池2中的空缓冲区的数量,empty2,初值n
●缓冲池2中的非空缓冲区的数量,full2,初值0
第四步:
用伪代码描述
begin
empty1,empty2,full1,full2:
semaphore;
empty1:
=m;
empty2:
=n;
full1:
=0;
full2:
=0;
cobegin
P();
Q();
R();
coend;
end;
processP()
begin
L1:
从输入设备上读入信息;
P(empty1);
将信息放入缓冲池1中的一个空缓冲区中;
V(full1);
gotoL1
end;
processQ()
begin
L2:
P(full1);
从缓冲池1中的一个非空缓冲区中掏出信息;
V(empty1);
P(empty2);
将信息放入缓冲池2中的一个空缓冲区中;
V(full2);
gotoL2
end;
processR()
begin
L3:
P(full2);
从缓冲池2中的一个非空缓冲区中掏出信息;
V(empty2);
将信息打印输出;
gotoL3;
end;
13.有四个并发进程:
R1,R2,W1和W2,它们共享能够寄存一个数的缓冲区。
进程R1每次从磁盘读入一个数寄存到缓冲区中,供进程W1打印输出;进程R2每次从键盘读一个数寄存到缓冲区中,供进程W2打印输出。
当缓冲区满时,不许诺再向缓冲区中寄存数据;当缓冲区空时,不许诺再从缓冲区中掏出数据打印输出。
试用PV操作实现四个进程的和谐运行。
参考答案:
第一步:
确信进程
4个进程R1、R2、W1、W2
R1进程:
●从磁盘上读入一个数
●将数寄存到缓冲区中
W1进程:
●将R1进程放进缓冲区中的数掏出
●打印输出
R2进程:
●从键盘读入一个数
●将数寄存到缓冲区中
W2进程:
●将R2进程放进缓冲区中的数掏出
●打印输出
第二步:
确信进程的同步、互斥关系
●同步:
R1当缓存区无数据时,才能够向缓冲区写入数据
●同步:
R2当缓存区无数据时,才能够向缓冲区写入数据
●同步:
W1当缓存区中是R1写的数据时,才能够将数据从缓冲区中读出
●同步:
W2当缓存区中是R2写的数据时,才能够将数据从缓冲区中读出
第三步:
设置信号量
●缓存区无数据,empty,初值1
●缓存区中是R1写的数据,full1,初值0
●缓存区中是R2写的数据,full2,初值0
第四步:
用伪代码描述
begin
empty,full1,full2:
semaphore;
empty:
=1;
full1:
=0;
full2:
=0;
cobegin
R1();
R2();
W1();
W2();
coend;
end;
processR1()
begin
L1:
从磁盘上读入一个数;
P(empty);
将数寄存到缓冲区中;
V(full1);
gotoL1
end;
processR2()
begin
L2:
从键盘上读入一个数;
P(empty);
将数寄存到缓冲区中;
V(full2);
gotoL2
end;
processW1()
begin
L3:
P(full1);
将缓冲区中的数掏出;
V(empty);
打印输出;
gotoL3
end;
processW2()
begin
L4:
P(full2);
将缓冲区中的数掏出;
V(empty);
打印输出;
gotoL4
end;
14.设公共汽车上,司机的活动顺序是:
启动车辆、正常行车、到站停车;售票员的活动顺序是:
关车门、售票、开车门。
现假设初始状态为:
司机和售票员都已经在车上,汽车处于停止状态,车门处于开的状态。
在汽车不断地到站、停车、行驶进程中,请用信号量的PV操作实现司机与售票员之间的同步关系。
参考答案:
第一步:
确信进程
2个进程Driver(司机)、Busman(售票员)
Driver进程:
●启动车辆
●正常行车
●到站停车
Busman进程:
●关车门
●售票
●开车门
第二步:
确信进程的同步、互斥关系
●同步:
当售票员将车门关上后,司机才能够启动车辆
●同步:
当司机到站停车后,售票员打开车门
第三步:
设置信号量
●车门关上,close,初值0
●到站停车,stop,初值0
第四步:
用伪代码描述
begin
close,stop:
semaphore;
close:
=0;
stop:
=0;
cobegin
Driver();
Busman();
coend;
end;
processDriver()
begin
L1:
P(close);
启动车辆;
正常行始;
到站停车;
V(stop);
gotoL1
end;
processBusman()
begin
L2:
关车门;
V(close);
售票;
P(stop);
开车门;
gotoL2
end;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 原理 参考答案