课程设计 1:单处理器系统的进程管理
一、实验目的
1、 加深进程概念理解,明确进程与程序区别。
2、 理解操作系统中进程的组织、创建和调度等方法。
二、实验内容
编写程序完成单处理器系统的进程调度,要求采用时间片轮转法调度策略。
具体内容:
1、 确定 PCB 内容及其组织方式;
2、 要求模拟进程“新建”、“就绪”、“运行”、“阻塞”和“退出”5 个状态;
3、 设计并实现 5 个进程管理原语(函数):进程创建(Create())、进程撤销
(Terminate())、进程调度(Schedule())、进程阻塞(Block())和进程唤醒
(Wakeup());
4、 编写主函数,调用 5 个原语(函数),实现进程管理。
三、提示
关键三点:
(1) 如何组织进程
确定 PCB 内容:标识信息、状态和运行时间与存储地址等信息、现
场信息、管理信息
PCB 组织方式:链表;分运行、就绪、阻塞和空闲 4 个链表
按某种策略(如 FCFS)从就绪队列选择一个进程;
摘取 PCB,挂运行队列;
修改状态等 PCB 内容;设置时钟(运行时间);恢复现场;
模拟运行:比如输入“Esc”进入“阻塞”状态,输入“Enter” 则 运
行结束回到就绪队列;
修改(剩余)运行时间。
四、测试输出
手工输入或从文件输入信息建立进程(就绪队列);
每次进程状态变化时,输出各个状态队列中的进程标识;
输出当前运行进程的 PCB 内容。
五、要求
独立完成,若发现演示或设计文档和源代码雷同者 0 分处。
总分 40 分:现场演示(20 分),实验报告(演示前须打印提交,10
分),提供设计文档和源代码(演示后提交电子文档,10 分)。
随机询问 3 处代码或设计方案,答错一处扣 10 分!
(2) 如何创建进程
(3) 如何实现处理机调度
申请 PCB —> 申请资源 —> 填写 PCB —>挂就绪队列