操作系统复习例题

进程切换时需要保存哪些现场信息?

进程切换过程是进程上下文的切换过程,需要保存进程的运行环境,包括地址映射寄存器、通用寄存器、浮点寄存器、SP(系统栈指针)、PSW(程序状态字)、PC(指令计数器)、以及打开文件表等现场信息。 

由核心返回目态程序时,进程的PSW和PC为何必须用一条机器指令同时恢复?

进程的程序状态字PSW和指令计数器PC的内容必须由一条指令同时恢复,这样才能保证系统状态由管态转到目态的同时,控制转到上升进程的断点处继续执行。


如果不同时恢复,则只能
先恢复PSW再恢复PC,在恢复PSW后系统状态由管态转到目态,cpu执行PC寄存器所指向的指令,这条指令不是上升进程的断点地址。操作系统恢复PC的使命无法完成

先恢复PC再恢复PSW,PC改变后转到操作系统另外区域(因为PSW仍在系统状态),PSW无法恢复

对如下三个实时任务:
   T1=100, C1=50;
   T2=200, C2=30;
   T3=500, C3=100.

    采用EDF算法和RMS算法是否可调度?如是画出对应的Gantt图,否则说明原因。


      设有一个可以装入A、B两种物品的仓库,其容量无限大,但是要求仓库A、B两种物品的数量满足下述不等式:
              -m≤A物品数量-B物品数量≤ n。

          其中,m和n为正整数,试用信号量和PV操作描述A、B两种物品的入库过程。

虑同步一般在极限状态,极限状态就是没有A或没有B的两种情况。当没有A时,B最多能放M个,否则必须等待;同理没有B时,A最多能放N个,否则必须等待。若既有A也有B时二者只要满足不等式的约束就可以。
所以在放A时必须判断是否超过N,执行P操作;在放B时必须判断是否超过M,执行P操作。

当A为N+1时,A等待,此时由放入第一个B来唤醒;同样当B为M+1时由放入第一个A来唤醒,因此在A和B放入后需要执行一个V操作。


2.假定系统有三个并发进程read , move和print 。进程read负责从输入设备上读信息,每读入一个记录后把它存放到缓冲区B1中;进程move从缓冲区B1中取出一记录,加工后存入缓冲区B2;进程print将B2中的记录取出打印输出。缓冲区B1和B2都只能存放一个记录。要求打印输出的记录与读入的记录的个数、次序完全一样。用信号灯和P/V操作实现三个进程的同步。




3.某图书阅览室有50个座位,进入阅览室的读者需要在登记簿上登记,离开阅览室时注销登记。试用管程实现对阅览室的管理。





(1) 在此状态运行安全性检测算法
Work=Available=(1,6,2,3), Finish=false
对于P0,Need[0]=(0,0,1,2)≤work =(1,6,2,3), 表明P0可执行完,将其资源回收
即work=work+Allocation[0]=(1,6,2,3)+(0,0,3,2)=(1,6,5,5), Finish[0]=true

对于P1,Need[1]=(1,7,5,0)! ≤work=(1,6,5,5),暂时不做处理
对于P2,Need[2]=(2,3,5,6)! ≤work=(1,6,5,5),暂时不做处理
对于P3,Need[3]=(0,6,5,2)≤work=(1,6,5,5),表明P3可执行完,将其资源回收
即work=work+Allocation[3]=(1,6,5,5)+(0,3,3,2)=(1,9,8,7),Finish[3]=true
对于P4,Need[4]=(0,6,5,6)≤work=(1,9,8,7),表示P4可执行完,将其资源回收
即work=work+Allocation[4]=(1,9,8,7)+(0,0,1,4)=(1,9,9,11),Finish[4]=true
再返回看P1,P2
对于P1,Need[1]=(1,7,5,0)≤work=(1,9,9,11),表明P1可执行完,将其资源回收
即work=work+Allocation[1]=(1,9,9,11)+(1,0,0,0)=(2,9,9,11),Finish[1]=true
对于P2,Need[2]=(2,3,5,6)≤work=(2,9,9,11),表明P2可执行完,将其资源回收
即work=work+Allocation[2]=(2,9,9,11)+(1,3,5,4)=(3,12,14,15),Finish[2]=true
此时Finish[0]= Finish[1]=Finish[2]=Finish[3]=Finish[4]=true
即存在安全进程序列<P0,P3,P4,P1,P2>,处于安全状态




3 设系统有R1和R2两类独占型供进程P1和P2所共享,R1有2台,R2有1台。已知P1和P2均以如下的顺序申请和释放资源:
      申请R1;申请R2;申请R1;释放R1;释放R2;释放R1。
    问 题: 根据进程P1和P2对资源的请求序列,
    画图分析两进程并发运行时可能到达的所有死锁点






猜你喜欢

转载自blog.csdn.net/liudongdong19/article/details/80778848