操作系统原理结果解析

上传人:豆浆 文档编号:20364482 上传时间:2017-11-22 格式:DOC 页数:19 大小:1.32MB
返回 下载 相关 举报
操作系统原理结果解析_第1页
第1页 / 共19页
操作系统原理结果解析_第2页
第2页 / 共19页
操作系统原理结果解析_第3页
第3页 / 共19页
操作系统原理结果解析_第4页
第4页 / 共19页
操作系统原理结果解析_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《操作系统原理结果解析》由会员分享,可在线阅读,更多相关《操作系统原理结果解析(19页珍藏版)》请在金锄头文库上搜索。

1、习题二参考答案(P43) 2-1 什么是核态?什么是用户态? 答:核态是指系统程序执行时,机器所处的状态。 用户态是指用户程序执行时,机器所处的状态。2-2 为什么必须区分二态?系统如何区分出二态? 答:二态是指核态(系统程序执行时处理机所处的状态)和用户态(用户程序执行时处理机所处的状态) 。 操作系统是计算机系统中最重要的系统软件,为了能正确地进行管理和控制,其本身是不能被破坏的。为此,系统应能建立一个保护环境,因此系统必须区分处理机的工作状态。系统中有两类程序在运行,它们的任务是不同的,系统程序是管理和控制者,用户程序是被管理和被控制的对象,因此应将它们运行时处理机的工作状态区分出来,即

2、系统必须区分二态。系 2-5 按中断的功能来分,中断有哪几种类型? 答:按中断的功能来分,中断有如下五种类型: I/O 中断 外中断 硬件故障中断 程序性中断 访管中断 2-8 什么是程序状态字?在微机中它一般由哪两个部分组成? 答:程序状态字是指反映程序执行时机器所处的现行状态的代码。 在微机中它一般由指令计数器(PC)和处理机状态寄存器(PS) 。2-9 什么是向量中断?什么是中断向量? 答:向量中断是指当中断发生时,由中断源自己引导处理机进入中断服务程序的中断过程。中断向量就是存储该类型中断服务例行程序的入口地址和处理器状态字的存储单元。 2-12 什么是操作系统虚拟机? 答:操作系统是

3、最基本的系统软件,它是硬件功能的第一层扩充。配置了操作系统的计算机称为操作系统虚拟机。扩充了的计算机除了可以使用原来裸机提供的各种基本硬件指令,还可以使用操作系统增加的许多其它指令。习题三参考答案(P54) 3-1 用户与操作系统的接口是什么?一个分时系统提供什么接口?一个批处理系统又提供什么接口? 答:用户与操作系统的接口是指操作系统提供给用户与计算机打交道的外部机制。 一个分时系统提供的接口有系统功能调用和键盘操作命令。 一个批处理系统提供的接口有系统功能调用和作业控制语言。 3-2 计算机对用户算题任务的加工过程一般分哪几个作业步?各作业步之间的关系如何?用自己的上机体会说明。 答:计算

4、机对用户算题任务的加工过程一般分四个作业步:编辑、编译、连接和运行。 各作业步之间的关系如下: 前一个作业步的结果是下一个作业步的操作对象; 一个作业步的成功完成依赖于上一个作业步的成功 完成。 3-3 什么是系统调用?对操作系统的服务请求与一般的子程序调用有什么区别? 答:系统调用是操作系统提供给编程人员的惟一接口。编程人员利用系统调用,在源程序一级动态请求和释放系统资源,调用系统中已有的系统功能来完成那些与机器硬件部分相关的工作以及控制程序的执行速度等。因此,系统调用像一个黑箱子那样,对用户屏蔽了操作系统的具体动作而只提供有关的功能。系统调用与一般过程调用的主要区别如下: 系统调用程序是在

