计算机操作系统复习题
A( ){ while(1){P(Sem);把数据块输入到缓冲区S;V(Sfull);} } B( )和C( ){
while(1){
P(Sfull); P(Tem); P(mutex);
把数据块从缓冲区S复制到T中; V(mutex); V(Sem); V(Tfull); } }
D( ){ while(1) {P(Tfull); P(mutex);将缓冲区T中的数据块打印;V(mutex);V(Tem);} }
6.桌上有一空盘,只允许存放一个水果。爸爸可向盘中放苹果,也可向盘中放桔子。儿子专等吃盘中的桔子,女儿专等吃盘中的苹果。规定当盘中空时一次只能放一只水果供吃者取用,请用记录型信号量实现爸爸.儿子.女儿三个并发进程的同步。 参考答案:
在本题中,应设置三个信号量S.So.Sa,信号量S表示盘子是否为空,其初值为1;信号量So表示盘中是否有桔子,其初值为0;信号量Sa表示盘中是否有苹果,其初值为0。同步描述如下:
Semaphore S=1,So=0,Sa=0; father()
{ while(1)
{ P(S );
将水果放入盘中;
if (放入的是桔子) V(So); else V(Sa); }
}
son( )
{ while(1)
{ P(So);
从盘中取出桔子; V(S);
吃桔子; }
}
daughter( )
{ while(1)
{ P(Sa);
从盘中取出苹果; V(S); 吃苹果;}
}
鞍山师范学院数学与计算科学学院 2013年4月
计算机操作系统复习题
第三章:处理机调度与死锁
一.选择题
1. 计算时间短的作业优先调度算法会使( C )。 A. 每个作业等待时间较短 B. 系统效率最高
C. 平均周转时间最短 D. 长作业等待时间较短
2. 某计算机系统中有8台打印机,有K个进程竞争使用,每个进程最多需要3台打印机。该系统可能会发生死锁的K的最小值是( C )。
A. 2 B. 3 C. 4 D. 5 3. 死锁的解除方法有( A )。
A. 撤销进程 B. 有序分配资源 C. 资源共享 D. 采用银行家算法 4. 分时系统中的当前运行进程连续获得了两个时间片,原因可能是( C )。 A. 该进程的优先级最高 B. 该进程是一个短进程 C. 就绪队列为空 D. 该进程最早进入就绪队列
5. 选择作业调度算法时,从系统角度,主要希望进入“输入井”的作业的( B )。 A. 响应时间短B. 平均周转时间短C.服务费用低D.优先权高的作业能优先得到服务 6. 下列进程调度算法中,可能会出现进程长期得不到调度的情况( C ) 。 A.先进先出调度算法 B. 时间片轮转调度算法 C.抢占式静态优先权法 D. 非抢占式动态优先权法
7. 现有3个同时到达的作业J1,J2,J3,它们的执行时间分别是T1,T2,T3,且T1
A. T1+T2+T3 B.