浙大远程操作系统原理离线作业及答案_第1页
浙大远程操作系统原理离线作业及答案_第2页
浙大远程操作系统原理离线作业及答案_第3页
浙大远程操作系统原理离线作业及答案_第4页
浙大远程操作系统原理离线作业及答案_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——浙大远程操作系统原理离线作业及答案操作系统原理离线作业

一、单项选择题1.

进程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]临界区;flag[0]=FALSE;}}

voidP1()//P1进程{while(TURE){

flag[1]=TRUE;turn=0;while(flag[0]临界区;flag[1]=FALSE;}}

则并发执行进程P0和P1时产生的状况是:D

A.不能保证进程互斥进入临界区、会出现“饥饿〞现象B.不能保证进程互斥进入临界区、不会出现“饥饿〞现象C.能保证进程互斥进入临界区、会出现“饥饿〞现象D.能保证进程互斥进入临界区、不会出现“饥饿〞现象2.有两个进程P1和P2描述如下:shareddata:intcounter=6;P1:

Computing;

counter=counter+1;Printing;

counter=counter-2;A.4

B.5

C.6

D.7

10

P2:

两个进程并发执行,运行完成后,counter的值不可能为C。

3.某计算机采用二级页表的分页存储管理方式,按字节编址,页大小为2字节,页表项大小为2字节,规律地址结构为:

页目录号页号页内偏移量

规律地址空间大小为2页,则表示整个规律地址空间的页目录表中包含表项的个数至少是BA.64

B.128

C.256

D.512

4.在动态分区系统中,有如下空闲块:

空闲块1234

块大小(KB)块的基址80755590

60150250350

16

此时,某进程P请求50KB内存,系统从第1个空闲块开始查找,结果把第4个空闲块分派给了P进程,请问是用哪一种分区分派算法实现这一方案?C

A.首次适应B.最正确适应C.最差适应D.下次适应

5.在一页式存储管理系统中,页表内容如下所示。

页号帧号012

218

B.8192B.2

12

若页大小为1K,规律地址的页号为2,页内地址为451,转换成的物理地址为A

A.8643A.2段号0123

24

C.2048C.2

10

D.2499D.2

32

6.采用段式存储管理的系统中,若地址用32位表示,其中20位表示段号,则允许每段的最大长度是B

7.在一段式存储管理系统中,某段表的内容如下:

段首址段长

100K560K260K670K

35K20K15K32K

24

若规律地址为(2,158),则它对应的物理地址为__B___。

A.100K+158B.260K+158A.2字节

8

C.560K+158D.670K+158

D.2字节

32

8.一个分段存储管理系统中,地址长度为32位,其中段长占8位,则最大段长是C

B.2字节

16

C.2字节

9.有一请求分页式存储管理系统,页面大小为每页100字节,有一个50×50的整型数组按行为主序连续存放,每个整数占两个字节,将数组初始化为0的程序描述如下:

intA[50][50];

for(inti=0;i#include#includeintvalue=8;intmain(){

pid_tpid;

B.1

C.2

D.3

/*forkachildprocess*/pid=fork();if(pid==0){/*childprocess*/

value+=15;

}

else{/*parentprocess*//*parentwillwaitforthechildtocomplete*/wait(NULL);

printf(\exit(0);}

}

答:Parent:value=8。

4.4在多线程程序中,以下哪些程序状态组成是被线程共享的?a.寄放值b.堆内存c.全局变量d.答:一个线程程序的线程共享堆内存和全局变量,但每个线程都有属于自己的一组寄放值和栈内存。

4.7由图4.11给出的程序使用了Pthread的应用程序编程接口(API),在程序的第c行和第p行分别会输出什么?#include#includeintvalue=0;

void*runner(void*param);/*thethread*/intmain(intargc,char*argv[]){intpid;pthread_ttid;pthread_attr_tattr;pid=fork();

if(pid==0){/*childprocess*/pthread_attr_init(

pthread_create(pthread_join(tid,NULL);

printf(“CHILD:value=%d〞,value);/*LINEC*/}

elseif(pid>0){/*parentprocess*/wait(NULL);

printf(“PARENT:value=%d〞,value);/*LINEP*/}}

void*runner(void*param){value=10;pthread_exit(0);}

答:c行会输出10,p行会输出0.

5.4考虑以下进程集,进程占用的CPU区间长度以毫秒来计算:

栈内存进程区间时间优先级P1103P211P323P414P552

假设在时刻0以进程P1,P2,P3,P4,P5的顺序到达。

a.画出4个Gantt图分别演示用FCFS、SJF、非抢占优先级(数字小代表优先级高)和RR(时间片=1)算法调度时进程的执行过程。b.每个进程在每种调度算法下的周转时间是多少?

c.每个进程在每种调度算法下的等待时间是多少?d.哪一种调度算法的平均等待时间对所有进程而言最小?答:a.甘特图FCFSP11SJF

P2P4P31

Non-preemptivePriorityP2P51

RR(quantum=1)

P1P2P3P4P5P1P3P5P1P5P1P5P1P5P1P11

b.TurnaroundTimeProcessP1P2P3P4P5Average

c.WaitingTimeProcessP1P2P3P4P5Averaged.SJF

FCFS0101113149.6SJF902143.2NPP60161818.2RR(quantum=1)915395.4FCFS101113141913.4SJF1914297.2NPP1611819612RR(quantum=1)19274149.22

3

4

5

6

7

8

910111213141516

P1P1P1171819

2

3

4

5

6

P17

8

910111213141516

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论