电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

操作系统实验二进程调度

操作系统实验二进程调度_第1页
1/10
操作系统实验二进程调度_第2页
2/10
操作系统实验二进程调度_第3页
3/10
实验二、进程调度实验 【实验目的及要求】 用高级语言编写和调试一个进程调度程序,以加深对进程的概念及进程调度算法的理解。要求选做实验内容中的一题。 【实验环境】 编程环境:Visual C++ 操作系统软件:w indow s XP 【预习要求】 按照实验指导书要求事先编好程序; 准备好需要输入的中间数据; 估计可能出现的问题; 预计可能得到的运行结果。 【实验内容】 1、设计一个有 N 个进程共行的进程调度程序。 2、编写并调试一个模拟的进程调度程序,采用“最高优先数优先”调度算法对五个进程进行调度。 【算法描述及实验步骤】 实验1 算法描述: 进程调度算法:采用最高优先数优先的调度算法(即把处理机分配给优先数最高的进程)和先来先服务算法。 每个进程有一个进程控制块( PCB)表示。进程控制块可以包含如下信息:进程名、优先数、到达时间、需要运行时间、已用CPU 时间、进程状态等等。 进程的优先数及需要的运行时间可以事先人为地指定(也可以由随机数产生)。进程的到达时间为进程输入的时间。 进程的运行时间以时间片为单位进行计算。 每个进程的状态可以是就绪 W(Wait)、运行R(Ru n)、或完成F(Finish)三种状态之一。 就绪进程获得 CPU 后都只能运行一个时间片。用已占用CPU 时间加1 来表示。 如果运行一个时间片后,进程的已占用 CPU 时间已达到所需要的运行时间,则撤消该进程,如果运行一个时间片后进程的已占用CPU 时间还未达所需要的运行时间,也就是进程还需要继续运行,此时应将进程的优先数减1(即降低一级),然后把它插入就绪队列等待CPU。 每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的 PCB,以便进行检查。 重复以上过程,直到所有进程都完成为止。 实验2 算法描述: “最高优先数优先”调度算法的基本思想是把CPU 分配给就绪队列中优先数最高的进程。静态优先数是在创建进程时确定的,并在整个进程运行期间不再改变。动态优先数是指进程的优先数在创建进程时可以给定一个初始值,并且可以按一定原则修改优先数。例如:在进程获得一次CPU 后就将其优先数减少 1。或者,进程等待的时间超过某一时限时增加其优先数的值,等等。 【调试过程及实验结果】 【总结】 实验 1【程序清单】 进程调度源程序如下: jingchendiaodu.cpp #include "stdio.h" #include #include #define getpch(type) (type*)malloc(s...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

操作系统实验二进程调度

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部