Linux操作系统课后答案.docx
《Linux操作系统课后答案.docx》由会员分享,可在线阅读,更多相关《Linux操作系统课后答案.docx(42页珍藏版)》请在冰豆网上搜索。
习题一参考答案
1-1存储程序式计算机的主要特点是什么?
答:
存储程序式计算机(即冯·诺依曼型计算机)的主要特点是集中顺序过程控制。
它模拟手工操作过程,由CPU集中管理,通过程序计数器控制指令的顺序执行每一个指令。
1-2批处理系统和分时系统各具有什么特点?
为什么分时系统的响应比较快?
答:
批处理系统中操作人员将作业成批装入计算机并由计算机管理运行,在程序的运行期间用户不能干预,因此批处理系统的特点是:
用户脱机使用计算机,作业成批处理,系统内多道程序并发执行以及交互能力差。
分时系统中不同用户通过各自的终端以交互方式共同使用一台计算机,计算机以“分时”的方法轮流为每个用户服务。
分时系统的主要特点是:
多个用户同时使用计算机的同时性,人机问答方式的交互性,每个用户独立使用计算机的独占性以及系统响应的及时性。
分时系统一般采用时间片轮转的方法,使一台计算机同时为多个终端用户服务,因此分时系统的响应比较快。
1-3实时信息处理系统和分时系统从外表看来很相似,它们有什么本质的区别呢?
答:
实时信息处理系统是指用计算机对实时数据进行处理的系统。
它要求必须在规定的时间内做出响应,一般要求响应时间为秒级、毫秒级甚至微秒级,比分时系统要求严格。
实时系统要求高可靠性和安全性,不要求很强的会话功能。
而分时系统只要求系统及时做出响应,具有很强的会话功能。
1-4什么是多道程序设计技术?
试述多道程序运行的特征?
答:
多道程序设计技术是指同时把多个作业(程序)放入内存并允许它们交替执行和共享系统中的各类资源;当一道程序因某种原因(如I/O请求)而暂停执行时,CPU立即转去执行另一道程序。
多道程序运行具有如下特征:
Ø多道:
计算机内存中同时存放几道相互独立的程序。
Ø宏观上并行:
同时进入系统的几道程序都处于运行过程中,它们先后开始了各自的运行,但都未运行完毕。
Ø微观上串行:
从微观上看,内存中的多道程序轮流或分时地占有处理机,交替执行。
1-5什么是分时技术?
答:
把处理机时间分成若于个大小相等(或不相等)的时间单位,称为时间片,每个终端用户获得CPU,就等于获得一个时间片,该用户程序开始运行,当时间片到(用完),用户程序暂停运行,等待下一次运行。
1-6什么是操作系统?
操作系统的主要特征是什么?
答:
操作系统是一个大型的程序系统,它负责计算机系统软、硬件资源的分配与回收;控制和协调并发活动;实现信息的存取和保护;提供用户接口,使用户获得良好的工作环境,为用户扩展新的系统功能提供软件平台。
操作系统使整个计算机系统实现了高效率和高度自动化。
操作系统的主要特征有:
并发性,共享性,不确定性。
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简述系统调用的执行过程。
答:
系统调用命令的具体格式因系统而异,但由用户程序进入系统调用的步骤及执行过程大体相同:
首先,将系统调用命令所需的参数(如功能号)或参数区首址装入指定寄存器;然后,在用户程序中适当的位置安排一条调用系统功能指令。
至于系统调用命令的功能号,有的系统直接在调用指令中给出,有的系统则把它