21、 操作系统是计算机系统中的一个系统软件,它管理和控制计算机系统中的资源。
22、 进程主要由程序、数据和PCB三部分内容组成,其中PCB是进程存在的惟一标识,而数据部分也可以为其它进程共享。
23、在一个具有2个处理器的操作系统中共有n 个进程,在不考虑进程状态过渡的情况下,阻塞进程队列中最多有n个进程。某一时刻,处于执行状态的进程为0个,且当前处理机空闲,处于就绪状态的进程有n个。
24、当处理器空闲时,调度程序从就绪进程队列中选择一个进程给其分配CPU,处于阻塞状态的进程是不会获得CPU的。
25、在响应比最高者优先的作业调度算法中,当各个作业等待时间相同时,运行时间短的作业将得到优先调度;当各个作业要求运行的时间相同时,等待时间长的作业得到优先调度。
26、某系统中共有10台磁带机被 m 个进程竞争,每个进程最多要求3台磁带机,那么当m的取值为不超过4的整数时,系统不会发生死锁。
27、 设有8页的逻辑空间,每页有1024字节,它们被映射32块的物理存储区中,那么,逻辑地址的有效位是13位,物理地址至少是15位。
逻辑地址:8*1024=2^3*2^10=2^13(所以逻辑地址的后13位为“页内地址”,又叫“页内偏移量”,或“页内位移”及有效位)
物理地址:32*1024=2^5*2^10=2^15
所以最后的就是逻辑有效位是13;物理有效位是15.
28、 在一个分页存储管理系统中,页长为4KB,
页号 | 物理块号 |
0 | 3 |
1 | 4 |
2 | 6 |
某一作业的页表如图1所示,虚拟地址3000对应的物理地址为15288 。
因为每一页4kb,所以虚拟地址3000指的空间被包含在页号为0的空间中。而物理块号3前面一共有3个物理块(0、1、2),因此前三个物理块大小是4096*3,因此物理地址=3*4096+3000,即15288。
29、虚拟设备是通过__ SPOOLING技术把独占设备变成能为若干用户_____共享 _的设备。
30、已知某文件采用串联结构,它由10个逻辑记录组成,每个逻辑记录刚好存放于一个磁盘块上,都为1024字节,并依次存放在10、61、32、75、87、98、46、37、33和11号磁盘块上。若要存取文件相对于文件头偏移7654字节处的信息,则要访问的磁盘块块号为____37__,块内的偏移量是____486___。 1,2,3,4,1,2,5,1,2,3,4,5
试说明采用先进先出(FIFO) 、最近最少使用(LRU)和最佳置换算法(OPT)进行页面置换时,缺页次数各是多少?
答:(1)FIFO: 9次 (3分)
(2)LRU:10次 (3分)
(3)OPT:7次 (3分)
35、如图2所示,系统中有三个进程GET、PRO和PUT,共用两个缓冲区BUF1和BUF2。假设BUF1中最多可放11个信息,现已放入了两个信息;BUF2最多可放5个信息。GET进程负责不断地将输入信息送入BUF1中,PRO进程负责从BUF1中取出信息进行处理,并将处理结果送到BUF2中,PUT进程负责从BUF2中读取结果并输出。
Get Buf1 Pro Buf2 Put
——> ⬜️ ——> ⬜️ ——>
试写出正确实现GET、PRO、PUT的同步与互斥的算法。
答:
empty1=9;//空buf1的数目
full1=2; //有数据的buf1的数目
empty2=5; //空buf2的数目
full1=0; //有数据的buf2的数目
mutex1=mutex2=1; //互斥信号量
int main(){
Cobegin //并发开始
GET();
PRO();
PUT();
Coend //并发结束
return 0; }
//GET进程
void GET(){
while(1)
{
…
wait(empty1);
wait(mutex1);
将信息送入buf1;
signal(mutex1);
signal(full1);
…
}
}
//PRO进程
void PRO(){
while(1)
{
wait(full1);
wait(mutex1);
从buf1中取出信息;
signal(mutex1);
signal (empty1);
wait(empty2);
wait(mutex2);
将信息送入buf2;
signal(mutex2);
signal(full2);
}
}
//PUT进程
void PUT(){
while(1)
{
wait(full2);
wait(mutex2);
从buf2中取出信息;
signal(mutex2);
signal (empty2);
}