操作系统作业 参考答案
第一章作业---操作系统引论 ........................................................................................... 1 第二章作业—进程和线程 ............................................................................................... 1 第三章作业—-死锁 ......................................................................................................... 3 第四章作业---调度 ........................................................................................................... 4 第五章作业---存储管理 ................................................................................................... 5 第六章作业---文件系统 ................................................................................................... 6 第七章作业---输入/输出管理 .......................................................................................... 7
第一章作业---操作系统引论
1。什么是操作系统?其主要功能是什么?
2。在某个计算机系统中,有一台输入机和一台打印机,现有两道程序投入运行,程序A、B同时运行,A略早于B。A的运行轨迹为:计算50ms、打印100ms、再计算50ms、打印100ms,结束。B的运行轨迹为:计算50ms、输入80ms、再计算100ms,结束。试说明:
(1)两道程序运行时,CPU是否空闲等待?若是,在那段时间段等待? (2)程序A、B是否有等待CPU的情况?若有,指出发生等待的时刻。 简答:(1)存在空闲等待,时间为100ms~150ms之间
(2)A无等待,但B有等待,B等待时间段为180ms~200ms
第二章作业—进程和线程
1. 设公共汽车上,司机和售票员的活动如下:
司机的活动:启动车辆;正常行车;到站停车。 售票员的活动:关车门;售票;开车门。
在汽车不断的到站、停车、行驶过程中,用信号量和P、V操作实现这两个活动的同步关系。
答:semaphore s1,s2;
s1=0;s2=0; cobegin
司机();售票员(); coend
process 司机() {
while(true) {
1
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;
2
V(sr); } }
process R() {
while(true) {
P(sr); data=buf; V(sp);
打印数据; } }
coend.
3. 简述计数信号量的值与资源使用情况的关系。
第三章作业—-死锁
1. 假定某计算机系统有R1、R2两类可再用资源(其中R1有两个单位,R2有一个单位),
它们被进程P1、P2所共享,且已知两个进程均以下列顺序使用两类资源: →申请R1→申请R2→申请R1→释放R1→释放R2→释放R1→ 试求出系统运行过程中可能到达的死锁点,并画出死锁点的资源分配图。 答:,两个进程都执行完第一步,系统进入不安全状态。这个无论哪个进程执行完第二步,死锁都会发生。可能到达的死锁点:进程P1占有一个R1、一个R2,进程P2占有一个R1。或者相反。就形成死锁。 (略死锁点的资源分配图)
2. 系统有同类资源m个,被n个进程共享,问:当m>n和m≤n时,每个进程最多可以
请求多少个这类资源,使系统一定不会发生死锁?
答:m≤n时,每个进程最多请求1个这类资源时不会死锁;当m>n时,如果 m/n商为k,余数为t:若t为0,每个进程最多请求k个,若t不为0,每个进程最多请求k+1个,则系统不会发生死锁。
3. 设当前的系统状态如下,此时Available=(1,1,2). 进程 R1 P1 P2 P3 P4 3 6 3 4 2 1 1 2 Max R2 R3 2 3 4 2 R1 1 5 2 0 Allocation R2 0 1 1 0 R3 0 1 1 2 3
(1)、计算各个进程还需要的资源数 (2)、系统是否处于安全状态?为什么? (3)、进程P2发出请求向量request2=(1,0,1),系统能把资源分配给它吗? (4)、若在进程P2申请资源后,P1发出请求向量request1=(1,0,1),系统能把资源分配给它吗? (5)、若在进程P1申请资源后,P3发出请求向量request3=(0,0,1),系统能把资源分配给它吗? 答:(1)
进程 P1 P2 P3 P4
(2)安全。存在安全序列:P2→P1→P3→P4 (3)可以分配。存在安全序列::P2→P1→P3→P4 (4)不可分配,资源不足。 (5)不可分配,不安全。
剩余需求 (2,2,2) (1,0,2) (1,0,3) (4,2,0) 第四章作业---调度
1. 有5个批处理作业A~E均已到达计算中心,其运行时间分别为2min、4min、6min、8min、
10min。若采用时间片轮转算法,时间片为2min,计算出平均作业周转时间。 答:
作业 A B C D E 执行时间 2 4 6 8 10 等待时间 0 8 14 18 20 周转时间 2 12 20 26 30
平均周转时间=(2+12+20+26+30)/5=18min
2. 若有如下表所示的4个作业进入系统,分别计算在FCFS、SJF、HRRF算法下平均周转
时间和平均带权周转时间。
作业 1 2 3 4
4
提交时间 8:00 8:50 9:00 9:50 估计运行时间/min 120 50 10 20 简答:
算法 FCFS SJF HRRF 平均周转时间 112.5 95 102.5 平均带权周转时间 4.975 3.25 3.775
3. 多道批处理系统中有一台处理器和两台外部设备(I1和I2),用户存储空间为100MB。
已知系统的作业调度及进程调度采用可抢占的高优先级调度算法(优先数越大优先级别越高),主存采用不可移动的可变分区分配策略,设备分配遵循动态分配原则。现有4个作业同时提交给系统,如下表所示。求作业的平均周转时间。
作业名 A B C D 优先数 7 3 9 4 运行时间及顺序/min CPU:1 I1:2 I2:2 CPU:3 I1:1 CPU:2 I1:3 CPU:2 CPU:4 I1:1 主存需求/MB 50 10 60 20 简答:
A的周转时间=12
B的周转时间=13 C的周转时间=7 D的周转时间=11
平均周转时间=10.75分钟
第五章作业---存储管理
1. 在动态分区存储管理下,按地址排列的主存空闲区为:
10KB,4KB,20KB,18KB,7KB,9KB,12KB,15KB。对于下列连续存储区的请求:
(1)12KB,10KB,9KB; (2)12KB,10KB,15KB,18KB。试问:使用最先适应算法、最佳适应算法、循环适应算法,哪个空闲区将被使用? 答:(1)
算法 最先适应算法 最佳适应算法 循环适应算法 (2)
算法 最先适应算法 最佳适应算法 循环适应算法
5
使用的空闲区(数字为区号) 3-1-4 7-1-6 3-4-6 使用的空闲区(数字为区号) 3-1-4 7-1-8-4 3-4-8
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库电子版操作系统作业参考答案在线全文阅读。
相关推荐: