网站大量收购闲置独家精品文档,联系QQ:2885784924

操作系统实验一探析.doc

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
中南大学 操作系统实验报告 姓名: 学号: 班级: 软件工程 指导老师: 胡志刚 完成时间: 2014-11 实验1《CPU Scheduling》 实验学时: 2 实验地点: 二综204 实验日期: 2014/11/19 一、实验目的 多道系统中,当就绪进程数大于处理机数时,须按照某种策略决定哪些进程优先占用处理机。本实验模拟实现处理机调度,加深了解处理机调度的工作过程。 二、实验内容 选择或者自行设计一个调度算法,实现处理机调度。 三、实验要求 构建PCB,内容至少涵盖: 进程名/PID; 要求运行时间(单位时间); 优先权; 状态: PCB指针; 1、可随机输入若干进程,并按优先权排序 2、采用动态优先权调度,从就绪队首选进程运行: 优先权-1/要求运行时间-1 要求运行时间为0时,撤销该进程 3、重新排序,进行下轮调度 4、最好采用图形界面 5、可动态增加进程 6、规定道数,设置后备队列和挂起状态 7、如果内存中进程数少于规定道数,可自动从后备队列通过作业调度选择一作业进入, 8、作业调度算法可自行选择 9、被挂起进程入挂起队列,设置解挂功能用于将指定挂起进程解挂并入就绪队列 10、每次调度后,显示各进程状态。 四 Pcb:进程控制块用于保存进程的信息 Reading:就绪队列进入cpu中执行 Reserve:后备队列,存放进程,当就绪队列中进程数不足6个,从该队列调出 Suspend:挂起队列就绪队列中的进程挂起后进入该队列 PcbGUI程序界面 类Pcb public class Pcb { private String name; //进程名称 private int time; //时间 private int priority; //优先级,越大表明优先级越高 public Pcb(String n , int t, int p){ this.name=n; this.time=t; this.priority=p; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getTime() { return time; } public void setTime(int time) { this.time = time; } public int getPriority() { return priority; } public void setPriority(int priority) { this.priority = priority; } public void change(){ this.time--; this.priority--; } public String toString() { return this.getName() + _ + this.getTime() + _ + this.getPriority() + \n; } } 类Reading: import java.util.ArrayList; import java.util.Iterator; public class Reading implements IterablePcb { private ArrayListPcb readlist; public ArrayListPcb getPCBItems() { return this.readlist; } public Reading() { this.readlist = new ArrayListPcb(); } public void addItem(Pcb PcbItem) { this.readlist.add(PcbItem); } public void removeItem(Pcb PCbItem) { this.readlist.remove(PCbItem); } public Pcb getItem(Pcb processPCB) { for (Pcb p

文档评论(0)

***** + 关注
实名认证
内容提供者

我是自由职业者,从事文档的创作工作。

1亿VIP精品文档

相关文档