下载此文档

操作系统进程调度实验报告.doc


文档分类:IT计算机 | 页数:约3页 举报非法文档有奖
1/3
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/3 下载此文档
文档列表 文档介绍
实验报告
学院: 计算机科学专业: 计算机科学与技术 2010年4月30日
姓名
王丽芳
学号
2007040310146
班级
计科一班
指导老师
黄干平
课程名称
计算机操作系统


实验名称
模拟进程调度程序

进程及进程管理是操作系统最重要的内容之一。本实验要求我们选用某种进程调度算法用“C”语言编制模拟进程调度的程序,并在机器上运行通过。通过本实验,使我们对进程调度的算法、数据结构及其实现程序有一个较为深入具体的了解。

设计一个按优先级算法调度的模拟程序

Windows XP,Mcrosoft visual c++
(含设计)
(1)设系统中有5个进程,每个进程由进程控制块(PCB)来标识。进程控制块的内容有:进程名、链接指针、到达时间、运行时间、完成时间、进程优先数和进程状态。进程优先数为整数型,优先数愈高优先级愈低。
(2)调度时,每次都要扫描整个队列,从中选出当前优先数最小因而优先级最高的进程运行。采用动态优先数调度,进程每运行一次,其优先数加1,运行时间减1,当其“运行时间”等于0时,将其“状态”置为“C”;一个状态为“C”的进程,此后不再被调度到运行。,一个进程被调度到运行一次,只需打印一行字符串,不要求将其PCB插入PCB队列的末尾。
(3)运行结果:输出进程完成的顺序,每个进程的周转时间,带权周转时间,平均周转时间和平均带权周转时间。
程序流程图如下:

#include <>#include <>#include <>#include <>
struct pcb{ char name; char state; int tijiao; int ntime; int rtime;int time; int youxian; float zztime; float dqzztime;struct pcb* next; }*ready=NULL, *p;
typedef struct pcb PCB; float pjdazztime=0;float pjzztime=0;int num;int t=20;
PCB *list=(PCB *)malloc(sizeof(PCB));
int input(PCB *list)
{ int i; PCB *q=list; PCB *p; printf("start\n"); scanf("%d",&num); for(i=0;i<num;i++)
{p=(PCB *)malloc(sizeof(PCB)); p->next=NULL; printf("\n进程数%d:\n",i);printf("\n进程名:\n");scanf("%s",&p->name); printf("\n进程所需运行时间:");scanf("%d",&p->ntime); printf("\n");p->time=p->ntime;p->rtime=0; p->state='R';
printf("提交时间:");scanf("%d",&p->tijiao); printf("\n");print

操作系统进程调度实验报告 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数3
  • 收藏数0 收藏
  • 顶次数0
  • 上传人文库旗舰店
  • 文件大小196 KB
  • 时间2018-08-17