欢迎来到天天文库
浏览记录
ID:22041271
大小:2.98 MB
页数:64页
时间:2018-10-26
《进程调度 作业调度 主存空间分配与回收 文件系统》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、操作系统实验报告学院专业班级学号姓名指导教师(2010年12月)64计算机学院专业班学号:姓名:协作者:________教师评定:考勤情况程序运行情况程序质量实验技能创新精神实验报告设计文档实验__一__题目__进程调度_______第8周星期三实验__二__题目__作业调度_______第9周星期四实验__三(综合性)题目__主存空间的分配与回收_第10周星期四实验__四_题目_文件系统_第15周星期四实验平台:1、计算机及操作系统:MicrosoftWindowsXPProfessional(SP3)2、编程环境:VC++6.0源程序名和可执行
2、程序名:实验一:源文件:三级反馈队列调度算法.cpp可执行文件:三级反馈队列调度算法.exe实验二:源文件:单道批处理系统作业调度.cpp可执行文件:单道批处理系统作业调度.exe实验三(综合性):源文件:主存空间分配和回收.cpp可执行文件:主存空间分配和回收.exe实验四:源文件:文件系统.cpp可执行文件:文件系统.exe64学号:姓名:协作者:________实验__一__题目__进程调度___第周星期___一、实验目的用高级语言编写和调试一个进程调度程序,以加深对进程的概念及进程调度算法的理解。二、实验内容和要求设计一个有N个进程共行的进
3、程调度程序。要求采用最高优先数优先算法,时间片轮转算法,多级队列调度算法这三种算法。·每个进程有一个进程控制块(PCB)表示。进程控制块可以包含如下信息:进程名、优先数、到达时间、需要运行时间、已用CPU时间、进程状态等等。·进程的优先数及需要的运行时间可以事先人为地指定(也可以由随机数产生)。进程的到达时间为进程输入的时间。进程的运行时间以时间片为单位进行计算。·每个进程的状态可以是就绪W(Wait)、运行R(Run)、或完成F(Finish)三种状态之一。·就绪进程获得CPU后都只能运行一个时间片。用已占用CPU时间加1来表示。·如果运行一个时
4、间片后,进程的已占用CPU时间已达到所需要的运行时间,则撤消该进程,如果运行一个时间片后进程的已占用CPU时间还未达所需要的运行时间,也就是进程还需要继续运行,此时应将进程的优先数减1(即降低一级),然后把它插入就绪队列等待CPU。每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的PCB,以便进行检查。重复以上过程,直到所有的进程都完成为止。三、实验主要仪器设备和材料实验环境硬件环境:个人台式机MicrosoftWindowsXPProfessional(SP3)软件环境:C语言编程环境,VC++6.0四、实验原理及设计方案1、实验原理
5、(3)编写并调试一个模拟的进程调度程序,采用“多级反馈队列”调度算法对五个进程进行调度。多级反馈队列调度算法的基本思想是:当一个新进程进入内存后,首先将它放入第一队列的末尾,按FCFS原则排队等待调度.当轮到该进程执行时,如它能在该时间片内完成,便可准备撤离系统;如果它在一个时间片结束时尚未完成,调度程序便将该进程转入第二队列的末尾,再同样地按FCFS原则等待调度执行,以此类推。1、设置多个就绪队列,并给队列赋予不同的优先级数,第一个最高,依次递减。2、赋予各个队列中进程执行时间片的大小,优先级越高的队列,时间片越小。3、当一个新进程进入内存后,首
6、先将其放入一个对列末尾,如果在一个时间片结束时尚未完成,将其转入第二队列末尾。644、当一个进程从一个对列移至第n个队列后,便在第n个队列中采用时间片轮转执行完。5、仅当时间片空闲时,才调度第二个队列中的进程。(1~i-1)空闲时,才调度i,如果处理机正在第i队列中运行,又有新进程进入优先权较高队列,则新进程抢占处理机,将正在运行的进程放入第i队列队尾,将处理机分给新进程。2、设计方案structpcb{charname[10];//进程名charstate;//进程状态w:等待r:运行intqueue;//进程队列1:2:3intpriority
7、;//数字越小优先级越高intneedtime;//需运行时间intruntime;//已经运行时间pcb*link;//进程队列下一指针}*ready=NULL,*run;typedefstructpcbPCB;//分别设置三条就绪队列头指针和尾指针PCB*First=NULL,*Second=NULL,*Third=NULL,*end1=NULL,*end2=NULL,*end3=NULL;//为三条就绪队列设置三个时间片:1:2:3inttime[3];3、程序流程图64进程队列初始化Cpu调度进程进程i运行新进程插入?加入第一队列尾继续执行
8、进程i进程i完成?第一级队列还有待运行进程吗?修改数据结构,继续运行下一进程YNYNY加入下一级队列尾时间片运行完N第二级
此文档下载收益归作者所有