5、核心态执行,调用它们需要一个类似于硬件中断处理的中断处理机制来提供系统服务。 (也可按上课时讲的三个方面来阐述) 3-5 简述系统调用的执行过程。 答:系统调用命令的具体格式因系统而异,但由用户程序进入系统调用的步骤及执行过程大体相同: 首先,将系统调用命令所需的参数(如功能号)或参数区首址装入指定寄存器;然后,在用户程序中适当的位置安排一条调用系统功能指令。至于系统调用命令的功能号,有的系统直接在调用指令中给出,有的系统则把它作为系统调用命令的参数,在调用时放入指定寄存器。 当用户程序执行到调用系统功能的指令时,就转到系统调用的处理程序执行。其过程如下:(1 )为执行系统调用命令做准备,即将

6、用户程序的“现场 ”保存起来,同时把系统调用命令的编号等参数放入约定的存储单元。 (2)根据系统调用命令的编号查找系统调用入口表,找到相应系统功能调用子程序的入口地址,然后转到该子程序执行。当系统调用命令执行完毕,相应的结果通常返回给参数,这些参数放在约定的存储单元里。 (3 )系统调用命令执行完毕后的处理,包括恢复用户程序执行的“现场”信息,同时把系统调用命令的返回参数或参数区首址放入指定的寄存器中,以供用户程序使用。习题四参考答案(P97) 4-3 什么是进程?进程与程序的主要区别是什么? 答:进程,即是一个具有一定独立功能的程序关于某个数据集合的一次活动。 进程与程序的主要区别是: (1

7、 )程序是指令的有序集合,是一个静态概念,其本身没有任何运行的含义,进程是程序在处理机上的一次执行过程,是一个动态概念。 (2)程序作为软件资料可长期保存,而进程是有生命期的,因创建而产生、因调度而执行、因得不到资源而暂停、因撤消而消亡。( 3)程序是记录在介质上指令的有序集合,而进程则由程序、数据和进程控制块 3 部分组成。 (4 )进程与程序之间无一一对应关系。不同的进程可以包含同一程序,同一程序在执行中也可以产生多个进程。 (5)进程是一个独立的运行单位,也是系统进行资源分配和调度的独立单位。而程序无此概念。 4-6 进程有哪几个基本状态?试画出进程状态变迁图,并标明发生变迁的可能原因。

8、 答:进程有三个基本状态:运行状态、就绪状态和等待状态(又称阻塞、挂起、睡眠) 。(a)解:Main() int s12=0,s13=0,s14=0; cobegin P1; P2; P3; P4; coend P1() p1 execute; V(s12); V(s13); V(s14); P2() P(s12); p2 execute; P3() P(s13); p3 execute; P4() P(s14); p4 execute; (b)略解:Main()int sa=1,sb=0;/ sa表示缓冲区S是否为空,sb表示是否为满。int ta=1,tb=0;/ ta表示缓冲区T是否为空

9、,tb表示是否为满。Cobeginget; copy; put; coend Get()while(1) P(sa); input data 6to buffer S; V(sb); Copy () while(1) P(sb); copy data from buffer S; V(sa); P(ta); input copy-data to buffer T; V(tb); Put() while(1) P(tb); output data to buffer S; V(ta); 4-12 什么是进程的互斥与同步?同步和互斥这两个概念有什么联系和区别? 答:在操作系统中,当一个进程进入临界

10、区使用临界资源时,另一个进程必须等待,当占用临界资源的进程退出临界区后,另一进程才被允许去访问此临界资源。我们称进程之间的这种相互制约关系为互斥。 进程同步是指多个相关进程在执行次序上的协调。这些进程相互合作,在一些关键点上可能需要互相等待或互通消息。 4-13 在一个实时系统中,有两个进程 p 和 q,它们是循环运行的。循环进程 p 每隔 1 秒钟由脉冲寄存器(REG )获得输入,并把它累计到一个整型变量(W)中,同时清除脉冲寄存器。循环进程 q 则每隔 1 小时输出这个整形变量的内容并把它复位。系统提供标准的 I/O过程 input 和 output,并提供系统调用命令 delay(sec

11、onds)。试拟定出这两个进程并发活动的程序描述。 解:设置一个互斥信号量 mutex 用来实现进程 p 和 q 对共享变量 W 的互斥使用。 Main() int mutex=1; int W=0; cobegin p; q; coend p()while(1) delay(1); P(mutex); W=W+input(REG); V(mutex); REG=0; q() while(1) delay(3600); P(mutex); output(W); W=0; V(mutex); 4-18 什么是线程?线程和进程有什么区别? 答:线程有时也称为轻量级进程,它是比进程更小的活动单位,它

