Linux操作系统课后答案文档格式.docx
- 文档编号:6854221
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:42
- 大小:791.19KB
Linux操作系统课后答案文档格式.docx
《Linux操作系统课后答案文档格式.docx》由会员分享,可在线阅读,更多相关《Linux操作系统课后答案文档格式.docx(42页珍藏版)》请在冰点文库上搜索。
操作系统使整个计算机系统实现了高效率和高度自动化。
操作系统的主要特征有:
并发性,共享性,不确定性。
1-7操作系统的管理功能有哪些?
其中,哪些功能与计算机系统的硬部件相关?
操作系统的管理功能有进程管理、存储管理、设备管理和文件系统。
上述管理功能均与计算机系统的硬部件相关,进程管理与处理机相关,存储管理与内存相关,设备管理与各种外部设备相关,文件管理与辅存相关。
1-8设一个计算机系统有输入机一台、打印机两台,现有A、B两道程序同时投入运行,且程序A先运行,程序B后运行。
程序A的运行轨迹为:
计算50ms,打印信息100ms,再计算50ms,打印信息100ms,结束。
程序B运行的轨迹为:
计算50ms,输入数据80ms,再计算100ms,结束。
回答如下问题:
(1)用图画出这两道程序并发执行时的工作情况。
(2)说明在两道程序运行时,CPU有无空闲等待?
若有,在哪段时间内等待?
为什么会空闲等待?
在两道程序运行时,CPU有空闲等待。
当程序A进入打印操作后,程序B计算50ms后也进入输入操作,而程序A打印操作尚未结束,且无其它用户程序需要计算,此时CPU有空闲。
(3)程序A、B运行时有无等待现象?
在什么时候会发生等待现象?
程序A运行时无等待现象,程序B运行时有等待现象。
当程序B在50ms计算后进入80ms的输入操作,在输入操作执行50ms时CPU被程序A强占,而当程序B输入操作完成后程序A仍未释放CPU,此时程序B处于等待状态。
习题二参考答案
2-1什么是操作系统虚拟机?
操作系统是最基本的系统软件,它是硬件功能的第一层扩充。
配置了操作系统的计算机称为操作系统虚拟机。
扩充了的计算机除了可以使用原来裸机提供的各种基本硬件指令,还可以使用操作系统增加的许多其它指令。
2-2在设计操作系统时,可以考虑的结构组织有哪几种?
在设计操作系统时,可以考虑的结构组织有单体系统、层次式系统、微内核、客户机-服务器模式。
2-3什么是处理机的态?
为什么要区分处理机的态?
所谓处理机的态是指处理机当前处于何种状态,正在执行哪类程序。
操作系统是计算机系统中最重要的系统软件,为了能正确地进行管理和控制,其本身是不能被破坏的。
为此,系统应能建立一个保护环境,因此系统必须区分处理机的工作状态。
系统中主要分为系统程序和用户程序两类程序在运行,它们的任务是不同的。
系统程序是管理和控制者,将它们运行时处理机的工作状态称为管态;
用户程序是被管理和被控制的对象,将它们运行时处理机的工作状态称为用户态。
2-4什么是管态?
什么是用户态?
二者有何区别?
处理器在执行系统程序时所处的状态称为管态;
处理器在执行用户程序时所处的状态称为用户态。
处理器在管态和用户态下具有不同的权限:
在管态下允许CPU使用全部资源和全部指令,其中包括一组特权指令;
在用户态下禁止使用特权指令,不能直接使用系统资源与改变CPU状态,并且只能访问用户程序所在的存储空间。
2-5什么是中断?
在计算机系统中为什么要引进中断?
中断是指某个事件(例如,电源掉电、俘点运算溢出、外部设备传输完成或出错等)发生时,系统中止现运行程序的执行,引出处理事件程序对相应事件进行处理,处理完毕后返回断点继续执行。
为了实现多道程序设计技术、提高资源利用率,在计算机系统中引进中断。
2-6按中断的功能来分,中断有哪几种类型?
按中断的功能来分,中断有如下五种类型:
I/O中断
外中断
硬件故障中断
程序性中断
访管中断
2-7什么是强迫性中断?
什么是自愿中断?
试举例说明。
强迫性中断的中断事件不是正在运行的程序所期待的,而是由某种事故或外部请求信号所引起的。
如I/O中断、外中断、机器故障中断、程序性中断属于这类中断。
自愿性中断的中断事件是运行程序所期待的,这种事件由运行程序请求操作系统服务而引起的。
访管中断属于这类中断。
2-8中断和俘获有什么不同?
中断和俘获是按中断事件的来源不同划分的。
中断也叫外中断,指中断事件来源于处理机的外部,如I/O中断、外中断;
俘获也叫内中断,指中断事件来源于处理机的内部,如硬件故障中断、程序性中断、访管中断。
2-9什么是中断响应?
其实质是什么?
中断响应是处理机发现有中断请求时,暂停现运行程序的执行,并自动引出中断处理程序的过程。
其实质是交换指令执行地址和处理机的状态信息。
2-10试用图画出中断响应的过程。
如下所示。
2-11什么是程序状态字?
在微机中它一般由哪两个部分组成?
程序状态字是指反映程序执行时机器所处的现行状态的代码,并存放在特定的寄存器中。
在微机中它一般由指令计数器(PC)和处理机状态寄存器(PS)两部分组成。
2-12什么是向量中断?
什么是中断向量?
向量中断是指当中断发生时,由中断源自己引导处理机进入中断服务程序的中断过程。
中断向量就是存储该类型中断服务例行程序的入口地址和处理器状态字的存储单元。
2-13软件的中断处理过程主要分为哪几个阶段?
试用图画出软件的中断处理过程。
软件的中断处理过程主要分为三个阶段:
保护现场、执行中断处理程序和恢复现场。
2-14试说明Linux系统的核心结构。
Linux系统的核心结构如下图所示。
习题三参考答案
3-1什么是系统生成?
系统生成是指在一台裸机上(或者安装新的操作系统)安装操作系统的过程。
3-2系统引导的主要任务是什么?
系统引导(或系统初启)的任务是:
将操作系统的必要部分装入主存并使系统运行,最终处于命令接收状态。
3-3什么是作业?
什么是作业步?
作业是要求计算机系统按指定步骤对初始数据进行处理并得到计算结果的加工过程。
加工工作中的一个步骤称为作业步。
3-4处理应用程序分哪几个作业步?
这些步骤之间有什么关系?
计算机对用户算题任务的加工过程一般分四个作业步:
编辑、编译、连接和运行。
各作业步之间的关系如下:
前一个作业步的结果是下一个作业步的操作对象;
一个作业步的成功完成依赖于上一个作业步的成功完成。
3-5静态连接和动态连接有什么区别?
在静态链接中,链接程序将需要的外部函数代码从静态链接库中拷贝到执行文件中,因此得到的可执行文件比较大,而且执行文件在不存在库函数的环境下也能执行(因为执行文件本身已经包含了它所需要的库函数的完整拷贝),换句话说,静态库不需要与可执行文件一起发行。
在动态链接中,链接程序不没有将需要的外部函数代码拷贝到可执行程序中,而是在可执行程序中需要调用外部函数的地方做标记,从而形成一个函数调用链表;
在执行文件执行过程中根据调用的需要动态的加载或卸载DLL文件,换句话说,DLL文件需要与不包含它的可执行文件一起发行(因为包含DLL文件,所以动态链接方式产生的可执行文件比较小)。
3-6用户与操作系统的界面是什么?
一个分时系统提供什么界面?
一个批处理系统又提供什么界面?
用户与操作系统的界面是操作系统提供给用户与计算机打交道的外部机制,用户能够借助这种机制和系统提供的手段来控制用户所在的系统。
操作系统的用户界面分为操作界面和程序界面。
任何一类操作系统都必须同时提供操作界面和程序界面。
一个分时系统提供的界面是键盘命令(或图形化的用户界面)和系统调用。
一个批处理系统提供的界面是作业控制语言和系统调用。
3-7Windows提供什么样的用户界面?
Windows提供的操作界面是图形化的用户界面;
提供的程序界面是系统调用(如WindowsWin32API)。
3-8UNIX、Linux系统的用户界面是什么?
UNIX、Linux系统提供的操作界面是Shell(基于文本命令行界面)和图形用户界面(XWindows);
提供的程序界面是系统调用,如fork、open等。
3-9什么是系统调用?
对操作系统的服务请求与一般的子程序调用有什么区别?
系统调用是操作系统提供给编程人员的唯一接口。
编程人员利用系统调用,在源程序一级动态请求和释放系统资源,调用系统中已有的系统功能来完成那些与机器硬件部分相关的工作以及控制程序的执行速度等。
因此,系统调用像一个黑箱子那样,对用户屏蔽了操作系统的具体动作而只提供有关的功能。
系统调用与一般过程调用的主要区别如下:
系统调用程序是在核心态执行,调用它们需要一个类似于硬件中断处理的中断处理机制来提供系统服务。
3-10假定某系统提供硬件的访管指令(如形式为“svcn”),为了实现系统调用,系统设计者应做哪些工作?
用户又如何请求操作系统服务?
系统设计者应该编写相应的访管中断处理程序,该程序的功能是根据指令中的功能号n将CPU切换到用户需要的服务例程。
用户必须提供所需服务例程对应的功能号n。
3-11简述系统调用的执行过程。
系统调用命令的具体格式因系统而异,但由用户程序进入系统调用的步骤及执行过程大体相同:
首先,将系统调用命令所需的参数(如功能号)或参数区首址装入指定寄存器;
然后,在用户程序中适当的位置安排一条调用系统功能指令。
至于系统调用命令的功能号,有的系统直接在调用指令中给出,有的系统则把它作为系统调用命令的参数,在调用时放入指定寄存器。
当用户程序执行到调用系统功能的指令时,就转到系统调用的处理程序执行。
其过程如下:
(1)为执行系统调用命令做准备,即将用户程序的“现场”保存起来,同时把系统调用命令的编号等参数放入约定的存储单元。
(2)根据系统调用命令的编号查找系统调用入口表,找到相应系统功能调用子程序的入口地址,然后转到该子程序执行。
当系统调用命令执行完毕,相应的结果通常返回给参数,这些参数放在约定的存储单元里。
(3)系统调用命令执行完毕后的处理,包括恢复用户程序执行的“现场”信息,同时把系统调用命令的返回参数或参数区首址放入指定的寄存器中,以供用户程序使用。
习题四参考答案
4-1试解释下列名词:
程序的顺序执行、程序的并发执行。
一个程序由若干个程序段组成,而这些程序段的执行必须是顺序的,这种程序执行的方式就称为程序的顺序执行。
若干个程序段同时在系统中运行,这些程序的执行在时间上是重迭的,一个程序段的执行尚未结束,另一个程序段的执行已经开始,即使这种重迭是很小的,也称这几个程序段是并发执行的。
4-2什么是与时间有关的错误?
当程序并发执行时,系统处于一个复杂的动态组合状态,各程序执行的相对速度不确定,这使得(即使初始条件相同)这些程序多次并发执行得到的结果不同,其中有一个结果是正确的,而其他的是错误的。
这些错误与并发程序执行的相对速度有关,是与时间有关的错误。
例如,三个并发执行程序的誊抄。
其中,get程序负责从输入序列f中读取字符,并送到缓冲区s中;
copy程序把缓冲区s中的数据复制到缓冲区t中去;
put程序从缓冲区t中取出数据打印。
若程序写出:
while(誊抄未完成){
cobegin
copy;
put;
get;
coend
}
copy、put、get三个程序段并发执行,就有六种组合:
假设此时的状态为:
f=(r1,r2,...,rn);
s=r2,t=r1,g=(r1))
1、copy;
put;
get
2、copy;
get;
put
3、put;
copy;
4、put;
copy
5、get;
6、get;
易知,如果按照1和2的执行顺序可以得到正确的誊抄结果,而3、4、5、6的执行顺序都会到错误的誊抄结果(即产生了与时间相关的错误)。
4-3什么是进程?
进程与程序的主要区别是什么?
进程即是一个具有一定独立功能的程序关于某个数据集合的一次活动。
进程与程序的主要区别是:
(1)程序是指令的有序集合,是一个静态概念,其本身没有任何运行的含义,进程是程序在处理机上的一次执行过程,是一个动态概念。
(2)程序作为软件资料可长期保存,而进程是有生命期的,因创建而产生、因调度而执行、因得不到资源而暂停、因撤消而消亡。
(3)程序是记录在介质上指令的有序集合,而进程则由程序、数据和进程控制块3部分组成。
(4)进程与程序之间无一一对应关系。
不同的进程可以包含同一程序,同一程序在执行中也可以产生多个进程。
(5)进程是一个独立的运行单位,也是系统进行资源分配和调度的独立单位。
而程序无此概念。
4-4图4-2标明程序段执行的先后次序。
其中I表示输入操作、C表示计算操作、P表示打印操作,下角标说明是对哪个作业进行上述操作。
请指明:
(1)哪些操作必须有先后次序,其原因是什么?
(2)哪些操作可以并发执行,其原因又是什么?
(1)Ii必须先于Ci执行,Ci必须先于Pi执行,这是因为同一个作业的这三个操作之间具有逻辑上的严格的先后执行次序;
Ii必须先于Ii+1执行,Ci必须先于Ci+1执行,Pi必须先于Pi+1执行,这是因为Ii和Ii+1共享输入设备、Ci和Ci+1共享CPU、Pi和Pi+1共享输出设备。
(2)Ii+1和Ci、Pi-1可以并发执行,因为这三个进程分属于不同的作业,且它们占据的是不同的资源。
4-5如下图所示,设一誊抄程序,将f中记录的序列正确誊抄到g中,这一程序由get、copy、put三个程序段组成,它们分别负责获得记录、复制记录、输出记录。
请指出这三个程序段对f中的m个记录进行处理时各种操作的先后次序,并画出誊抄此记录序列的先后次序图。
(假设f中有1,2,…,m个记录,s,t为设置在主存中的软件缓冲区,每次只能装一个记录。
)
(不是很明白题目的要求,所以给出三个程序段正确完成誊抄的算法)。
输入:
f
输出:
g
if(f不为空)then
{
get(s,f);
//从f中读入一个字符放入缓冲区s
while
(1)
{
if(s中的字符不是结束符)
then
{
copy(t,s);
cobegin
get(s,f);
put(g,t);
coend
}
else
put(g,t);
break;
}//while
4-6进程有哪几个基本状态?
在一个系统中为什么必须区分出这几种状态。
进程有三个基本状态:
运行状态、就绪状态和等待状态(又称阻塞、挂起、睡眠)。
因为多道程序设计技术的引入,使得多个进程可以并发执行。
并发执行的进程之间由于合作具有直接制约关系或由于共享资源具有间接制约关系,使得它们的执行过程具有“执行——暂停——执行——暂停——执行——…”的动态特征,因此需要对进程在其生命周期内所处于的不同状态进行区分,以便对进程进行分析、管理和控制。
4-7试用图画出批处理系统的进程状态变迁图。
4-8试用图画出分时系统的进程状态变迁图。
如下所示
4-9某系统进程状态变迁图如下图所示,请回答下列问题:
(1)什么原因会导致发现变迁2、3、4?
(2)当观察系统中进程时,可能看到某一进程产生的一次状态变迁将引起另一进程作一次状态变迁,这两个变迁称为因果变迁。
在什么情况,一个进程的变迁3能立即引起另一个进程的变迁1?
(3)下述因果变迁是否可能发生?
如果可能的话,在什么情况下发生?
a.2->
1b.3->
2c.4->
1
(1)如图中所示。
(2)正在运行的进程因请求资源未得到满足而变为等待状态的变迁3,必然引起一个就绪进程被调度执行的变迁1(只要就绪队列不为空)。
(3)
a.正运行的进程因时间片到变为就绪状态的变迁2,必然引起一个就绪进程被调度执行的变迁1。
b.3->
2不可能。
c.当一进程从等待状态变为就绪状态的变迁4,在该进程的优先级最高且系统采用抢占式调度时,就会引起该进程又被调度执行的变迁1。
4-10某系统进程状态除了三个基本状态外,又增加了创建状态、完成状态两种新的状态,试用图画出增加新状态后的进程状态变迁图,并说明发生每一种变迁的原因。
如下图所示:
4-11什么是进程控制块?
它有什么作用?
存放进程的管理和控制信息的数据结构称为进程控制块。
它是进程管理和控制的最重要的数据结构,系统通过它感知进程的存在。
4-12什么是线程?
线程和进程有什么区别?
线程有时也称为轻量级进程,它是比进程更小的活动单位,它是进程中的一个执行路径。
一个进程可以有多个执行路径即线程。
线程和进程的主要区别如下:
(1)线程是进程的一个组成部分。
一个进程可以有多个线程,而且至少有一个可执行的线程。
(2)进程是资源分配的基本单位,它拥有自己的地址空间和各种资源。
线程是处理机调度的基本单位,它只能和其他线程共享进程的资源,而本身并不具有任何资源。
(3)进程的多个线程都在进程的地址空间内活动。
这样,在以线程为单位进行处理机调度和切换时,由于不发生资源变化特别是地址空间的变化,因此切换时间较短。
而以进程为单位进行处理机调度和切换时,由于涉及到资源转移及现场保护等问题,将导致切换时间变长和资源利用率降低。
(4)线程和进程一样,都有自己的状态和相应的同步机制。
但是,由于线程没有自己单独的程序和数据空间,因而不能像进程的程序和数据那样交换到外存去。
(5)因为同一进程内的线程共享内存和文件,因此它们之间相互通信无须调用内核。
(6)进程的调度和控制大多由操作系统的内核完成,而线程的控制既可以由操作系统内核完成,也可以由用户控制完成。
4-13试说明进程创建的主要功能是什么?
进程创建的主要功能是形成被创建进程所对应的进程控制块PCB。
4-14用于进程控制的原语主要有哪几个?
每种原语的执行将使进程的状态发生什么变化?
(1)创建原语,创建一个就绪状态的进程,使进程从创建状态变迁为就绪状态;
(2)撤销原语,使进程从执行状态变迁为完成状态;
(3)阻塞原语,使进程从运行状态变迁为阻塞状态;
(4)唤醒原语,使进程从阻塞状态变迁为就绪状态。
4-15n个并发进程共用一个公共变量Q,写出用记录型信号量实现n个进程互斥时的程序描述,给出信号量的取值范围,请说明每个取值的物理意义。
varmutex:
=1;
begin
processi:
begin//i=1,2,…,n
repeat
P(mutex);
对公共变量Q的访问
V(mutex);
remaindersection
untilfalse;
end
信号量mutex的取值范围为:
mutex.value∈[1,-(n-1)]。
①值为1时,表示没有进程访问公共变量Q;
②值为0时,表示有一个进程正在访问公共变量Q;
③值<
0时,表示有一个进程正在访问公共变量Q,同时又|mutex.value|个进程等待访问公共变量Q。
4-16图4-30(a)、4-30(b)分别给出了两个进程流图。
试用信号灯的P、V操作实现如图中所示进程之间的同步,并写出程序描述。
(a)
main()
vars12,s13,s14:
=0,0,0;
cobegin
P1();
P2();
P3();
P4();
coend
P1()
p1execute;
V(s12);
V(s13);
V(s14);
P2()
P(s12);
p2execute;
P3()
P(s13);
p3execute;
P4()
P(s14);
p4execute;
(b)
vars57,s67:
=0,0;
P5();
P6();
P7();
P5()
p5execute;
V(s57);
P6()
P6execute;
V(s67);
P7()
P(s57);
P(s67);
P7execute;
4-17如下图所示的进程流图中,有五个进程合作完成某一任务。
说明这五个进程之间的同步关系,并用信号灯的P、V操作实现之,要求写出程序描述。
五个进程间的同步关系是:
P2、P3、P4必须等待P1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 操作系统 课后 答案
![提示](https://static.bingdoc.com/images/bang_tan.gif)