计算机专业综合知识选讲--计算机操作系统试题
1.利用信号量机制实现进程同步和进程互斥
答:(1)利用信号量实现前驱关系(进程同步)
有如下前驱关系:
|
正在上传…重新上传取消 S1
|
|
|
正在上传…重新上传取消 S2
S3
正在上传…重新上传取消 |
|
|
正在上传…重新上传取消 S4 S5
|
S6
为实现如图所示的前驱关系,设置若干个初值为0的信号量,如图所示的a,b,c,d,e,f,g.代码框架如下:
P1(){S1;signal(a);signal(b);}
P2(){wait(a);S2;signal(c);signal(d);}
P3(){wait(b);S3;signal(e);}
P4(){wait(c);S4;signal(f);}
P5(){wait(d);S5;signal(g);}
P6(){wait(e);wait(f);wait(g);S6;}
main(){
Semaphore a=b=c=d=e=f=g=0;
cobegin
P1(); P2(); P3(); P4(); P5(); P6();
coend
}
(2)利用信号量实现互斥关系,以读者----写者为例
可描述如下:
Semaphore count=0; ;用于计数有多少个读者在读文件
Semaphore mutex=1; ;用于互斥的访问count
Semaphore rw=1; ;对文件的访问权
Semaphore w=1; ;是否有文件在写
Void write(){
While(1){
Wait(w);
Wait(rw);
Writing;
Signal(rw);
Signal(w); }
Void read(){
While(1){
Wait(w);
Wait(mutex);
If(count==0)
Wait(rw);
Count++;
Signal(mutex);
Siganl(w);
Reading;
Wait(mutex);
Count--;
If(count==0)
Signal(rw);
Signal(mutex);
}
2.以页式存储管理方式为例,简述虚拟存储器的实现。
答:
虚拟存储器:是指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。
请求分页存储管理方式实现虚拟存储器:是在分页系统的基础上增加了请求调页功能和页面置换功能所形成的页式虚拟存储系统。它允许用户程序只装入少数页面的程序(及数据)即可启动运行。以后,再通过调页功能及页面置换功能陆续的把即将运行的页面调入内存,同时把暂不运行的页面换出到外存上。置换时以页面为单位。为了能实现请求调页和页面置换功能,系统必须提供必要的硬件支持和实现请求分页的软件。
(1)硬件支持
主要有:请求分页的页表机制、缺页中断机构、地址变换机构
(2)实现请求分页的软件
主要有:实现请求调页的软件、实现页面置换的软件。