资源描述:
《操作系统大学考试复习题题库》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、简答50分大题50分无选择填空一.大题1.信号量pv原语给出信号灯和PV操作的定义:structsemaphore{intvalue;point_to_PCBqueue;};semaphores;Remarks:(1)semaphoreispre-defineddatatype,(2)scanbedeclaredasneeded,eg.vars1,s2:semaphore;P操作原语:voidP(semaphore*s){s->value--;if(s->value<0)asleep(s->queue)}V操作原语:voidV(se
2、maphore*s){s->value++;if(s->value<=0)wakeup(s->queue);}生产者消费者相关问题:伪码实现:itemTypebuffer[k];semaphoreS1=k;semaphoreS2=0;intin=0;intout=0;semaphoremutex=1;voidproduce(){voidconsumer(){while(1){produceItem(&item);P(S1);P(mutex);Buffer[in]=item;int=(int+1)%k;V(mutex);V(S2);}
3、}voidconsumer(){itemTypex;while(1){P(S2);P(mutex);x=buffer[out];out=(out+1)%k;V(mutex);V(S1);consumerItem(x);}}cobeginfork(produce,0);…,fork(produce,m-1);fork(consumer,0);…,fork(consumer,n-1);coend其中,信号量mutex用于进程对于共享变量buffer和in,out的互斥。读者写者相关问题:伪码:intreadCount=0;semapho
4、rer_w_w=1;semaphoremutex=1;reader(){while(1){P(&mutex);readCount=readCount+1;if(readCount==1)P(&r_w_w);V(&mutex);P(&mutex);readCount=readCount-1;if(readCount==0)V(&r_w_w);V(&mutex);}}Write(){While(1){P(&r_w_w);V
5、(&r_w_w);}}cobeginfork(reader,0);…,fork(reader,m-1);fork(write,0);…,fork(write,n-1);coend;}}哲学家就餐问题:答:哲学家活动:哲学家活动(包含资源活动):RepeatRepeat思考思考进食取左叉,取右叉Untilfalse进食进食:需要“叉子”放左叉,放右叉叉子:不同种组合资源Untilfalse过河问题:答:SemaphoreSmax;SemaphoreS1,S2,S3,S4,S5,S6,S7,S8;西岸过河者的活动:东岸过河者的活动:P(
6、Smax);P(Smax);P(S1);P(S3);走到石块1;走到石块3;P(S2);P(S4);走到石块2;走到石块4;V(S1);V(S3);P(S5);P(S7);走到石块5;走到石块7;V(S2);V(S4);P(S6);P(S8);走到石块6;走到石块8;V(S5);V(S7);P(S3);P(S1);P(S4);P(S2);走到石块4;走到石块2;V(S6);V(S8);走到石块3;走到石块1;V(S4);V(S2);走到东岸;走到西岸;V(S3);V(S1);V(Smax);V(Smax);2.发送和接收原语的工作过
7、程3.虚拟存储器工作原理(1).虚拟分页式存储管理的基本原理答:进程运行前:全部装入外存,部分装入内存。进程运行时:访问页不在内存,发生缺页中断,中断处理程序:①找到访问页在外存的地址;②在内存找一空闲页面:如果没有,按淘汰算法淘汰一个内存页面;如果需要,将淘汰页面写回外存,修改页表和总页表;③读入所需页面(切换进程),修改页表及页框分配表;④启动进程,重新执行被中断的指令。(2).虚拟分段式存储管理的基本原理答:进程运行前:将主程序段装入内存,其他段装入外存。运行时所需的段如果不在内存,将其动态调入。如果内存没有足够的空间,可以采
8、取两种方法:紧凑,即将内存中的所有空闲区合并;淘汰,即将内存中的某段移至外存,段的淘汰可以采用与页式存储管理相似的算法。(3).虚拟段页式存储管理的基本原理答:(1)所需表目:①段表:每个进程有一个段表,该表的长度动态变化,即每连接一