操作系统18章的课后习题答案.docx
- 文档编号:9834869
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:23
- 大小:30.48KB
操作系统18章的课后习题答案.docx
《操作系统18章的课后习题答案.docx》由会员分享,可在线阅读,更多相关《操作系统18章的课后习题答案.docx(23页珍藏版)》请在冰豆网上搜索。
操作系统18章的课后习题答案
1.1:
存储程序式计算机的主要特点是:
集中顺序过程控制
(1)过程性:
模拟人们手工操作
(2)集中控制:
由CPU集中管理(3)顺序性:
程序计数器
1.2:
a:
批处理系统的特点:
早期批处理有个监督程序,作业自动过渡直到全部处理完,而脱机批处理的特点:
主机与卫星机并行操作。
b:
分时系统的特点:
(1):
并行性。
共享一台计算机的众多联机用户可以在各自的终端上同时处理自己的程序。
(2):
独占性。
分时操作系统采用时间片轮转的方法使一台计算机同时为许多终端上同时为许多终端用户服务,每个用户的感觉是自己独占计算机。
操作系统通过分时技术将一台计算机改造为多台虚拟计算机。
(3):
交互性。
用户与计算机之间可以进行“交互会话”,用户从终端输入命令,系统通过屏幕(或打印机)将信息反馈给用户,用户与系统这样一问一答,直到全部工作完成。
c:
分时系统的响应比较快的原因:
因为批量操作系统的作业周转时间较长,而分时操作系统一般采用时间片轮转的方法,一台计算机与许多终端设备连接,使一台计算机同时为多个终端用户服务,该系统对每个用户都能保证足够快的响应时间,并提供交互会话功能。
1.3:
实时信息处理系统和分时系统的本质区别:
实时操作系统要追求的目标是:
对外部请求在严格时间范围内做出反应,有高可靠性和完整性。
其主要特点是资源的分配和调度首先要考虑实时性然后才是效率。
此外,实时操作系统应有较强的容错能力,分时操作系统的工作方式是:
一台主机连接了若干个终端,每个终端有一个用户在使用。
用户交互式地向系统提出命令请求,系统接受每个用户的命令,采用时间片轮转方式处理服务请求,并通过交互方式在终端上向用户显示结果。
用户根据上步结果发出下道命。
分时操作系统将CPU的时间划分成若干个片段,称为时间片。
操作系统以时间片为单位,轮流为每个终端用户服务。
每个用户轮流使用一个时间片而使每个用户并不感到有别的用户存在。
分时系统具有多路性、交互性、“独占”性和及时性的特征。
1-4:
(1):
嵌入式系统是指计算机作为某个专用系统中的一个部件而存在,嵌入到更大的,专用的系统中的计算机系统,是一种以应用为中心,以计算机技术为基础,软件硬件课裁剪,功能,可靠性,成本,体积,功耗有严格要求的专用计算机系统。
(2):
嵌入式操作系统是一种用途广泛的系统软件,过去它主要用于工业控制和国防系统领域。
1.5:
多道程序设计技术是在计算机主存中同时存放几道相互独立的程序,他们在操作系统控制之下,相互穿插地运行。
当某道程序因某种原因不能继续运行下去时(如等待外部设备传输)操作系统便将另一道程序投入运行,这样可以是CPU和各外部设备尽可能地并行操作,从而提高计算机的使用效率。
(2)多道程序运行的特征:
a:
多道:
计算机主存中同时存放几道相互独立的程序 b:
宏观上并行:
同时进入系统的几道程序都处于运行过程中,即它们都开始运行,但都未运行完毕。
c:
微观上串行:
从微观上看,主存中的多道程序轮流或分时的占有处理机,交替执行。
1.6:
分时技术是把处理机时间划分成很短的时间片(如几百毫秒)轮地分配给各个应用程序使用,如果某个程序在分配的时间片用完之前计算还未完成,该程序就暂停执行,等待下一轮继续计算。
此时处理机让给另一个用户程序使用。
1.7:
a:
操作系统是计算机系统中所有软件与硬件想连接的第一层软件,它在裸机上运行。
同时是系统软件和应用软件运行的基础。
操作系统是计算机中管理所有硬件和软件的软件。
操作系统是一个大型的程序系统,它负责计算机系统软,硬件资源的分配;控制和协调并发活动;提供用户接口,使用户获得良好的工作环境。
b:
操作系统的特性是
(1):
并发 能处理多个同时性活动的能力。
在单机上,可以在CPU和I/O设备上同时操作。
(2):
共享 多个计算机任务对系统资源的共同享用。
(3):
不确定性 操作系统能处理大量的,随机的事件序列,使各用户的计算任务正确地完成。
1.8:
操作系统的资源管理功能包括处理机管理,存储管理,输入/输出管理和文件系统管理这四大功能。
其中处理机管理 和输入输出管理这两个功能与计算机系统的硬部件有关 。
1-10:
Windows系统是嵌入式操作系统。
1-11:
UNIX系统是一个多用户分时操作系统,Linux是类似于UNIX操作系统的个人计算机操作系统。
1-12:
操作系统应该解决的基本问题有:
a:
资源分配的策略和方法 b:
协调并发活动的关系 c:
保证数据的一致性 d:
实现数据的存取控制
1-13:
操作系统的类型主要有:
批量操作系统,分时操作系统,实时操作系统,个人计算机操作系统,网络操作系统和分布式操作系统这几种。
1-14:
在多用户多任务操作系统中,所采用的关键技术有并行处理技术和虚拟技术。
第二章
2-1:
操作系统虚拟机是就是一个操作系统上,通过虚拟机软件的方式,虚拟出另外一台机器出来,操作系统虚拟机提供了协助用户解决问题的环境,其功能是通过它提供的命令来体现的,用户也是通过这一组命令和操作系统虚拟机打交道。
2-2:
在设计操作系统时,可以考虑的结构组织有模块结构,接口和运行时的组织结构三个方面。
2-3:
处理机的态又称为处理机的特权级,就是处理机当前处于何种状态,正在执行哪类程序。
要区分处理机的态是因为操作系统的管理程序和用户程序在处理机上执行时,二者的职责不同,权限也不同,为此,根据对资源和机器指令的使用权限,将处理执行时的工作状态区分为不同的态。
2-4:
管态又称为系统态,是操作系统的管理程序执行时机器所处的状态。
用户态又称为目态,是用户程序执行时机器所处的状态,在此状态下禁止使用特权指令。
这两者的区别是管态可以在它对应的状态下中央处理机可以使用全部的指令,包括一组特权指令,而用户态在它对应的状态下禁止使用特权指令,管态可以使用所有的资源,允许访问整个存储区,用户态却不能直接取用资源与改变机器状态,并且只允许用户程序访问自己的存储区域。
2-5:
中断是是指某个事件(例如电源掉电,定点加法溢出或I/O传输结束等)发生时,系统中止现行程序的运行,引出处理该事件的程序进行处理,处理完毕后返回断点,继续执行。
在计算机系统中要引进中断的原因是为了实现并发活动,为了实现计算机系统的自动化工作,系统必须具备处理中断的能力。
2-6:
按中断的功能来分,中断的类型有输入输出中断,外中断,机器故障中断,程序性中断,访管中断。
2-7:
强迫性中断,这类中断事件不是正在运行的程序所期待的,而是由某种事故或外部请求信号所引起的。
自愿中断是运行程序所期待的事件,这种事件是由于运行程序请求操作系统服务而引起的。
例如在按功能所分的五大类中断中,输入输出中断,外中断,机器故障中断,程序性中断属于强迫性中断,访管中断属于自愿中断类型。
2-8:
中断与俘获的不同在于:
中断由处理机外部事件引起的中断,在x86中称之为异步中断,它是随着CPU的时钟随机产生的,可能发生在一条指令执行过程中,也可能发生在一条指令执行后,包括I/O中断,外中断。
俘获由处理机内部事件引起的中断,在x86中称为异常,也称为同步中断,包括访管中断,程序性中断,机器故障中断。
同步中断指的是由CPU控制单元产生,是在一条指令执行完毕后才会发出中断,如执行了一条INT指令。
2-9:
中断响应是当中央处理机发现已有中断请求时,中止现行程序执行,并自动引出中断处理程序的过程。
,其实质是交换用户程序和处理该中断事件的中断处理程序的指令执行地址和处理器状态,以达到如下目的:
(1)保留程序断点及有关信息
(2)自动转入相应的中断处理程序执行。
2-12:
当中断发生时,由中断源自己引导处理机进入中断服务程序的中断过程称为向量中断。
提高中断的处理速度,在向量中断中,对于每一个中断类型都设置一个中断向量,中断向量就是该类型中断的中断服务例行程序的入口地址和处理器状态字。
2-13:
软件的中断处理过程主要分为三个阶段过程:
(1)保护现场和传递参数
(2)执行相应的中断(或自陷)服务例程(3)恢复和退出中断
图如下:
第3章
3-1:
系统生成是指为了满足物理设备的约束和需要的系统功能,通过组装一批模块来产生一个清晰的,使用方便的操作系统的过程。
3-2:
系统引导的主要任务是将操作系统的必要部分装入主存并使系统运行,最终处于命令接受状态。
3-3:
处理应用程序分为的步骤有:
(1)编辑(修改):
建立一个新文件,或对已有的文件中的错误进行修改。
(2)编译:
将源程序翻译成浮动的目标代码,完成这一步工作需要有相应语言编译器,如源程序是C语言写的,那么必须要有C编译器
(3)连接:
将主程序和其他所需要的子程序和例行程序连接装配在一起,使之成为一个可执行的,完整的主存映像文件。
(4)运行:
将主存映像文件调入主存,并启动运行,最后得出计算结果。
这些步骤之间的联系,具体表现为:
a:
每个步骤处理的结果产生下一个步骤所需要的文件。
b:
一个步骤能否正确执行,依赖于前一个步骤是否成功的完成。
3-4:
静态连接与动态连接的区别在于:
静态连接,当有多个应用程序都需要调用同一个库函数时,这多个应用程序的目标文件中都将包含这个外部函数对应的代码;动态连接不需要将应用程序所需要的外部函数代码从库中提取出来并连接到目标文件中,而是在应用程序需要调用外部函数的地方做记录,并说明要使用的外部函数名和引用入口号,形成调用链表。
3-5:
用户与操作系统的接口是:
程序接口,命令接口,图形接口。
一个分时系统提供的接口有操作接口和程序接口。
一个批处理系统提供的接口是:
系统功能调用和作业控制语言
3-6:
Windows系统提供的用户接口是图形化用户界面。
3-8 什么是系统调用?
对操作系统的服务请求与一般的子程序调用有什么区别?
答:
系统调用是用户在程序一级请求操作系统服务的一种手段,它不是一条简单的指令,而是带有一定功能号的访管指令。
区别:
操作系统服务的功能都是与操作系统本身有关的,对它的调用是通过一条访管指令来实现的。
3-10 简述系统调用的执行过程?
答:
执行过程:
在用户程序中,需要请求操作系统服务的地方安排一条系统调用,这样当程序执行到这一条指令时就会发生中断,系统由用户态转为管态,操作系统的访管中断处理程序得到控制权,它将按系统调用的功能号,借助例行子程序入口地址表转到相应的例行程序去执行在完成用户需要的服务功能后,退出中断,返回到用户程序的断点继续执行。
第四章
4-1试解释下列名词,程序的顺序执行,程序的并行执行
答:
一个计算机由若干操作组成,若这些操作必须按照某种先后次序来执行,以保证操作结果的正确性,就是程序顺序执行。
程序的并行执行时指:
若干程序同时在系统中运行,这些程序的执行在时间上是重叠的,一个程序的执行尚未结束,另一个程序的执行已经开始。
4-2.什么是时间有关的错误?
试举例说明。
答:
程序并行执行时共享了公共变量,其执行结果将与并行执行的相对速度有关,即,给定相同的初始条件,也可能得到不同的结果,此为与时间的有关错误,例如:
在程序A和程序B中,共享了变量N=3,程序A进行N++,程序B进行printf和N=0操作,由于程序A和程序B共享N,所以A和B的执行顺序不同会得到不同的结果,就产生了时间有关错误的问题。
4-3:
进程是:
(1):
进程是这样的计算部分,它是可以和其他计算并行的一个计算。
(2):
进程(有时称为任务)是一个程序与其数据一道通过处理机执行所发生的活动。
(3):
任务(或称为进程)是由一个程序以及与它相关的状态信息(包括寄存器内容,存储区域和链接表)所组成的。
(4):
所谓进程,就是一个程序在给定活动空间和初始环境下,在一个处理机上的执行过程。
(5)根据1978年在庐山召开的全国操作系统会议上关于进程的讨论,结合国外的各种观点,国内对进程这一概念做了如下描述:
进程是指一个具有一定独立功能的程序关于某个数据集合的一次运行活动。
进程与程序的主要区别:
a:
程序是指令的有序集合,是一个静态概念,其本身没有任何运行的含义。
而进程是程序在处理机上的一次执行过程,是一个动态概念。
程序可以作为一种软件资料长期保存,而进程则是有一定生命期的,它能够动态地产生和消亡。
即进程可由”创建“而产生,由调度而执行,因得不到资源而暂停,以致最后由”撤销“而消亡。
b:
进程是一个能独立运行的单位,能与其他进程并行地活动。
c:
进程是竞争计算机系统有限资源的基本单位,也是进行处理机调度的基本单位。
4-4:
(1)顺序程序的操作是有先后次序的,原因是:
以保证操作结果的正确性。
并发程序的操作是可以并发执行的,原因:
系统中存在大量的操作,就可以进行并发执行处理,提高系统的处理能力和计算机的利用率。
4-6:
进程的基本状态:
运行状态,就绪状态,等待状态。
在一个系统中必须区分这几种状态的原因是 :
1)系统中处理机的数目总是少于进程数,只有少数进程能够获得处理机控制权。
2)有些进程已经获得处理机控制权(运行状态);
3)有些进程希望获得处理控制权但因处理机太少而暂时得不到(就绪);
4)有些处理机因某种原因暂时不能运行(等待)。
4-9:
(1)变迁2发生的原因是:
时间片到;变迁3发生的原因是:
服务请求(如请求I/O等);变迁4发生的原因是:
服务完成、事件来到。
(2):
在运行的状态下,进程因请求某种服务而变成等待状态,当请求的事件完成后,处于等待状态的进程并不能恢复到运行状态,而是转变为就绪状态,通过重新调度程序才能转变为运行状态。
(3):
a:
2->1,c:
4—>1与b:
3->2的因果关系可能发生,在阻塞的情况下或者运行因请求某种服务,运行可变成等待状况;在唤醒的情况下或者当请求的事件完成后,处于等待状态的进程并不能恢复到运行状态,等待可变成就绪;通过重新调度程序才能转变为运行状态。
4-10:
原因:
线程在活动期间,其状态时不断变化的,这些变化是有系统运行的状况,同时存在其他线程和线程本身的算法等因素共同决定的。
4-11:
进程控制块是一个数据结构,是标识进程存在的实体。
作用是:
当系统创建一个进程时,必须为他设置一个进程控制块(PCB),然后根据PCB的信息对进程实施控制和管理,进程任务完成时,系统撤销它的PCB,进程也随之消亡。
总之进程控制块具有控制和管理的作用。
4-12:
n个并发进程共用一个共用一个公共变量Q,写出用信号灯实现n个进程互斥时的程序描述,给出信号灯值的取值范围,并说明每个取值的物理意义。
main()
{
intmutex=1;
cobegin
P1();
P2();
Pn();
coend
}
P1() P2() Pn()
{ { {
... ... ...
P(mutex); P(mutex); P(mutex);
cs1; cs2; csn;
v(mutex); v(mutex); v(mutex);
} } }
对于两个并发进程,互斥信号灯的值仅取1、0、-1三个值。
若mutex=1,表示没有进程进入临界区;
若mutex=0,表示有一个进程进入临界区;
若mutex=-1,表示一个进程进入临界区,另一个进程等待进入。
4-13:
图4.30(a)、(b)分别给出了两个进程流图。
试用信号灯的P、V操作分别实现图4.30(a)、(b)所示的两组进程之间的同步,并写出程序描述。
a:
P1 P2 P3
M P(S2); P(S3)
v(S1); M M
v(S2); M M
v(S3);
4-15:
main()
{
intsa=1,sb=0;//sa表示缓冲区s是否为空,sb表示是否有数据可被处理。
intta=1,tb=0;//ta表示缓冲区t是否为空,tb表示是否有数据可被处理。
cobegin
get;
copy;
put;
coend
}
Get(){ Copy(){ Put(){
while
(1){ while
(1){ while
(1){
P(sa); P(sb); P(tb);
inputdatatobuffers copydatafrombuffers; outputdatatobuffers;
V(sb); V(sa); V(ta);
} P(ta); }
} inputcopy-datatobuffert; }
V(tb);
}
}
4-16:
a:
进程的互斥是当某一进程正在访问某一存储区域时,就不允许其他进程来读出或者修改该存储区的内容,否则,就会发生后果无法估计的错误。
进程之间的这种制约关系称为互斥。
b:
进程的同步是:
就是并发进程在一些关键点上可能需要互相等待与互通消息,这种相互制约的等待与互通信息称为进程同步。
c:
同步与互斥这两个概念的区别与联系:
相交进程之间的关系主要有两种,同步与互斥。
所谓互斥,是指散步在不同进程之间的若干程序片断,当某个进程运行其中一个程序片段时,其它进程就不能运行它 们之中的任一程序片段,只能等到该进程运行完这个程序片段后才可以运行。
所谓同步,是指散步在不同进程之间的若干程序片断,它们的运行必须严格按照规定的 某种先后次序来运行,这种先后次序依赖于要完成的特定的任务。
显然,同步是一种更为复杂的互斥,而互斥是一种特殊的同步。
也就是说互斥是两个线程之间不可以同时运行,他们会相互排斥,必须等待一个线程运行完毕,另一个才能运行,而同步也是不能同时运行,但他是必须要安照某种次序来运行相应的线程(也是一种互斥),
互斥:
是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。
但互斥无法限制访问者对资源的访问顺序,即访问是无序的。
同步:
是指在互斥的基础上(大多数情况),通过其它机制实现访问者对资源的有序访问。
在大多数情况下,同步已经实现了互斥,特别是所有写入资源的情况必定是互斥的。
少数情况是指可以允许多个访问者同时访问资源。
4-20:
进程创建的主要功能是:
(1)为新建进程申请一个PCB。
(2)将创建者(即父进程)提供的新建进程的信息填入PCB中。
(3)将新建进程设置为就绪状态,并按照所采用的调度算法,把PCB排入就绪队列中
4.17:
Mian()
{
int
full=0;int
empty=n;int
mutex=1;
cobegin
p1();
p2();
…
;pm();
c1();
c2();
…
;ck();coend}producer(){
while{
…
生产一个产品;
p(empty);
p(mutex);送一个产品到有界缓冲区;
v(metex);
v(full);
}}
consumer(){
while{
p(full);
p(mutex);
从有界缓冲区中取产品;
v(mutex);
v(empty)
…
消费一个产品;}}
4-21:
用于进程控制的原语主要有:
创建原语,撤销原语,阻塞原语,唤醒原语等。
每个原语的执行将使进程的状态发生的变化有:
a:
创建原语:
系统初始化时,每个PCB结构中进程标识符单元内都存放“-1”,表示该PCB结构为空,当创建原语执行成功后,该项内容为新创建进程的标示符。
b:
撤销原语:
使用进程撤销原语,将当前运行的进程的PCB结构归还到PCB资源池,所占用的资源归还给父进程,然后转进程调度程序。
c:
阻塞原语:
阻塞命令的功能是停止调用进程的执行,将CPU现场保留到该进程的PCB现场保护区;然后,改变其状态为“等待”,并插入到等待chan的等待队列;最后使控制转向进程调度。
d:
进程唤醒:
当进程等待事件发生时,唤醒等待该事件的进程。
当发现者进程唤醒了一个等待某事件的进程后,控制仍应返回原进程。
4-22:
答:
线程是比进程更小的活动单位,它是进程中的一个执行路
径。
线程与进程的区别归纳:
a.地址空间和其它资源:
进程间相互独立,同一进程的各线程间共享。
某进程内的线程在其它进程不可见。
b.通信:
进程间通信IPC,线程间可以直接读写进程数据段(如全局变量)来进行通信——需要进程同步和互斥手段的辅助,以保证数据的一致性。
c.调度和切换:
线程上下文切换比进程上下文切换要快得多。
d.在多线程OS中,进程不是一个可执行的实体。
4-24:
(1):
说明一个进程发生变迁3的原因是:
由图可知变迁3是由运行到因I/O而阻塞的一个进程;这个变迁发生的原因是要请求I/O,使程序运行受I/O限制,而变迁2是运行到低优先就绪,变迁4是因I/O而阻塞到高优先就绪。
一个进程如果在运行中超过了它的时间片就进入低优先就绪队列,若一个进程从阻塞状态变为就绪状态时则进入高优先就绪队列。
(2):
有可能发生,2->5是指低优先变为高优先,这情况是,当高优先级就绪队列为空,则从低优先级就绪队列中选中一个进程运行;低优先级其次选择是可转向运行状态;I/O完成时,高优先就绪,然后可进行运行程序;当运行超时间片时,又转向低优先就绪状态;因I/O而阻塞的状态,当I/O完成,可进入高优先就绪状态,自然的下一步就进入运行状态。
4-24:
(1):
说明一个进程发生变迁3的原因是:
由图可知变迁3是由运行到因I/O而阻塞的一个进程;这个变迁发生的原因是要请求I/O,使程序运行受I/O限制,而变迁2是运行到低优先就绪,变迁4是因I/O而阻塞到高优先就绪。
一个进程如果在运行中超过了它的时间片就进入低优先就绪队列,若一个进程从阻塞状态变为就绪状态时则进入高优先就绪
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 18 课后 习题 答案