教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 互联网资料 >

操作系统(1~8章的课后习题答案)(2)

来源:网络收集 时间:2026-09-05
导读: 3-8 什么是系统调用?对操作系统的服务请求与一般的子程序调用有什么区别? 答:系统调用是用户在程序一级请求操作系统服务的一种手段,它不是一条简单的指令,而是带有一定功能号的访管指令。 区别:操作系统服务

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() {

int mutex=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() {

int sa=1,sb=0;// sa 表示缓冲区s 是否为空,sb 表示是否有数据可被处理。 int ta=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);

input data to buffer s copy data from buffer s; output data to buffer s;

V(sb); V(sa); V(ta);

} P(ta); }

} input copy-data to buffer t; } V(tb); } }

…… 此处隐藏:1092字,全部文档内容请下载后查看。喜欢就下载吧 ……
操作系统(1~8章的课后习题答案)(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/444871.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)