操作系统实验报告1

操作系统实验报告1

ID:14521230

大小:263.50 KB

页数:7页

时间:2018-07-29

操作系统实验报告1_第1页
操作系统实验报告1_第2页
操作系统实验报告1_第3页
操作系统实验报告1_第4页
操作系统实验报告1_第5页
资源描述:

《操作系统实验报告1》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、淮海工学院计算机工程学院实验报告书课程名:《操作系统原理》题目:进程调度班级:学号:姓名:评语:成绩:指导教师:批阅时间:年月日《操作系统原理》实验报告-6-实验报告要求1.目的与要求进程是操作系统最重要的概念之一,进程调度是操作系统内核的重要功能,本实验要求用C语言编写一个进程调度模拟程序,使用优先级或时间片轮转法实现进程调度。本实验可加深对进程调度算法的理解。2.实验内容1、设计有5个进程并发执行的模拟调度程序,每个程序由一个PCB表示。2、模拟调度程序可任选两种调度算法之一实现。3、程序执行中应能在屏幕上显示出各进程的状态变化,以便于观察调度的整个过程。3.实验环境Tur

2、boC2.0/3.0或VC++6.04.实验说明1、优先级算法说明(1)PCB的结构:IdSpanUsedNeedSatusNext优先级算法中,设PCB的结构如右图所示,其中各数据项的含义如下:Id:进程标识符号,取值1—5。Prior:优先级,随机产生,范围1—5。Used:目前已占用的CPU时间数,初值为0;当该进程被调用执行时,每执行一个时间片,Used加1。Need:进程尚需的CPU时间数,初值表示该进程需要运行的总时间,取值范围为5—10。并随机产生,每运行一个时间片need减1;need为0则进程结束。Status:进程状态R(运行),J(就绪),F(完成);初始

3、时都处于就绪状态。Next:指向就绪队列中下一个进程的PCB的指针。(2)初始状态及就绪队列组织:5个进程初始都处于就绪状态,进程标识1—5,used初值都为0。各进程的优先级随机产生,范围1—5。处于就绪状态的进程,用队列加以组织,队列按优先级由高到低依次排列,队首指针设为head,队尾指针设为tail。《操作系统原理》实验报告-6-(3)调度原则以及运行时间的处理:正在执行的进程每执行一个时间片,其优先级减1(允许优先级为负)。进程调度将在以下情况发生:当正在运行的程序其优先级小于就绪队列队首进程的优先级时。程序中进程的运行时间以逻辑时间片为单位。2、时间片轮转算法说明(1

4、)PCB的结构(如下图所示):轮转法中,设PCB的结构如右图所示,其中各数据项的含义如下:IdSpanUsedNeedSatusNextId:进程标识符号,取值1—5。Span:在某一轮中,分配给先运行进程的时间片数,取值1—3。Used:现运行进程在本轮执行过程已用的时间片数。Need:进程尚需的CPU时间数,初值表示该进程需要运行的总时间,取值范围5—10。并随机产生,每运行一个时间片need减1;need为0则进程结束。Status:进程状态R(运行),J(就绪),F(完成);初始时所有进程处于就绪状态。Next:指向就绪队列中下一个进程的PCB的指针。(2)初始状态及就

5、绪队列组织:Span、Used在每轮开始时赋初值,Used初值值为0,Span初值要求随机产生。(3)调度原则:当一个进程被调度程序执行时,每经过一个时间片,Need减1,Used加1,如果Need为0,表示该进程结束,如果Need不为0,并且Used小于本轮Span值,则该进程可继续运行,若Need不为0,且Used等于Span值,则该进程本轮运行时间已到,应调度下一个队首进程运行。实验步骤1、理解本实验中关于两种调度算法的说明。2、根据调度算法的说明,画出相应的程序流程图。FCFS流程图简介:如图:RR流程图简介:如图《操作系统原理》实验报告-6-按照程序流程图,用C语言编

6、程并实现。先来先来服务调度算法--------FCFS选择4个进程,然后选择FCFS,如图所示进行和等待还有阻塞时间一看便知。选择等待就绪出现页面:如图所示《操作系统原理》实验报告-6-选择阻塞出现的页面:如图时间片轮转法-------RR选择进程4个,然后选择时间片轮转算法:如下图所示《操作系统原理》实验报告-6-选择等待就绪出现的页面如图所示:选择阻塞时出现以下的页面:如图所示《操作系统原理》实验报告-6-4.分析与思考1.逻辑时间片该如何实现?系统将所有的就绪进程按先来先服务算法的原则,排成一个队列,每次调度时,系统把处理机分配给队列首进程,并让其执行一个时间片。当执行的

7、时间片用完时,由一个计时器发出时钟中断请求,调度程序根据这个请求停止该进程的运行,将它送到就绪队列的末尾,再把处理机分给就绪队列中新的队首进程,同时让它也执行一个时间片。2.如果不使用指针操作,是否也可以使用数组实现进程就绪队列的组织?可以5.结果分析与实验体会通过对两种不同算法的数据结构的实现,深入的了解了两种算法的具体实现过程,为今后的学习打下了一个好的基础。附录代码:

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

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

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