- 5
- 0
- 约5.78千字
- 约 10页
- 2021-10-24 发布于福建
- 举报
操作系统实验报告
处理机调度算法的实现
姓 名: 陈民厅
学 号:
班 级: 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;
您可能关注的文档
最近下载
- DB52T 1837-2024党政机关办公区物业管理服务规范.docx VIP
- 城市轨道交通概论单元3 城市轨道交通车辆 .pptx VIP
- 北京市小升初数学分班真题试卷(含答案).pdf VIP
- 项目组织管理体系.doc
- 2025年演出经纪人国际演出产业链结构与价值链分析专题试卷及解析.pdf VIP
- 第二十一章电磁波及其应用单元练2025-2026学年人教版物理九年级全一册.docx VIP
- 新生儿败血症诊断与治疗专家共识(2024).pptx VIP
- 《城市轨道交通概论》模块四 城市轨道交通车站.pptx VIP
- 2026年岭南美版美术七年级上册《第四单元 经典永流传》大单元教学设计.docx
- 水利工程施工组织设计.doc VIP
原创力文档

文档评论(0)