操作系统课程设计
总结报告
学期 2011-2012
学年第二学期
学院 软件学院 学号 20103823 姓名 白雪娇
2012 年 7月 1日
本学期开设了操作系统课程设计。 一、进程控制 1.1目的: 利用简单的结构和控制方法模拟进程结构、进程状态和进程控制。 1.2内容: 用PCB表示整个进程实体,利用随机数方法或键盘控制方法模拟进程执行中产生的事件。或者利用鼠标或者键盘中断的基于图形接口方式的进程控制管理。 1.3数据结构: typedef struct LNode { int data; struct LNode *next; }LNode; 1.4算法设计及流程图: 算法: 创建进程:输入进程的名称,先判断进程名是否已存在,若已存在,则创建进程失败,需重新操作,创建进程成功后,新进程进入就绪队列。若执行态为空,将进程插入执行态。 阻塞进程:若当前有执行进程,则将其阻塞,并将进程加入阻塞态,若就绪队列不为空,则就绪队列第一个进程插入执行态;若当前无执行进程 ,则阻塞失败。 唤醒进程:若当前阻塞态不为空,则将阻塞队列第一个进程插入就绪态;若当前阻塞态为空,则唤醒失败。 时间片到:若当前有执行态进程,则插入就绪队态,并将就绪态第一个进程进入执行态;若当前无执行进程,则无执行进程。 结束进程:若当前有执行进程,则结束进程,若当前就绪态不为空,则就绪态第一个进程进入执行态;若当前无执行进程 ,则结束进程失败。 流程图: C N 输入 t N N 输入 Y Y Y 输入进程名 输入b 输入执行命令 开始 将进程插入就绪态 执行态插入就绪态 执行态转为阻塞态 N 执行态为空 就绪态第一个结点插入执行态 就绪态第一个结点插入执行态 显示进程信息 Y 将进程插入执行态 显示进程信息 输入w 显示进程信息 Y N Y N N Y 结束 显示进程信息 显示进程信息 就绪态第一个结点插入执行态 阻塞态插入就绪态 结束进程 阻塞态为空 执行态为空
相关推荐: