操作系统实验报告
操作系统实验报告
学 院 计算机学院
专 业 08软件工程
班 级
学 号
姓 名
指导教师
(2010年 12 月)
计算机 学院 软件工程 专业 04 班 学号:
姓名: 协作者:________ 教师评定:
考勤情况
程序运行情况
程序质量
实验技能
创新精神
实验报告
设计文档
实验__一__题目__ 进程调度______ 第 8 周星期 四
实验__二__题目__ 作业调度_______ 第 10 周星期 四
实验三(综合性)题目 主存空间的分配与回收 第 15 周星期 四
实验__四_题目 文件系统 第 16 周星期 四
实验平台:
计算机及操作系统:PC机,Windows XP
编程环境:develop c++
源程序名和可执行程序名:
实验一:,
实验二:,
实验三(综合性):,
实验四:,
学号: 姓名: 协作者:________
实验__一__题目__ 进程调度___第 8 周星期__四 _
一、实验目的
用高级语言编写和调试一个进程调度程序,以加深对进程的概念及进程调度算法的理解。
二、实验内容和要求
进程调度,设计一个有N个进程并发的进程调度程序。要求采用最高优先数优先算法。
三、实验主要仪器设备和材料
实验环境
硬件环境:PC机
软件环境:develop c++
四、实验原理及设计方案
实验原理:把CPU分配给就绪队列中优先数最高的进程。
实验方法:采用“最高优先数”调度算法对五个进程进行调度,优先数高的先运行,优先数低的进入就绪队列。
实验步骤:
1、画出流程图
2、代码实现,其进程控制块定义为结构体pcb,如下
核心代码如下:
#include <>
#include <>
#include <>
#include<>
typedef struct node
{
char name[10];
int prio;
int round;
int cputime;
int needtime;
int count;
char state;
struct node *next;
}PCB;
PCB *finish,*ready,*tail,*run;
int N;
firstin()
{
run=ready;
run->state='R';
ready=ready->next;
}
void prt1( )
{
printf("name cputime needtime count round state\n");
}
void prt2(PCB *q)
{
printf("%-8s%-8d%-8d%-6d%-5d %-c\n",q->name,
q->cputime,q->needtime,q->count,q->round,q->state);
}
void prt()
{
PCB *p;
if(run!=NULL)
prt2(run);
p=ready;
while(p!=NULL)
{
prt2(p);
p=p->next;
}
p=finish;
while(p!=N
操作系统实验报告 来自淘豆网m.daumloan.com转载请标明出处.