操作系统实验(实验二三四).doc

操作系统实验(实验二三四).doc

ID:51035868

大小:49.50 KB

页数:11页

时间:2020-03-08

操作系统实验(实验二三四).doc_第1页
操作系统实验(实验二三四).doc_第2页
操作系统实验(实验二三四).doc_第3页
操作系统实验(实验二三四).doc_第4页
操作系统实验(实验二三四).doc_第5页
资源描述:

《操作系统实验(实验二三四).doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验二进程管理设计一.目的和要求进程调度是处理机管理的核心内容。本实验要求用C语言编写和调试一个简单的进程调度程序。通过本实验可以加深理解有关进程控制块、进程队列的概念,并体会和了解优先数和时间片轮转调度算法的具体实施办法。二.实验内容1.设计进程控制块PCB表结构,分别适用于优先数调度算法和循环轮转算法。PCB结构通常包括以下信息:进程名、进程优先数(或轮转时间片)、进程所占用的CPU时间、进程的状态、当前队列指针等。根据调度算法的不同,PCB结构的内容可以做适当的删除。2.建立进程就绪队列,对两种不同算法编制入链子程序。3.编

2、制两种进程调度算法:1)优先数调度;2)循环轮转调度。三.实验环境1.IBM286以上微型计算机及其兼容机。2.DOS系统要求3.3及更高的版本。3.TURBOC2.0。四.实验要求本实验要求用C语言编写,选用优先数算法和简单时间片轮转法对五个进程进行调度,每个进程可以有三种状态:运行状态(RUN)、就绪状态(READY)和完成状态(FINISH)。并假定初始状态为就绪状态。五.模拟算法提示1.数据结构设计进程控制块结构如下:PCB:NAMEPRIO/ROUNDCPUTIMECOUNTNEEDTIMESTATENEXT其中:NAM

3、E——进程标识符PRIO——进程优先数ROUND——进程轮转时间片CPUTIME——进程占用CPU时间COUNT——计数器NEEDTIME——进程完成还要的CPU时间STATE——进程的状态NEXT——链指针进程控制块链结构中主要指针如下:RUN——当前运行进程指针READY——就绪队列头指针TAIL——就绪队列尾指针FINISH——完成队列头指针为了方便处理,程序中进程的运行时间以时间片为单位计算。各进程的优先数或轮转时间片数以及进程需运行的时间片数的初值均由用户给定。2.程序说明1)在优先数算法中,进程每执行一次,优先数减3,

4、CPU时间片数加1,进程还需要的时间片数减1。在轮转法中,采用固定时间片,时间片数为2,进程每次执行一次,CPU时间片加2,进程还需要的时间片数减2,并排列就绪队列的尾上。2)程序结构说明如下:整个程序由FIRSTIN,INSERT1,INSERT2,PRINT,CREAT,PRISCH和ROUNDSCH函数组成。其中:INSERT1的功能是把还未完成且优先数小于别的进程的进程PCB按进程优先数的顺序插入到就绪队列中。INSERT2是轮转法使用的函数,将执行了一个单位时间片数(为2)且还未完成的进程的PCB插到就绪队列的队尾。FI

5、RSTIN的功能是将就绪队列中的第一个进程投入运行。PRINT打印每执行一个时间片后的所有进程的状态,这里,就绪(等待)用“W”代表。CREATE的功能是创建新的进程,即创立进程的PCB,并将此PCB链入到就绪队列中去。PRISCH按优先数算法调度进程。ROUNDSCH按时间片轮转法调度进程。主程序中定义了PCB的结构和其它变量:number——进程数,algo为10个字符长的字符串,存放要求输入的算法的名,PRIORITY为优先数算法,ROUNDROBIN为循环轮转法,在程序运行时输入其中的一个。3.主要算法算法PRISCH{w

6、hile(当前运行进程不为空){进程占用CPU时间加1进程到完成还要的CPU时间减1进程优先数减3if(进程到完成还要的CPU时间为0){将该进程插入到完成队列中修改该进程状态当前运行进程指针为空if(就绪队列不为空)FIRSTIN函数}elseif(就绪队列不为空且当前进程优先数小于就绪队列中第一个进程的优先数){修改当前进程状态为WINSERT1函数FIRSTIN函数}PRINT函数}}算法ROUNDSCH{while(当前运行进程不为空){进程占用CPU时间加1进程到完成还要的CPU时间减1进程计数器加1if(进程到完成还要

7、的CPU时间为0){将该进程插入到完成队列中修改该进程状态当前运行进程指针为空if(就绪队列不为空)FIRSTIN过程}elseif(进程计数器等于进程轮转时间片){修改当前进程计数器为0if(就绪队列不为空){修改当前进程状态为WINSERT2过程FIRSTIN过程}}PRINT过程}}一.实验报告1.实验题目。2.采用的数据结构及符号说明。3.打印一份源程序清单,并附加流程图与注释。4.打印出两种算法的执行结果。5.比较两种算法的优缺点并分析实验过程中遇到的问题,谈谈实验后的体会。实验三进入VI编辑器格式:vi文件名例:vis

8、y.cVi编辑器三种工作方式:1.编辑方式:进入VI处于编辑方式2.文本输入方式:在编辑方式下输入a,进入追加方式,输入i,进入插入方式3.命令方式:在输入方式下,按Esc键,由文本输入转向编辑方式,输入冒号:进入命令方式4.退出vi:wq写文件退

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

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

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