操作系统实验.doc

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验 一 二 三 四 五 六 七 八 九 十 总评 成绩 武汉大学计算机学院 课程实验(设计)报告 专业(班): 学 号: 姓 名: 课程名称: 2011年 10月 15日 目录 目录 2 1实验一 3 1.1实习题目 3 1.2实习内容及设计思想 3 1.3所用平台及相关软件、调试 5 1.4 小结 7 2实验二 7 2.1实习题目 7 2.2实习内容及设计思想 8 2.3所用平台及相关软件、调试 10 2.4 小结 12 3实验三 13 3.1实习题目 13 3.2实习内容及设计思想 13 3.3所用平台及相关软件、调试 16 3.4 小结 18 5总结与实习体会 18 1实验一 1.1实习题目 实验题目:按优先数调度算法模拟处理器调度 1.2实习内容及设计思想 1.2.1设计思路 本程序主要实现按优先级调度算法模拟处理器调度程序。由用户输入需要运行的进程名,运行时间,和优先级,然后依次输出每次调度时运行的程序以及各程序的运行状态。 用户输入需要运行的进程后,将各进程的信息保存在一条链表中,并按各进程的优先级从高到低依次排序。然后每次判断进程链表是否为空,不为空时,每次从链表中取出第一个进程运行,以模拟一个时间片,进程运行一次后,优先级和所需要运行的时间都减一。每次运行后重新调整队列,以保持优先级最高的进程在队首。当所有运程都运行完后,程序结束。 1.2.2主要数据结构 本程序主要采用面向对象的思想,数据结构主要包括两个类,如下: 1.类PCB class PCB{ private: std::string m_name; int m_runTime; int m_priority; public: PCB * m_next; public: PCB(); PCB(const std::string _name,const int _runTime,const int _priority); void runOneTime(); bool end(); }; 类PCB保存每个进程的信息。其中成员m_name,m_runTime,m_priority分别保存进程名,所需要运行时间,以及优先级。 方法: PCB(const std::string _name,const int _runTime,const int _priority);//构造函数,实现进程控制块的初始化 runOneTime() 实现进程运行一次 2.类process class process{ private: PCB *head,*tail; public: process(); ~process(); void run(); void display(); bool empty(); void addProcess(PCB *_pcb); }; 成员:head,tail分别表示进程链表的头和尾 方法:run() 实现运程开始运行 Display() 打印各进程的运行情况 Empty() 返回链表是否为空的信息 addProcess(PCB * pcb) 向进程链表中添加一个进程 1.2.3主要代码结构及代码段分析 主函数分析: main(){ process myprocess;//新建一个process类 //依次输入各进程的信息,保存到PCB中,再将该PCB加入到process链表中 for (int i = 1;i = count;

文档评论(0)

PPT精品 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档