您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页操作系统课后习题答案

操作系统课后习题答案

来源:华佗小知识
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

(1) cpu有空闲等待,在100ms~150ms的时候.

(2) 程序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时,其绝对值表示等待使用该资源的进程个数.

1. 假定某计算机系统有R1、R2两类可再用资源(其中R1有两个单位,R2有一个单位),

它们被进程P1、P2所共享,且已知两个进程均以下列顺序使用两类资源: →申请R1→申请R2→申请R1→释放R1→释放R2→释放R1→ 试求出系统运行过程中可能到达的死锁点,并画出死锁点的资源分配图。 ①进程P1占有一个R1,一个R2,进程P2占有一个R1.

R1

P1 P2

R2

②进程P1占用一个R1,进程P2占有一个R1,一个R2

R1

P1 P2

R2

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 (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 R1 2 1 1 4 R2 2 0 0 2 R3 2 2 3 0 (2)系统处于安全状态,存在安全序列:P2→P1→P3→P4. (3)系统能把资源分配给它,存在安全序列:P2→P1→P3→P4. request1=(1,0,1)request2

100112

假分配后 allocation=[]

211002

available=(1,1,2)-(1,0,1)=(0,1,1)

222001need=[]

103420

(4)不能,因为资源不足.

(5)不能,因为这样做会让系统处于不安全状态.

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. 若有如下表所示的4个作业进入系统,分别计算在FCFS、SJF、HRRF算法下平均周转

时间和平均带权周转时间。

作业 1 2 3 4

提交时间 8:00 8:50 9:00 9:50 估计运行时间/min 120 50 10 20 ① FCFS(先来先服务法) 作业 1 2 3 4 到达时间 8:00 8:50 9:00 9:50 运行时间 120min 50min 10min 20min 开始时间 8:00 10:00 10:50 11:00 完成时间 10:00 10:50 11:00 11:20 周转时间 120min 120min 120min 90min 带权周转时间 1 2.4 12 4.5 平均周转时间T =112.5min,平均带权周转时间W=4.975

② SJF(短作业优先法) 作业 1 2 3 4 到达时间 8:00 8:50 9:00 9:50 运行时间 120min 50min 10min 20min 开始时间 8:00 10:30 10:00 11:10 完成时间 10:00 11:20 10:10 10:30 周转时间 120min 150min 70min 40min 带权周转时间 1 3 7 2 平均周转时间T =95min,平均带权周转时间W=3.25 ③ HRRF(高响应比优先法) 作业 1 2 3 4 到达时间 8:00 8:50 9:00 9:50 运行时间 120min 50min 10min 20min 开始时间 8:00 10:10 10:00 11:00 完成时间 10:00 11:00 10:10 11:20 周转时间 120min 130min 70min 90min 带权周转时间 1 2.06 7 4.5 平均周转时间T =102.5min,平均带权周转时间W=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 如下图

2 3 2

1 1 1 2 2

3 1 故有

作业 A B C D

周转时间/min 12 13 7 11 1.在动态分区存储管理下,按地址排列的主存空闲区为:

10KB,4KB,20KB,18KB,7KB,9KB,12KB,15KB。对于下列连续存储区的请求:

(1)12KB,10KB,9KB; (2)12KB,10KB,15KB,18KB。试问:使用最先适应算法、最佳适应算法、循环适应算法,哪个空闲区将被使用? (1)

①最先适应算法:3→1→4 ②最佳适应算法:7→1→6 ③循环适应算法3→4→6 (2)

①最先适应算法:3→1→4 ②最佳适应算法:7→1→8→4 ③循环适应算法:3→4→8

2.一个32位计算机系统使用二级页表,虚地址被分为9位顶级页表、11位二级页表和页内偏移。试问:页面长度是多少?虚地址空间共有多少个页面? 页面长度为4KB,虚地址空间共有220个页面

3.某计算机系统提供24位虚存空间,主存空间为218Byte,采用请求分页虚拟存储管理,页面尺寸为1KB。假定应用程序产生虚拟地址11123456(八进制),而此页面分得的块号为100(八进制),说明此系统如何产生相应的物理地址并写出物理地址。 虚拟地址 (11123456)8=(001001001010011100101110)2

其中前面为页号,而后十位为位移:(001001001010011100101)2 ,由于主存大小为218Byte,页面尺寸大小为1KB,故主存有256块.所以物理地址为(100)8与位移(1100101110)2并接,得八进制物理地址 (0010000001100101110)2=(201456)8

4.某分段管理采用如下段表: 段号 0 1 2 3 4 段长 380 20 105 660 50 内存起始地址 95 525 3300 860 1800 将虚地址(0,260)、(2,200)、(4,42)转换为物理地址。 (0,260)的物理地址为: 260+95=355 (2,200)的物理地址为: 200>105,故越界 (4,42)的物理地址为: 1800+42=1842

5.一个有快表的页式虚拟存储系统,设主存访问周期为1ㅥs ,内外存传送一个页面的平均时间为5ms。如果快表的命中率为75%,缺页中断率为10%,忽略快表的访问时间,试求主存的有效存取时间。

有效存取时间T=1×75%+2×15%+(5000+2)×10%=501.25ㅥs

6.设程序大小为460个字,考虑如下访问序列:

55,20,108,180,79,310,170,255,246,433,458,369 (1)设页面大小为100个字,试给出访问序列页面走向。

(2)假设程序可用主存为200字,采用FIFO,LRU,OPT淘汰算法,求出缺页中断率。 (1)0 0 1 1 0 3 1 2 2 4 4 3 (2)

①FIFO算法如下 页面走向

缺页率为 6÷12=50% ②LRU算法如下 页面走向

缺页率为 7÷12≈58.3% ②OPT算法如下 页面走向

缺页率为 5÷12≈41.7%

0 0 1 1 0 3 1 2 2 4 4 3 0 0 1 1 0 3 1 2 2 4 4 3 0 0 1 1 0 3 1 2 2 4 4 3

1.若两个用户共享一个文件系统,用户甲使用文件A、B、C、D、E,用户乙要使用文件A、D、E、F。已知用户甲的文件A与用户乙的文件A实际不是同一个文件,用户甲、乙的文件D和E是同一个文件。试设计一个文件系统组织方案,使得甲乙能共享此文件系统而又不致造成混乱。 甲 乙

2.设有一个UNIX/LINUX文件,如果一个盘块大小为1KB,每个盘块号占用4Byte,那么,若进程欲访问偏移量263168Byte处的数据,需要经过几次间接寻址? 逻辑块号从0开始编号 263168÷1024=257

故该数据的逻辑块号为257,偏移为0 1024÷4=256

故一个盘块可存放256个索引项

unix/linu文件系统中,前10块为直接寻址,一次间接寻址256块,

257<10+256

故需要一次间接寻址,就可读出该数据.

如果要求读入从文件首到263168Byte处的数据(包括这个数据),读出过程:首先根据直接寻 址读出前10块;读出一次间接索引指示的索引块1块;将索引下标从0~247对应的数据块全部 读入。即可。共读盘块数10+1+248=259块

3.某文件系统采用索引文件结构,设文件索引表的每个表目占用3Byte,存放盘块的块号,盘块的大小为512Byte。此文件系统采用直接、一次间接、二次间接、三次间接索引所能管理的最大磁盘空间是多少? 在该文件系统中

一个盘块可以存放512÷3≈170个索引项,512Byte=0.5KB 故直接寻址能管理的最大空间为:170×0.5KB =85KB

乙文件目录 A D E F

甲文件目录 A B C D E 一次间接: 170×170×0.5KB=14450KB 二次间接: 170×170×170×0.5KB=2456500KB 三次间接: 170×170×170×170×0.5KB=417605000KB

4.设某文件为链接文件,由5个逻辑记录组成,每个逻辑记录的大小与磁盘块大小相等,均为512Byte,并依次存放在50、121、75、80、63号磁盘块上。如要访问文件的第1569逻辑字节处的信息,要访问哪一个磁盘块?

1569÷152=3⋯⋯33

该字节对应的逻辑块号为3(从0开始编号),位于该块偏移33处。因此访问第80块 盘块。

如果要读入该字节,则需从链首开始,逐块读入,直到第80块。所以总的读盘块次 数为4次。

1. 磁盘有200个磁道,编号0~199。现有请求队列:8,18,27,129,110,186,78,147,

41,10,,12。试用下面算法计算处理所有请求所移动的总柱面数。假设磁头的当前位置在磁道100。

(1) FCFS (2)SSTF (3)SCAN,磁头当前正在按升序方向移动 (4)电梯算法,磁头当前正在按升序方向移动。

(1)|100-8|+|18-8|+|27-18|+|129-27|+|110-129|+|186-110|+|78-186|+|147-78|+|41-147|+|10-47|+|-10|+|12-|=728

(2)|100-110|+|110-129|+|129-147|+|147-186|+|186-78|+|78-|+|-41|+|41-27|+|27-18|+|18-12|+|12-10|+|10-8|=2

(3)|100-110|+|110-129|+|129-147|+|147-186|+|186-199|+|199-78|+|78-|+|-41|+|41-27|+|27-18|+|18-12|+|12-10|+|10-8|=290

(4)|100-110|+|110-129|+|129-147|+|147-186|+|186-78|+|78-|+|-41|+|41-27|+|27-18|+|18-12|+|12-10|+|10-8|=2

2. 某磁盘共有200个柱面,每个柱面20个磁道,每个磁道有8个扇区,每个扇区为1024

字节,每个扇区为一块。如果驱动程序接到的访问请求是读出编号为606的块(首块编号0),计算此信息块的物理位置。

磁道从0开始编号,磁头从0开始编号,扇区从0开始编号。 每个柱面的块数:20×8=160块 606÷160= 3⋯⋯26。则柱面号为3

每个柱面中每个磁头对应8块,126÷8=15⋯⋯6,则磁头号为15,扇区号为6. 因此606块对应物理位置(柱面号,磁头号,扇区号)为(3,15,6). 3. 某操作系统采用单缓冲技术传送磁盘数据。设从磁盘传送一块数据到缓冲区的时间为T1,

将缓冲区的一块数据传送到用户区的时间为T2,CPU处理这一块数据的时间为T3。系统处理大量数据时,一块数据的处理时间是多少? MAX(T1,T3)+T2

4.简述SPOOLING系统工作原理。

SPOOLING技术是一种外围设备联机操作技术,它在输入和输出直接增加了输入井和输出井的排队转储环节,提高了设备的I/O速度.

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务