12、是进程中的一个执行路径。一个进程可以有多个执行路径即线程。 线程和进程的主要区别如下:(1 )线程是进程的一个组成部分。一个进程可以有多个线程,而且至少有一个可执行的线程。 (2)进程是资源分配的基本单位,它拥有自己的地址空间和各种资源。线程是处理机调度的基本单位,它只能和其他线程共享进程的资源,而本身并不具有任何资源。 (3)进程的多个线程都在进程的地址空间内活动。这样,在以线程为单位进行处理机调度和切换时,由于不发生资源变化特别是地址空间的变化,因此切换时间较短。而以进程为单位进行处理机调度和切换时,由于涉及到资源转移及现场保护等问题,将导致切换时间变长和资源利用率降低。 (4)线程和进程

13、一样,都有自己的状态和相应的同步机制。但是,由于线程没有自己单独的程序和数据空间,因而不能像进程的程序和数据那样交换到外存去。 (5 )进程的调度和控制大多由操作系统的内核完成,而线程的控制既可以由操作系统内核完成,也可以由用户控制完成。习题六参考答案(P132) 6-2 某系统进程调度状态变迁图如图 6.5 所示(设调度方式为非剥夺方式) ,请说明: (1 )什么原因将引起发生变迁 2、变迁 3、变迁 4? (2 )当观察系统中所有进程时,能够看到某一进程产生的一次状态变迁能引起另一进程作一次状态变迁,在什么情况下,一个进程的变迁 3 能立即引起另一个进程发生变迁 1? (3 )下述因果变迁

14、是否可能发生?如果可能的话,在什么情况下发生? (a ) 3-1;(b )3-2;(c)2-1(2 )正在运行的进程因等待某事件的发生而变为等待状态的变迁 3,在就绪队列非空时会立即引起一个就绪进程被调度执行的变迁 1。 (3)a.3-1 的因果变迁可能发生 正在运行的进程因等待某事件的发生而变为等待状态的变迁 3,在就绪队列非空时必然引起一个就绪进程被调度执行的变迁 1。b.3-2 的因果变迁不可能发生。 c.2-1 的因果变迁必然发生 正运行的进程因时间片到变为就绪状态的变迁 2,必然引起一个就绪进程被调度执行的变迁 1。 6-3 若题 2 中所采用的调度为可剥夺式,请回答题 2 中提出的

15、问题: (1)什么原因将引起发生变迁 2、变迁 3、变迁 4? (2 )当观察系统中所有进程时,能够看到某一进程产生的一次状态变迁能引起另一进程作一次状态变迁,在什么情况下,一个进程的变迁 3 能立即引起另一个进程发生变迁 1? (3 )下述因果变迁是否可能发生?如果可能的话,在什么情况下发生? (a ) 3-1;(b )3-2;(c)2-1 解答:(1)当运行进程在分得的时间片内未完成,时间片到将发生变 迁 2;或者新创建一个进程或一个等待进程变成就绪,它具有比当前进程更高的优先级,也将发生变迁 2。当运行进程在执行过程中,需要等待某事件的发生才能继续向下执行,此时会发生变迁 3。 当等待进程等待的事件发生了,将会发生变迁 4。 (2 )正在运行的进程因等待某事件的发生而变为等待状态的变迁 3,在就绪队列非空时会立即引起一个就绪进程被调度执行的变迁 1。 (3)a.3-1 的因果变迁可能发生 正在运行的进程因等待某事件的发生而变为等待状态的变迁 3,在就绪队列非空时必然引起一个就绪进程被调度执行的变迁 1。b.3-2 的因果变迁不可能发生。 c.2-1 的因果变迁必然发生 正运行的进程因时间片到变为就绪状态的变迁 2,必然引起一个就绪进程被调度执行的变迁 1。或者新创建一个进程或一个等待进程变成就绪,它具有比当前进程更高的优先级

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 经济/贸易/财会 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号