要求:
实验要求
1.按照操作系统原理模拟设计。进程管理功能以模拟进程调度为主要功能,同时模拟进程控制功能。进程调度算法包括:FIFO(先进先出)算法和PRI(优先数优先)算法,有条件时可以再加轮转法。进程控制包括:创建进程,撤销进程,阻塞进程和唤醒进程等。
2.可视化模拟实现操作系统原理中进程调度算法和进程控制算法。操作系统是黑匣子效应;模拟系统则是六面通透:每一步都需要显示,以便观察。对每一个操作有相应的显示表明操作的实现。操作结果应力求清晰,易读和一目了然(一屏化显示)。最好能汉字显示。操作方便,使用便捷,可视化程度尽可能高些。
3.结构化设计。设计时构建出系统结构图并按照结构设计模块。
模块化实现,对每一功能,每一操作使用模块、函数、子程序方法实现。模块和结构图并存于文件中。
4.进程以PCB为代表。队列、指针用图表示。每一步功能在桌面上能显示出来。
5.系统应具有排错功能,对可能出现的错误应具有排查功能。
6.语言环境自行选择。界面是一个窗口,界面设计应尽可能发挥想象,创建友好界面。
7.每人的设计内容和功能都能表现或说明出来。
8.进程以队列法组织,对不同进程调度算法:
FIFO队列或PRI队列或rotate(轮转队列)用同一个进程序列组织,对阻塞队列一般可设置一个,也可设多个。
9.因为是模拟系统,所以要显示每个功能和操作结果。显示应力求清晰、易读和一目了然(一屏),最好能用汉字,否则可用英语或汉语拼音。
10.操作方便,使用便捷。系统应具有用键盘输入一个操作要求(调度或控制),就有一个自动执行过程和相应操作结果。pcb表格的变化示意,队列示意图变化,如有余力还可以对比使用其余方法。并保持和记忆前面的操作结果。
。
四、系统功能
1.创建进程:主要创建PCB,并在创建后显示PCB及所在RL队列。内容包括①标识数(按产生顺序产生),②进程名(字母序列),③优先数(随机产生),④进程状态,⑤队列指针(可用数字或图表示),⑥其它(可自定义:如运行时间、家族等)。创建进程的个数可人工设定,或可自动设定,也可两者兼有。
2.撤销进程:撤销进程主要显示PCB的消失和所在队列的变化。
3.阻塞进程:阻塞进程主要改变进程的状态、所在队列,使进程所在就绪或运行队列发生变化。同时将被阻塞进程插入阻塞队列。
4.唤醒进程:将被唤醒者从阻塞队列中移出,插入就绪队列中。同时修改进程状态。
5.进程队列的组织:进程队列可对创建的所有进程变化队形:可组织成FIFO队列,也可组织成PRI队列;或rotate队列,对队列有插入、移出的功能,也有在队列中某位置插入删除功能。
6.显示功能:模拟系统在整个演示过程中都需要可视化,因此显示功能非常重要,要求对队列、PCB每次操作前后予以显示,以表示操作功能的实施效果。
7.进程调度:按不同队列选取队首元素组织成进程调度算法的实施。例如:FIFO、PRI、rotate。同时进程调度后,被调度进程改变状态、优先级(在PRI中)、设定(或人工控制)时间片后,运行者或进入就绪队列RL,或进入阻塞队列sq。
阻塞PCB在一定时机(自定)后可进入RL。其间每次变化或转换,应显示相应内容(PCB、队列或其它数据)。
8. 在进入就绪、运行等状态后,可设置时间片,若消耗完时间片后该进程被撤销。
9. 可选功能:能对不同功能给予选择和显示。
只要写出代码就可以了...
如果哪位高手做出来了.....请发到我的邮箱里
laidehai1985@163.com
谢谢了....
--------------------next---------------------
阅读(1357) | 评论(0) | 转发(0) |