浙大操作系统原理离线作业答案word精品文档12页.docx
- 文档编号:4037499
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:18
- 大小:36.23KB
浙大操作系统原理离线作业答案word精品文档12页.docx
《浙大操作系统原理离线作业答案word精品文档12页.docx》由会员分享,可在线阅读,更多相关《浙大操作系统原理离线作业答案word精品文档12页.docx(18页珍藏版)》请在冰豆网上搜索。
浙大操作系统原理离线作业答案word精品文档12页
浙江大学远程教育学院
语文课本中的文章都是精选的比较优秀的文章,还有不少名家名篇。
如果有选择循序渐进地让学生背诵一些优秀篇目、精彩段落,对提高学生的水平会大有裨益。
现在,不少语文教师在分析课文时,把文章解体的支离破碎,总在文章的技巧方面下功夫。
结果教师费劲,学生头疼。
分析完之后,学生收效甚微,没过几天便忘的一干二净。
造成这种事倍功半的尴尬局面的关键就是对文章读的不熟。
常言道“书读百遍,其义自见”,如果有目的、有计划地引导学生反复阅读课文,或细读、默读、跳读,或听读、范读、轮读、分角色朗读,学生便可以在读中自然领悟文章的思想内容和写作技巧,可以在读中自然加强语感,增强语言的感受力。
久而久之,这种思想内容、写作技巧和语感就会自然渗透到学生的语言意识之中,就会在写作中自觉不自觉地加以运用、创造和发展。
《操作系统原理》课程作业答案
1.课本、报刊杂志中的成语、名言警句等俯首皆是,但学生写作文运用到文章中的甚少,即使运用也很难做到恰如其分。
为什么?
还是没有彻底“记死”的缘故。
要解决这个问题,方法很简单,每天花3-5分钟左右的时间记一条成语、一则名言警句即可。
可以写在后黑板的“积累专栏”上每日一换,可以在每天课前的3分钟让学生轮流讲解,也可让学生个人搜集,每天往笔记本上抄写,教师定期检查等等。
这样,一年就可记300多条成语、300多则名言警句,日积月累,终究会成为一笔不小的财富。
这些成语典故“贮藏”在学生脑中,自然会出口成章,写作时便会随心所欲地“提取”出来,使文章增色添辉。
进程P0和P1的共享变量定义及其初值为
语文课本中的文章都是精选的比较优秀的文章,还有不少名家名篇。
如果有选择循序渐进地让学生背诵一些优秀篇目、精彩段落,对提高学生的水平会大有裨益。
现在,不少语文教师在分析课文时,把文章解体的支离破碎,总在文章的技巧方面下功夫。
结果教师费劲,学生头疼。
分析完之后,学生收效甚微,没过几天便忘的一干二净。
造成这种事倍功半的尴尬局面的关键就是对文章读的不熟。
常言道“书读百遍,其义自见”,如果有目的、有计划地引导学生反复阅读课文,或细读、默读、跳读,或听读、范读、轮读、分角色朗读,学生便可以在读中自然领悟文章的思想内容和写作技巧,可以在读中自然加强语感,增强语言的感受力。
久而久之,这种思想内容、写作技巧和语感就会自然渗透到学生的语言意识之中,就会在写作中自觉不自觉地加以运用、创造和发展。
booleanflag[2];
intturn=0;
flag[0]=FALSE;flag[1]=FALSE;
若进程P0和P1访问临界资源的类C代码实现如下:
voidP0()//P0进程
{while(TURE){
flag[0]=TRUE;turn=1;
while(flag[1]&&turn==1);
临界区;
flag[0]=FALSE;
voidP1()//P1进程
{while(TURE){
flag[1]=TRUE;turn=0;
while(flag[0]&&turn==0);
临界区;
flag[1]=FALSE;
则并发执行进程P0和P1时产生的情况是:
A.不能保证进程互斥进入临界区、会出现“饥饿”现象
B.不能保证进程互斥进入临界区、不会出现“饥饿”现象
C.能保证进程互斥进入临界区、会出现“饥饿”现象
D.能保证进程互斥进入临界区、不会出现“饥饿”现象
【答案】D
2.有两个进程P1和P2描述如下:
shareddata:
intcounter=6;
P1:
Computing;
counter=counter+1;
P2:
Printing;
counter=counter-2;
两个进程并发执行,运行完成后,counter的值不可能为。
A.4B.5C.6D.7
【答案】C
3.某计算机采用二级页表的分页存储管理方式,按字节编址,页大小为210字节,页表项大小为2字节,逻辑地址结构为:
页目录号页号页内偏移量
逻辑地址空间大小为216页,则表示整个逻辑地址空间的页目录表中包含表项的个数至少是
A.64B.128C.256D.512
【答案】B
4.在动态分区系统中,有如下空闲块:
空闲块块大小(KB)块的基址
18060
275150
355250
490350
此时,某进程P请求50KB内存,系统从第1个空闲块开始查找,结果把第4个空闲块分配给了P进程,请问是用哪一种分区分配算法实现这一方案?
A.首次适应B.最佳适应C.最差适应D.下次适应
【答案】C
5.在一页式存储管理系统中,页表内容如下所示。
页号帧号
02
11
28
若页大小为1K,逻辑地址的页号为2,页内地址为451,转换成的物理地址为
A.8643B.8192C.2048D.2499
【答案】A
6.采用段式存储管理的系统中,若地址用32位表示,其中20位表示段号,则允许每段的最大长度是
A.224B.212C.210D.232
【答案】B
7.在一段式存储管理系统中,某段表的内容如下:
段号段首址段长
0100K35K
1560K20K
2260K15K
3670K32K
若逻辑地址为(2,158),则它对应的物理地址为_____。
A.100K+158B.260K+158C.560K+158D.670K+158
【答案】B
8.一个分段存储管理系统中,地址长度为32位,其中段长占8位,则最大段长是
A.28字节B.216字节C.224字节D.232字节
【答案】C
9.有一请求分页式存储管理系统,页面大小为每页100字节,有一个50×50的整型数组按行为主序连续存放,每个整数占两个字节,将数组初始化为0的程序描述如下:
intA[50][50];
for(inti=0;i<50;i++)
for(intj=0;j<50;j++)
A[i,j]=0;
若在程执行时内存只有一个存储块用来存放数组信息,试问该程序执行时产生次缺页中断。
A.1B.50C.100D.2500
【答案】B
10.一台计算机有4个页框,装入时间、上次引用时间、和每个页的访问位R和修改位M,如下所示:
页装入时间上次引用时间RM
012627900
123026010
212027211
316028011
采用FIFO算法将淘汰页;
A.0B.1C.2D.3
【答案】C
11.一台计算机有4个页框,装入时间、上次引用时间、和每个页的访问位R和修改位M,如下所示:
页装入时间上次引用时间RM
012627900
123026010
212027211
316028011
采用NRU算法将淘汰页;
A.0B.1C.2D.3
【答案】A
12.一台计算机有4个页框,装入时间、上次引用时间、和每个页的访问位R和修改位M,如下所示:
页装入时间上次引用时间RM
012627900
123026010
212027211
316028011
采用LRU算法将淘汰页;
A.0B.1C.2D.3
【答案】B
13.一台计算机有4个页框,装入时间、上次引用时间、和每个页的访问位R和修改位M,如下所示:
页装入时间上次引用时间RM
012627900
123026010
212027211
316028011
采用第二次机会算法将淘汰______页;
A.0B.1C.2D.3
【答案】A
二、综合题
1.4对于实时系统来说,操作系统需要以一种公平的方式支持虚拟存储器和分时系统。
对于手持系统,操作系统需要提供虚拟存储器,但是不需要提供分时系统。
批处理程序在两种环境中都是非必需的。
1.17
a.批处理:
具有相似需求的作业被成批的集合起来,并把它们作为一个整体通过一个操作员或自动作业程序装置运行通过计算机。
通过缓冲区,线下操作,后台和多道程序,运用尝试保持CPU和I/O一直繁忙,从而使得性能被提高。
批处理系统对于运行那些需要较少互动的大型作业十分适用。
它们可以被更迟地提交或获得。
b.交互式:
这种系统由许多短期交易构成,并且下一个交易的结果是无法预知的。
从用户提交到等待结果的响应时间应该是比较短的,通常为1秒左右。
c.分时:
这种系统使用CPU调度和多道程序来经济的提供一个系统的人机通信功能。
CPU从一个用户快速切换到另一个用户。
以每个程序从终端机中读取它的下一个控制卡,并且把输出的信息正确快速的输出到显示器上来替代用soopledcardimages定义的作业。
d.实时:
经常用于专门的用途。
这个系统从感应器上读取数据,而且必须在严格的时间内做出响应以保证正确的性能。
e.网络:
提供给操作系统一个特征,使得其进入网络,比如;文件共享。
f.并行式:
每一个处理器都运行同一个操作系统的拷贝。
这些拷贝通过系统总线进行通信。
g.分布式:
这种系统在几个物理处理器中分布式计算,处理器不共享内存或时钟。
每个处理器都有它各自的本地存储器。
它们通过各种通信线路在进行通信,比如:
一条高速的总线或一个本地的网络。
h.集群式:
集群系统是由多个计算机耦合成单一系统并分布于整个集群来完成计算任务。
i.手持式:
一种可以完成像记事本,email和网页浏览等简单任务的小型计算机系统。
手持系统与传统的台式机的区别是更小的内存和屏幕以及更慢的处理能力。
2.3:
1.通过寄存器来传递参数
2.寄存器传递参数块的首地址
3.参数通过程序存放或压进堆栈中,并通过操作系统弹出堆栈。
2.12Answer:
优点主要包括以下几点:
a)增加一个新的服务不需要修改内核
b)在用户模式中比在内核模式中更安全、更易操作
c)一个简单的内核设计和功能一般导致一个更可靠的操作系统
用户程序和系统服务通过使用进程件的通信机制在微内核中相互作用,例如发送消息。
这些消息由操作系统运送。
微内核最主要的缺点是与进程间通信的过度联系和为了保证用户程序和系统服务相互作用而频繁使用操作系统的消息传递功能。
3.2:
总的来说,操作系统必须保存正在运行的进程的状态,恢复进程的状态。
保存进程的状态主要包括CPU寄存器的值以及内存分配,上下文切换还必须执行一些确切体系结构的操作,包括刷新数据和指令缓存。
(书中答案)进程关联是由进程的PCB来表示的,它包括CPU寄存器的值和内存管理信息等。
当发生上下文切换时,内核会将旧进程的关联状态保存在其PCB中,然后装入经调度要执行的新进程的已保存的关联状态。
3.4:
Parent:
value=8。
4.4答:
一个线程程序的线程共享堆内存和全局变量,但每个线程都有属于自己的一组寄存值和栈内存。
4.7答:
c行会输出10,p行会输出0.
5.4答:
a.甘特图
FCFS
P1
P2
P3
P4
P5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
SJF
P2
P4
P3
P5
P1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Non-preemptivePriority
P2
P5
P1
P3
P4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
RR(quantum=1)
P1
P2
P3
P4
P5
P1
P3
P5
P1
P5
P1
P5
P1
P5
P1
P1
P1
P1
P1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
b.TurnaroundTime
Process
FCFS
SJF
NPP
RR(quantum=1)
P1
10
19
16
19
P2
11
1
1
2
P3
13
4
18
7
P4
14
2
19
4
P5
19
9
6
14
Average
13.4
7.2
12
9.2
c.WaitingTime
Process
FCFS
SJF
NPP
RR(quantum=1)
P1
0
9
6
9
P2
10
0
0
1
P3
11
2
16
5
P4
13
1
18
3
P5
14
4
1
9
Average
9.6
3.2
8.2
5.4
d.SJF
5.5答:
最短作业优先调度和优先级调度算法会引起饥饿
5.7答:
a.时间片是1毫秒:
不论是哪个进程被调度,这个调度都会为每一次的上下文切换花费一个0.1毫秒的上下文切换。
CPU的利用率是1/1.1*100=92%。
b.时间片是10毫秒:
这I/O限制任务会在使用完1毫秒时间片后进行一次上下文切换。
这个时间片要求在所有的进程间都走一遍,因此,10*1.1+10.1(因为每个I/O限定任务执行为1毫秒,然后承担上下文切换的任务,而CPU限制任务的执行10毫秒在承担一个上下文切换之前)。
因此,CPU的利用率是20、21.1*100=94%。
6.01【参考答案】
信号量mutex的作用是保证各生产者进程和消费者进程对缓冲池的互斥访问。
信号量empty和full均是资源信号量,它们分别对应于缓冲池中的空闲缓冲区和缓冲池中的产品,生产者需要通过wait(empty)来申请使用空闲缓冲区,而消费者需要通过wait(full)才能取得缓冲中的产品,可见,这两个信号量起着同步生产者和消费者的作用,它们保证生产者不会将产品存放到满缓冲区中,而消费者不会从空缓冲区中取产品。
在生产者—消费者问题中,如果将两个wait操作,即wait(full)和wait(mutex)互换位置,或者wait(empty)和wait(mutex)互换位置,都可能引起死锁。
考虑系统中缓冲区全满时,若一生产者进程先执行了wait(mutex)操作并获得成功,当再执行wait(empty)操作时,它将因失败而进入阻塞状态,它期待消费者执行signal(empty)来唤醒自己,在此之前,它不可能执行signal(mutex)操作,从而使企图通过wait(mutex)进入自己的临界区的其他生产者和所有的消费者进程全部进入阻塞状态,系统进入死锁状态。
类似地,消费者进程若先执行wait(mutex),后执行wait(full)同样可能造成死锁。
signal(full)和signal(mutex)互换位置,或者signal(empty)和signal(mutex)互换位置,则不会引起死锁,其影响只是使某个临界资源的释放略为推迟一些。
6.02【参考答案】
如图示并发进程之间的前趋关系,为了使上述进程同步,可设置8个信号量a、b、c、d、e、f、g、h,它们的初值均为0,而相应的进程可描述为(其中“…”表示进程原来的代码):
main()
cobegin{
P1(){…;signal(a);signal(b);}
P2(){wait(a);…;signal(c);signal(d);}
P3(){wait(b);…;signal(e);signal(f);}
P4(){wait(c);wait(e);…;signal(g);}
P5(){wait(d);wait(f);…;signal(h);}
P6(){wait(g);wait(h);…;}
}coend
6.03【参考答案】
(1)生产者进程的临界区是第4行和第5行;消费者进程的临界区是第3行和第4行。
(2)信号量full、empty和mutex的初值分别是:
empty=8,full=0,mutex=1。
(3)系统可能会产生死锁。
例如,生产者进程得到信号量mutex,但是没有空缓冲区即empty≤0时,此时生产者进程阻塞;而消费者进程又无法得到信号量mutex,此时消费者进程也阻塞,系统产生了死锁。
(4)增加一个信号量mutex1,初值为1,其算法如下:
ProducerProcessConsumerProcess
intitemp;intitemc;
while
(1){while
(1){
1itemp=rand();//Generateanumber1wait(full);
2wait(empty);2wait(mutex);
3wait(mutex1);3itemc=buf[nextc];
4buf[nextp]=itemp;4nextc=(nextc+1)%8;
5nextp=(nextp+1)%8;5signal(mutex);
6signal(mutex1);6signal(empty);
7signal(full);7cout< 6.04【参考答案】 设置三个信号: s1表示数据a是否读入,s2表示数据b是否读入,s3表示数据y=a*b计算是否完成。 P1和P2两个进程的同步算法如下: semaphores1=0,s2=0,s3=0; main() cobegin{ P1: P2: input(a);wait(s1); signal(s1);input(b); wait(s2);signal(s2); x=a+b;y=a*b; wait(s3);signal(s3); Print(x,y,z); }coend 7.1【参考答案】 (1)在此处,产生死锁的四个必要条件如下: 1)互斥条件。 每个车道的每段道路只能被一辆车占用。 2)请求与保持条件。 每个车队占用了一个车道,并请求前方的车道,即使需等待前方车道上的车队驶离,它仍将持有已占用的车道。 3)不抢占(剥夺)条件。 在前方的车道被其它车队占用时,因为是单车道,而其它车队又不会后退,所以无法从其它车队处抢占车道。 4)环路等待条件。 向东行驶的车队等待向北行驶的车队让出车道,向北行驶的车队等待向西行驶的车队让出车道,向西行驶的车队等待向南行驶的车队让出车道,而向南行驶的车队则等待向东行驶的车队让出车道。 故存在一循环等待链。 (2)增加一个约束条件: 只有前方两个路口都空闲时,才能占用第一个路口。 或者,可在十字路口设置一交通信号灯,并使南北方向的两个车队和东西方向的两个车队互斥地使用十字路口,便可避免交通死锁。 7.11【参考答案】 (1)尚需资源数矩阵如下: Need=Max–Allocation Need A B C D P0 0 0 0 0 P1 0 7 5 0 P2 1 0 0 2 P3 0 0 2 0 P4 0 6 4 2 (2)系统是安全的,因为可以找到一个安全序列: (3)如P1申请(0,4,2,0),则: Request1(0,4,2,0)<=need1(0,7,5,0) Request1(0,4,2,0)<=available(1,5,2,0) 新的状态为 AllocationMaxNeedAvailable P00012001200001100 P1142017500330 P2135423561002 P3063206520020 P4001406560642 该状态是安全的,存在安全序列如 8.3【参考答案】根据First-fit、Best-fit、Worst-fit算法,计算结果如下: First-fit: 212K进程装到500K分区 417K进程装到600K分区 112K进程装到200K分区 426K进程暂时等待 Best-fit: 212K进程装到300K分区 417K进程装到500K分区 112K进程装到200K分区 426K进程装到600K分区 Worst-fit: 212K进程装到600K分区 417K进程装到500K分区 112K进程装到300K分区 426K进程暂时等待 仅就本题为例,Best-fit算法是最好的。 8.5Answer: 连续内存分配会产生外部碎片,因为地址空间是被连续分配的,当旧进程结束,新进程初始化的时候,洞会扩大。 连续内存分配也不允许进程共享代码,因为一个进程的虚拟内存段是不被允许闯入不连续的段的。 纯段式分配也会产生外部碎片,因为在物理内存中,一个进程的段是被连续放置的,以及当死进程的段被新进程的段所替代时,碎片也将会产生。 然而,段式分配可以使进程共享代码;比如,两个不同的进程可以共享一个代码段,但是有不同的数据段。 纯页式分配不会产生外部碎片,但会产生内部碎片。 进程可以在页granularity中被分配,以及如果一页没有被完全利用,它就会产生内部碎片并且会产生一个相当的空间浪费。 在页granularity,页式分配也允许进程共享代码。 8.9【参考答案】 (1)400纳秒,其中,200纳秒访问页表,200纳秒访问内存中的数据。 (2)有效访问时间=0.75*(200纳秒访问内存数据+0纳秒访问关联寄存器)+0.25*(200纳秒访问内存数据+200纳秒访问页表)=250纳秒 8.12【参考答案】 (1)219+430=649 (2)2300+10=2310 (3)第2段的有效长度是100。 段内偏移量500超过了这个上限,所以这是个非法地址 (4)1327+400=1727 (3)第4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 浙大 操作系统 原理 离线 作业 答案 word 精品 文档 12