操作系统-处理机调度算法的实现收集.pdfVIP

  • 5
  • 0
  • 约5.78千字
  • 约 10页
  • 2021-10-24 发布于福建
  • 举报

操作系统-处理机调度算法的实现收集.pdf

操作系统实验报告 处理机调度算法的实现 姓 名: 陈民厅 学 号: 班 级: 09 计算机 1 操作系统实验报告 一、 实验名称及要求 1、实验名称: 处理机调度算法的实现 2、实验要求: 了解操作系统处理机调度概念的基本概念, 处理机调度程序的功能, 常用的处理机调 度算法。 C 或 C++编程方法与语句格式,提前初步编好试验程序。 3、实验方式: 通过实验室的微机上机,实际调试程序。 4 、实验环境: Windows 操作系统环境下的个人微机 C或C++程序设计语言 二、实验内容 1.设定系统中有五个进程,每一个进程用一个进程控制块表示。 2.输入每个进程的“优先数”和“要求运行时间” 。 3.为了调度方便,将五个进程按给定的优先数从大到小连成就绪队列。用一单元 指出队列进程,用指针指出队列的链接情况。 4.处理机调度总是选队首进程运行。采用动态优先数算法,进程每运行一次优先 数就减“1”,同时将运行时间减“1” 。 5.若要求运行时间为零,则将其状态置为“结束” ,且对出队列。 6.运行所设计进程,显示或打印逐次被选中进程的进程名以及进程控制块的动态 变化过程。 1 操作系统实验报告 三、 实验程序 #include stdio.h #include stdlib.h #include conio.h #define getpch(type) (type*)malloc(sizeof(type)) #define NULL 0 struct pcb /* 定义进程控制块 PCB */ { char name[20]; char state; int super; int ntime; int rtime; struct pcb* link; } *ready=NULL,*p; typedef struct pcb PCB; void sort() /* 建立对进程进行优先级排列函数 */ { PCB *first, *second; int insert=0; if((ready==NULL)||((p-super)(ready-super))) /* 优先级最大者 , 插入队首 */ { p-link=ready; ready=p; } else /* 进程比较优先级 , 插入适当的位置中 */ { first=ready; second=first-link; while(second!=NULL) { if((p-super)(second-super)) /* 若插入进程比当前进程优先数大 ,*/ { /* 插入到当前进程前面 */ 2 操作系统实验报告 p-link=second; first-link=p; second=NULL;

文档评论(0)

1亿VIP精品文档

相关文档