实验二 进程撤销模拟
实验学时:2 实验类型:验证 实验要求:必修
一、实验目的
1) 理解进程撤销相关理论; 2) 掌握进程撤销流程。
二、实验内容
本实验针对操作系统中进程撤销相关理论进行实验。要求实验者设计一个程序,该程序可模拟撤销多个进程及其子孙进程。
1) 采用动态或静态方法生成一颗进程树(进程数目≥20); 2) 设计进程撤销算法;
3) 实现进程撤销函数,采用级联方式撤销; 4) 可动态撤销进程;
5) 可动态观察进程树的情况; 6) 测试程序并得到正确结果。
三、实验原理
1)进程创建流程
(1) 从 PCB 链中找到该进程的 PCB,从中读出该进程的状态; (2) 如果该进程处于执行状态,则终止该进程并置调度标志为真; (3) 若该进程有子孙进程,需要撤销其子孙进程; (4) 释放该进程占有的资源;
(5) 从 PCB 链中移出该进程的 PCB。 2) 进程子树的删除
对于已经创建的进程树(可以参考实验 1 创建进程),在删除的时候,首先需要考虑把该进程及其子孙从整棵树中脱离出来,这样才不会破坏整棵树的完整性。
3) 进程总链元素的删除
对于进程树种撤销的所有进程,必须在进程总链中进行删除。
四、思考题
1) 进程撤销的核心内容是什么?
2) 进程总链在进程撤销过程中有什么作用?
1
相关推荐: