1、(4) 简述并发与并行的区别?并行是指两个或多个事件同时发生;而并发是指两个或多个事件在同一时间间隔内发生。(6)操作系统有哪些特征?虽然不同操作系统类型具有不同的特征,但它们也有一些共同特征,这就是并发性、共享性、虚拟性及不确定性。第 2 章(1) 进程的定义是什么?它最少有哪几种状态?解:进程就是可以与其他程序并发执行的程序的一次执行过程。最少有执行,就绪和等待三种状态。第 13 页 共 13 页(2) 什么是管态?什么是目态?系统进程运行时,的工作状态称为管态。用户进程运行时,的工作状态称为目态。(6)进程控制块何时产生?何时消除?它有什么作用?操作系统启动后,会生成一些列空闲的进程控制
2、块。当创建进程时,就分配一个进程控制块并初始化,当撤销进程时,就回收进程控制块。进程控制块是进程存在的唯一标识,操作系统是通过进程控制块感知进程存在的。第 3 章处理机调度(1) 单道批处理系统中有 4 个作业,其有关情况如表 3-9 所示。在采用响应比高者优先调度算法、先来先服务、短作业优先调度算法时分别计算其平均周转时间 T 和平均带权周转时间 W。(运行时间为小时,按十进制计算)表3-9作业的提交时间和运行时间作业J1J2J3J4提交时间8.08.68.89.0运行时间2.00.60.20.5响应比高者优先调度算法:在 8.0 时刻,只有 J1 到达,其响应比是 1,J1 开始运行。在
3、10.0 时刻,J1 完成,这时,J2,J3,J4 均到达。J2,J3,J4 的响应比分别是 1+1.4/0.6,1+1.2/0.2,1+1.0/0.5,J3 的响应比最高,J3 开始运行。在 10.2 时刻,J3 完成,这时 J2, J4 的响应比分别是 1+1.6/0.6,1+1.2/0.5,J2 的响应比最高,J2 开始运行。在 10.8 时刻,J2 完成,这时 J4 的响应比 1+1.8/0.5,J4 开始运行。开始时间完成时间周转时间带权周转时间执行顺序10.01.0110.210.82.23.66731.47211.32.34.64平均周转时间为(2.0+1.4+2.2+2.3)/
4、4=1.975 小时, 平均带权周转时间为(1.0+7.0+3.67+4.6)/4=4.067。先来先服务调度算法:10.63.33310平均周转时间为(2.0+2.0+2.0+2.3)/4=2.075 小时, 平均带权周转时间为(1.0+7.0+3.67+4.6)/4=4.733。10.72.74.51.73.4短作业优先调度算法:平均周转时间为(2.0+2.7+1.4+1.7)/4=1.95 小时, 平均带权周转时间为(1.0+4.5+7+3.4)/4=3.975。(2) 何谓 JCB?其作用是什么?JCB 至少包括哪些内容?JCB 就是作业控制块,是系统用来记录作业属性信息的数据结构。系
5、统通过 JCB 感知作业的存在,并通过 JCB 对作业进行控制和管理,JCB 是作业存在的唯一标志。不同系统的 JCB 所包含的信息有所不同,但通常包括以下内容:资源要求,资源使用情况,作业的控制方式,类型及优先权,作业名及作业状态。第 4 章进程同步与通信(1) 什么是临界资源?什么是临界区?对临界资源的访问有哪些原则?一次仅允许一个进程使用的共享资源被称为临界资源。每个进程中访问临界资源的那段程序称为临界区。对临界资源的访问原则是:空闲让进,如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。忙则等待,任何时候,处于临界区内的进程不可多于一个。如已有进程进入自己的临界区,则其它所有
6、试图进入临界区的进程必须等待。有限等待,进入临界区的进程要在有限时间内退出,以便其它进程能及时进入自己的临界区。让权等待,如果进程不能进入自己的临界区,则应让出 CPU,避免进程出现“忙等”现象。(2) 请给出 P、V 操作的定义。如何用 P、V 操作实现进程间的互斥?P 原语操作的动作是:sem 减 1;若 sem 减 1 后仍大于或等于零,则进程继续执行;若 sem 减 1 后小于零,则该进程被阻塞后进入与该信号相对应的队列中,然后转进程调度。V 原语操作的动作是:sem 加 1;若相加结果大于零,则进程继续执行;若相加结果小于或等于零,则从该信号的等待队列中唤醒一等待进程,然后再返回原进
7、程继续执行或转进程调度。由于用于互斥的信号量 sem 与所有的并发进程有关,所以称之为公有信号量。公有信号量的值反映了公有资源的数量。只要把临界区置于 P(sem)和 V(sem)之间,即可实现进程间的互斥,sem 的初值通常设置成 1。使用 P、V 操作实现进程互斥时应该注意的是:每个程序中用户实现互斥的 P、V 操作必须成对出现,先做 P 操作,进临界区,后做V 操作,出临界区。若有多个分支,要认真检查其成对性。P、V 操作应分别紧靠临界区的头尾部,临界区的代码应尽可能短,不能有死循环。互斥信号量的初值一般为 1。(5)设有 6 个进程 P1、P2、P3、P4、P5、P6,它们有如图 3.
8、5 所示的并发关系。试用 P、V 操作实现这些进程间的同步。ore a,b,c,d,e,f=cobegin P1;P2;P3;P4;P5;Psemaph0,0,0,0,0,0;6;coendP1()图 3.5六个合作进程的并发关系P1;V(a);V(b); P2() P(a);V(c);P3() P(b);V(d);P4() P(c);V(e);P5() P(d);V(f);P6() P(e);P(f); P6;(7)有 3 个并发进程 R、M、P,它们共享了一个可循环使用的缓冲区 B,缓冲区 B 共有 n 个单元。进程 R 负责从输入设备读信息,每读一个字符后,把它存入到缓冲区 B 的一个单
9、元中;进程 M 负责处理读入的字符;进程 P 负责把处理后的字符取出并打印输出。只有当缓冲区单元中的字符被进程 P 取出后,才又可用来存放下一次读入的字符。请用 P、V 操作为同步机制写出它们能正确并发执行的程序。解 :semaphore buffer_number=n;semaphore char_number=0; semaphore man_number=0; main() cobeginR;M;P;coend R() while (true)P(buffer_number);read a char to buffer; V(char_number);M()P(char_number);
10、 manipulate a char; V(man_number);P()P(man_number); print a char; V(buffer_number);(11)有一只铁笼子,每次只能放入一只动物,猎手向笼中放入老虎,农民向笼中放 入猪,动物园等待取笼中的老虎,饭店等待取笼中的猪,试用P、V操作实现猎手、农民、 动物园和饭店的同步。(重点)semaphore cage=1; /cage表示可用的铁笼子资源semaphore pig=0; /pig表示可用的猪资源semaphore tiger=0; /tiger表示可用的虎资源main( )cobeginhunter( ); peasant( ); zoo( ); restaurant( );coendhunter( )while (true)P(cage);place a tiger;V(tiger);peasant( )zoo( )place a pig;V(pig);P(tiger);take a tiger;V(cage);restaurant( )P(pig);take a pig;V(c
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1