操作系统(第二版)课后习题答案.docxVIP

  • 100
  • 0
  • 约7.41千字
  • 约 9页
  • 2016-11-25 发布于重庆
  • 举报
操作系统(第二版)课后习题答案

1.什么是操作系统?其主要功能是什么? 操作系统是控制和管理计算机系统内各种硬件和软件资源,有效组织多道程序运行的系统软件(或程序集合),是用户和计算机直接的程序接口. 2.在某个计算机系统中,有一台输入机和一台打印机,现有两道程序投入运行,程序A、B同时运行,A略早于B。A的运行轨迹为:计算50ms、打印100ms、再计算50ms、打印100ms,结束。B的运行轨迹为:计算50ms、输入80ms、再计算100ms,结束。试说明: (1)两道程序运行时,CPU是否空闲等待?若是,在那段时间段等待? (2)程序A、B是否有等待CPU的情况?若有,指出发生等待的时刻。 0 50 100 150 200 250 300 50 100 50 100 50 100 20 100 cpu有空闲等待,在100ms~150ms的时候. 程序A没有等待cpu,程序B发生等待的时间是180ms~200ms. 1.设公共汽车上,司机和售票员的活动如下: 司机的活动:启动车辆;正常行车;到站停车。 售票员的活动:关车门;售票;开车门。 在汽车不断的到站、停车、行驶过程中,用信号量和P、V操作实现这两个活动的同步关系。 semaphore s1,s2; s1=0;s2=0; cobegin 司机();售票员(); coend process 司机() { while(true) { P(s1) ; 启动车辆; 正常行车; 到站停车; V(s2); } } process 售票员() { while(true) { 关车门; V(s1); 售票; P(s2); 开车门; 上下乘客; } } 2.设有三个进程P、Q、R共享一个缓冲区,该缓冲区一次只能存放一个数据,P进程负责循环地从磁带机读入数据并放入缓冲区,Q进程负责循环地从缓冲区取出P进程放入的数据进行加工处理,并把结果放入缓冲区,R进程负责循环地从缓冲区读出Q进程放入的数据并在打印机上打印。请用信号量和P、V操作,写出能够正确执行的程序。 semaphore sp,sq,sr; int buf;sp=1;sq=0;sr=0; cobegin process P() { while(true) { 从磁带读入数据; P(sp); Buf=data; V(sq); } } process Q() { while(true) { P(sq); data=buf; 加工data; buf=data; V(sr); } } process R() { while(true) { P(sr); data=buf; V(sp); 打印数据; } } coend. 3.简述计数信号量的值与资源使用情况的关系。 当计数信号量大于0时,表示可用资源的数量;当它的值小于0时,其绝对值表示等待使用该资源的进程个数. 假定某计算机系统有R1、R2两类可再用资源(其中R1有两个单位,R2有一个单位),它们被进程P1、P2所共享,且已知两个进程均以下列顺序使用两类资源: →申请R1→申请R2→申请R1→释放R1→释放R2→释放R1→ 试求出系统运行过程中可能到达的死锁点,并画出死锁点的资源分配图。 ①进程P1占有一个R1,一个R2,进程P2占有一个R1. R1 P2 P1 R2 ②进程P1占用一个R1,进程P2占有一个R1,一个R2 R1 P2 P1 R2 系统有同类资源m个,被n个进程共享,问:当mn和m≤n时,每个进程最多可以请求多少个这类资源,使系统一定不会发生死锁? m≤n时,每个进程最多请求1个这类资源时不会死锁;当mn时,如果 m/n商为k, 余数为t:若t为0,每个进程最多请求

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档