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

操作系统实验报告

操作系统实验报告_第1页
1/12
操作系统实验报告_第2页
2/12
操作系统实验报告_第3页
3/12
实验二 进程调度1。目得与要求通过这次实验,理解进程调度得过程,进一步掌握进程状态得转变、进程调度得策略,进一步体会多道程序并发执行得特点,并分析具体得调度算法得特点,掌握对系统性能得评价方法。2.实验内容阅读教材《计算机操作系统》第二章与第三章,掌握进程管理及调度相关概念与原理。编写程序模拟实现进程得轮转法调度过程,模拟程序只对 PC B进行相应得调度模拟操作,不需要实际程序.假设初始状态为:有 n 个进程处于就绪状态,有m个进程处于堵塞状态。采纳轮转法进程调度算法进行调度(调度过程中,假设处于执行状态得进程不会堵塞),且每过 t 个时间片系统释放资源,唤醒处于堵塞队列队首得进程。程序要求如下:1)输出系统中进程得调度次序;2)计算 CPU 利用率。3。实验环境W i n d ow s 操作系统、VC++6、0C语言4设计思想:(1) 程序中进程可用 PCB 表示,其类型描述如下: s t ru c t P CB_type { i n t p i d ; //进程名in t s tate ; //进程状态 2——表示“执行”状态 1——表示“就绪”状态 0-—表示“堵塞”状态 int cp u_ti m e ; //运行需要得 C P U 时间(需运行得时间片个数) }用 PCB 来模拟进程;(2)设置两个队列,将处于“就绪”状态得进程 P C B 挂在队列 r eady 中;将处于“堵塞”状态得进程 PCB 挂在队列 blo ck ed 中。 队列类型描述如下: struct QueueN ode{ st r uct PCB_t y pe PC B; S tru c t QueueNo de *next;}并设全程量:s t ruct Que ueNode *ready_hea d=NULL,//rea d y 队列队首指针*r ea d y_ta i l=N ULL , //read y队列队尾指针*bl o cked_he a d=N UL L,//bl o c ke d队列队首指针*bloc k ed_t a il=N UL L; //b l o c k e d队列队尾指针(3)设计子程序: sta r t_state(); 读入假设得数据,设置系统初始状态,即初始化就绪队列与堵塞队列。d i sp a t h(); 模拟调度,当就绪队列得队首进程运行一个时间片后,放到就绪队列末尾,每次都就是队首进程进行调度,一个进程运行结束就从就绪队列中删除,当到 t 个时间片后,唤醒堵塞队列队首进程。 ca l c u late(); 就绪进程运行一次,us ec pu 加 1,当就绪队列为空时 unusecpu 加1,C P...

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

碎片内容

操作系统实验报告

您可能关注的文档

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