操作系统课程设计实验报告

操作系统课程设计实验报告

ID:6361770

大小:769.50 KB

页数:40页

时间:2018-01-11

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

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

1、操作系统实验报告学院计算机学院专业计算机科学与技术班级2班学号姓名指导教师(2009年5月)计算机学院计算机科学与技术专业2班学号:姓名:协作者:________教师评定:考勤情况程序运行情况程序质量实验技能创新精神实验报告设计文档实验__一__题目__进程调度_______第5周星期1实验__二__题目__作业调度_______第7周星期1实验__三(综合性)题目__主存空间的分配与回收_第9周星期1实验__四_题目_文件系统_第11周星期1实验平台:(宋体5号字)1、计算机及操作系统:台式机,windowsxpsp32、编程环境:MicrosoftVisualC++6.0源程序

2、名和可执行程序名:实验一:时间片轮转法.cpp时间片轮转法.exe实验二:作业调度.cpp和作业调度.exe实验三(综合性):主存空间的分配和回收.cpp和主存空间的分配和回收.exe实验四:文件系统.cpp和文件系统.exe备注:学号:3106006475姓名:杨振风协作者:________实验__一__题目__进程调度___第5周星期__一_一、实验目的用高级语言编写和调试一个进程调度程序,以加深对进程的概念及进程调度算法的理解.二、实验内容和要求设计一个有N个进程共行的进程调度程序。进程调度算法:·采用最高优先数优先的调度算法(即把处理机分配给优先数最高的进程)和先来先服务算

3、法。·每个进程有一个进程控制块(PCB)表示。进程控制块可以包含如下信息:进程名、优先数、到达时间、需要运行时间、已用CPU时间、进程状态等等。·进程的优先数及需要的运行时间可以事先人为地指定(也可以由随机数产生)。进程的到达时间为进程输入的时间。进程的运行时间以时间片为单位进行计算。·每个进程的状态可以是就绪W(Wait)、运行R(Run)、或完成F(Finish)三种状态之一。·就绪进程获得CPU后都只能运行一个时间片。用已占用CPU时间加1来表示。·如果运行一个时间片后,进程的已占用CPU时间已达到所需要的运行时间,则撤消该进程,如果运行一个时间片后进程的已占用CPU时间还未

4、达所需要的运行时间,也就是进程还需要继续运行,此时应将进程的优先数减1(即降低一级),然后把它插入就绪队列等待CPU。每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的PCB,以便进行检查。重复以上过程,直到所要进程都完成为止。三、实验主要仪器设备和材料台式机,MicrosoftVisualC++6.0四、实验原理及设计方案1、实验原理;时间片轮转法的基本思想:所有就绪队列按FCFS排成一个队列。总是把处理机分配给队首的进程,各个进程占用的CPU时间相同。如果运行进程用完它的时间片后还未完成,就把它送回到就绪队列的末尾,把处理机重新分配给队首的进程,直至所有的进程运行完

5、毕为止。2、设计方案设计一个数据结构包含各个进程的调度情况,然后用分程序实现各个功能。3、相关数据结构的说明structpcb{/*定义进程控制块PCB*/charname[10];定义进程名charstate;状态intsuper;优先数intntime;需要时间intrtime;已运行时间structpcb*link;指针域}*ready=NULL,*first,*p;typedefstructpcbPCB;4、程序流程图(详细)结束初始化PCB,输入进程信息各进程按FCFS排列就绪队列空开始就绪队列队首进程投入运行空不空已达到时间片到运行进程占用CPU时间+1运行进程已占用C

6、PU时间达到所需运行时间把运行进程插入就绪队列尾进程已完成撤消该进程未达到5、给出程序中源程序名和可执行程序名。时间片轮转法.cpp时间片轮转法.exe6、程序清单(源程序中要附有详细的注释)(代码部分:分成两栏(字号小五))#include"stdio.h"#include#include#definegetpch(type)(type*)malloc(sizeof(type))#defineNULL0intlen;structpcb{/*定义进程控制块PCB*/charname[10];charstate;intsuper;intntime

7、;intrtime;structpcb*link;}*ready=NULL,*first,*p;typedefstructpcbPCB;sort(){if(ready==NULL){ready=p;first=ready;ready->link=first;}else{ready->link=p;ready=p;ready->link=first;}}input()/*建立进程控制块函数*/{inti,num;printf("*********实验一进程调度(时间

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

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

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