操作系统课程设计报告---进程调度的模拟实现

操作系统课程设计报告---进程调度的模拟实现

ID:8558430

大小:29.50 KB

页数:19页

时间:2018-04-01

操作系统课程设计报告---进程调度的模拟实现_第1页
操作系统课程设计报告---进程调度的模拟实现_第2页
操作系统课程设计报告---进程调度的模拟实现_第3页
操作系统课程设计报告---进程调度的模拟实现_第4页
操作系统课程设计报告---进程调度的模拟实现_第5页
资源描述:

《操作系统课程设计报告---进程调度的模拟实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、操作系统课程设计报告---进程调度的模拟实现导读:就爱阅读网友为您分享以下“操作系统课程设计报告---进程调度的模拟实现”资讯,希望对您有所帮助,感谢您对92to.com的支持!操作系统课程设计报告专业计算机科学与技术学生姓名班级学号指导教师完成日期19题目:进程调度的模拟实现的模拟实现一、设计目的本课程设计是学习完“操作系统原理”课程后进行的一次全面的综合训练,通过课程设计,更好地掌握操作系统的原理及实现方法,加深对操作系统基础理论和重要算法的理解,加强学生的动手能力。在多道程序和多任务系统中,系统内同时处于就绪状态的进程可能有若干个。也就是说能运

2、行的进程数大于处理机个数。为了使系统中的进程能有条不紊地工作,必须选用某种调度策略,选择一进程占用处理机。要求学生设计一个模拟处理机调度算法,以巩固和加深处理机调度的概念。二、设计内容1)概述选择一个调度算法,实现处理机调度。设计要求:1)进程调度算法包括:时间片轮转法,短作业优先算法,动态优先级算法。2)可选择进程数量3)本程序包括三种算法,用C19或C++语言实现,执行时在主界面选择算法(可用函数实现),进入子页面后输入进程数,(运行时间,优先数由随机函数产生),执行,显示结果。调度时总是选取优先数最大的进程优先运行2.每个进程的优先数,运行时间

3、,由程序任意指定。3.为了调度方便,把进程按给定优先级(动态优先级算法中)从小到大排成一个队列。按给定运行时间(短作业优先)从小到大排成一个队列用一个变量作为队首指针,指向队列的第一个进程。4.处理机调度总是选队首进程运行。由于本实验是模拟处理机调度,所以被选中的进程并不实际的启动运行,而是执行:12优先数-1(动态优先级算法中)要求运行时间-1来模拟进程的一次运行。5.进程运行一次后,若要求运行时间不等于0,则再将它加入队列(动态优先级算法中:按优先数大小插入。),且改变队首指针:若要求运行时间=0,则把它的状态改为完成(C)状态,且退出队列。32

4、.实验分析(1)PCB结构通常包括以下信息:进程名,进程优先数,轮转时间片,进程已占用的CPU时间,进程还需要的CPU19时间,进程的状态,当前队列指针等。可根据实验的不同,PCB结构的内容可以作适当的增删(2)本程序用两种算法对五个进程进行调度,每个进程可有三个状态:就绪、执行、完成。并假设初始状态为就绪状态。(3)为了便于处理,程序中的某进程运行时间以时间片为单位计算。各进程的优先数或轮转时间数以及进程需运行的时间片数的初始值均由用户给定。(4)在优先数算法中,优先数可以先取值为一个常数减去进程所需要的时间片数目,进程每执行一次,优先数减3,CP

5、U时间片数加1,进程还需要的时间片数减1。在轮转算法中,采用固定时间片(即:每执行一次进程,该进程的执行时间片数为已执行了2个单位),这时,CPU时间片数加2,进程还需要的时间片数减2,并排列到就绪队列的尾上。(5)对于遇到优先数一致的情况,采用FIFO策略解决。3.19概要设计(1)本程序用两种算法对五个进程进行调度,每个进程可有三个状态,并假设初始状态为就绪状态。(2)为了便于处理,程序中的某进程运行时间以时间片为单位计算。各进程的优先数或轮转时间数以及进程需运行的时间片数的初始值均由用户给定。(3)在优先数算法中,优先数的值为50与运行时间的差

6、值,即P_TIME-process-needtime。进程每执行一次,优先数减3,CPU时间片数加1,进程还需要的时间片数减1。在轮转算法中,采用固定时间片(即:每执行一次进程,该进程的执行时间片数为已执行了2个单位),这时,CPU时间片数加2,进程还需要的时间片数减2,并排列到就绪队列的尾上。(4)对于遇到优先数一致的情况,采用FIFO策略解决4.详细设计(1)structpcb()定义pcb块(2)Voiddisplay()显示结果信息函数(3)intprocess_finish(pcb*q)进程完成标示(4)voiddisplay_round(

7、)显示循环轮转调度算法运行结果(5)priority_cal()优先数调度算法(6)voidcpu_round()处理器的工作状态5.源程序代码#includestdio.h#includedos.h#includestdlib.h#includeconio.h#includeiostream.h#includewindows.h#defineP_NUM195#defineP_TIME50enumstate{ready,execute,block,4finish};structpcb{charname[4];intpriority;intcputim

8、e;intneedtime;intcount;intround;stateprocess;pcb*next;

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

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

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