《计算机操作系统》实验要求.doc

《计算机操作系统》实验要求.doc

ID:56012303

大小:106.00 KB

页数:20页

时间:2020-03-15

《计算机操作系统》实验要求.doc_第1页
《计算机操作系统》实验要求.doc_第2页
《计算机操作系统》实验要求.doc_第3页
《计算机操作系统》实验要求.doc_第4页
《计算机操作系统》实验要求.doc_第5页
资源描述:

《《计算机操作系统》实验要求.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、《计算机操作系统》实验要求为了顺利完成操作系统课程实验,应做到:(1)实验前,认真学习教材以及实验要求的相关内容,提前做好实验准备。(2)实验结束后三天内提交实验报告的电子版和打印版。实验报告内容应包括:实验目的、实验内容、设计思路和流程框图,主要程序代码、测试结果以及实验总结。(实验报告模板见“OS实验模板”)(3)遵守机房纪律,服从指挥,爱护实验设备。实验的验收将分为两个部分。第一部分是上机操作,随机抽查程序运行和即时提问;第二部分是提交书面的实验报告。要杜绝抄袭现象,一经发现雷同,双方成绩均以0分计算。实验内容

2、安排:实验内容与要求编写程序,模拟某个算法。实验一和实验二选一,实验三必选实验一熟悉进程调度相关内容;根据进程调度算法,选择先来先服务、短进程优先、时间片轮转、高优先权优先调度等算法中的一个,编写算法模拟程序。实验二熟悉页面置换相关内容;选择最佳置换算法、先进先出置换算法、LRU置换算法中的一个,编写算法模拟程序。实验三熟悉银行家算法,并编写程序进行模拟。实验一进程调度实验3实验二页面置换算法模拟10实验三银行家算法模拟15实验一进程调度实验【开发语言及实现平台或实验环境】C++/C#TurboC/Microsoft

3、VisualStudio6.0/MicrosoftVisualStudio.NET2010【实验目的】(1)加深对进程的概念及进程调度算法的理解;(2)在了解和掌握进程调度算法的基础上,编制进程调度算法通用程序,将调试结果显示在计算机屏幕上,并检测机算和笔算的一致性。【实验要求】(1)了解进程调度;(2)理解利用进程调度算法进行调度的原理;(3)使用某种编程语言进行算法模拟。【实验原理】(注意:这个仅是个例子,可以参考本例,选择其他算法进行实验)一、例题:设计一个有N个进程的进程调度算法。进程调度算法:采用最高优先数

4、的调度算法(即把处理机分配给优先数最高的进程)。每个进程有一个进程控制块(PCB)表示。进程控制块可以包含如下信息:进程名、优先数、到达时间、需要运行时间、已用CPU时间、进程状态等等。进程的优先数及需要的运行时间可以事先人为的指定(也可以由随机数产生)。进程的到达时间为进程的输入的时间。进程的运行时间以时间片为单位进行计算。每个进程的状态可以是就绪W(Wait)、运行R(Run)、或完成F(Finish)三种状态之一。就绪进程获得CPU后都只能运行一个时间片。用已占用CPU时间加1表示。如果运行一个时间片后,进程的

5、已占用CPU时间已达到所需要的运行时间,则撤销该进程,如果运行一个时间片后,进程的已占用CPU时间还未达到所需要的运行时间,也就是进程还需要继续运行,此时应该将进程的优先数减1(即降低一级),然后把它插入就绪队列等待CPU。每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的PCB,以便进行检查。重复以上过程,直到所要的进程都完成为止。分析:使用固定队列与静动态优先级结合每个优先级为0~0xFF,并且以小的数字为高优先级,大的数字为低优先级,每次皆使用循环得到最高优先级的进程并执行,然后将其动态优先级设置为

6、最低,并将其他进程动态优先级提高,以使得每个进程都有机会运行。进程的优先级与运行时间由随机数产生。Y已达到未达到N开始初始化PCB,输入进程信息各进程按优先数从高到低排列就绪队列空?结束就绪队列首进程投入运行时间片到,运行进程已占用CPU时间+1运行进程已占用CPU时间达到所需的运行时间?进程完成撤销该进程使运行进程的优先数减1把运行进程插入到就绪队列一、代码试例#include#include#include/*常量和状态定义*/#definePRO_NUM0x

7、05#defineMAX_TIME0xFF/*状态宏*/#defineWAIT0x01#defineRUN0x02#defineFINISH0x03#defineID_ERROR0x10#defineMIN_PRIOR0xFF#defineMAX_PRIOR0x00typedefunsignedintUint32;/*进程PCB*/structPCB_Info{Uint32s_id;Uint32s_static_prior;Uint32s_dynamic_prior;Uint32s_start_time;Uint32

8、s_need_time;Uint32s_used_time;Uint32s_state;};/*进程队列*/PCB_Infog_queue[5];Uint32g_time;/*模拟进程执行函数*/voidSimulator();/*初始化5个进程函数*/voidInit_Process();/*初始化进程队列函数*/voidInit_Queue

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。