云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 小型仿真操作系统实验报告

小型仿真操作系统实验报告

  • 62 次阅读
  • 3 次下载
  • 2025/12/10 13:44:19

综合实验报告

( 2009-- 2010年度第六学期)

名 称:操作系统原理综合实验B 题 目:小型仿真操作系统的设计 院 系: 班 级: 学 号: 学生姓名: 指导教师:

设计周数: 一周

成 绩:

日期:

实验一:单处理器系统的进程调度

1.实验目的

在采用多道程序设计的系统中,往往有若干个进程同时处于就绪状态。当就绪进程个数大于处理器数时,就必须依照某种策略来决定哪些进程优先占用处理器。本实验模拟在单处理器情况下的处理器调度,帮助学生加深了解处理器调度的工作。 2.实验内容与要求

(1)设计多个进程并发执行的模拟调度程序,每个程序由一个PCB表示。 (2)模拟调度程序可任选两种调度算法之一实现。

(3)程序执行中应能在屏幕上显示出各进程的状态变化,以便于观察调度的整个过程。 3.实验原理

建立进程循环链表,进程信息包括进程名和需要运行的时间,每次运行一次,系统的运行时间加1,当运行到所需时间时将其状态设为1,说明此进程运行完毕,删除此进程,直到所有进程都运行完毕。 4.实验源程序

#include #include #define NULL 0

int Name[5]={'1','2','3','4','5'}; struct PCB {

char name;//PCB名字 int RunTime;//PCB已运行时间 int RequestTime;//PCB要求运行时间 char status;//PCB状态

struct PCB* head;//指向上一个PCB结构体的指针变量 struct PCB* next;//指向下一个PCB结构体的指针变量 };

struct PCB pcb1,pcb2,pcb3,pcb4,pcb5,*p,*q; ////定义PCB各参数的初值,输入各个进程的运行时间 Value() {

pcb1.name=Name[0]; pcb2.name=Name[1]; pcb3.name=Name[2]; pcb4.name=Name[3];

1

pcb5.name=Name[4]; ///定义PCB状态,初态为'R' pcb1.status='R'; pcb2.status='R'; pcb3.status='R'; pcb4.status='R'; pcb5.status='R';

///定义PCB运行时间,初值为0 pcb1.RunTime=0; pcb2.RunTime=0; pcb3.RunTime=0; pcb4.RunTime=0; pcb5.RunTime=0;

///给PCB的要求运行时间赋值 cout<

cout<<\请给各个PCB的要求运行时间赋值(int):\ cout<<\第一个PCB \要求运行的时间为:\ cin>>pcb1.RequestTime;

cout<<\第二个PCB \要求运行的时间为:\ cin>>pcb2.RequestTime;

cout<<\第三个PCB \要求运行的时间为:\ cin>>pcb3.RequestTime;

cout<<\第四个PCB \要求运行的时间为:\ cin>>pcb4.RequestTime;

cout<<\第五个PCB \要求运行的时间为:\ cin>>pcb5.RequestTime; return 0; }

///////////使PCB连接成循环队列 Connect() {

///////PCB的前驱 pcb1.head=&pcb5; pcb2.head=&pcb1;

2

pcb3.head=&pcb2; pcb4.head=&pcb3; pcb5.head=&pcb4; ////////PCB的后续 pcb1.next=&pcb2; pcb2.next=&pcb3; pcb3.next=&pcb4; pcb4.next=&pcb5; pcb5.next=&pcb1; return 0; }

///////显示输入 display() {

cout<<\ cout<<\进程名称 \下一进程名\运行时间\ cout<<\要求时间\状态\

cout<<\ return 0; }

/////PCB执行 Run() { Value(); Connect();

// struct PCB pcb1,pcb2,pcb3,pcb4,pcb5,*p,*q; char a;

int num,n,PcbNum=5,Number=5,flag=1;//PcbNum表示进程执行过程中进程的个数,n表示已执行完毕的进程个数

q=NULL; //flag=1时程序继续 cout<

cout<<\请选择你想要运行的进程:\ cin>>num; cout<

3

搜索更多关于: 小型仿真操作系统实验报告 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

综合实验报告 ( 2009-- 2010年度第六学期) 名 称:操作系统原理综合实验B 题 目:小型仿真操作系统的设计 院 系: 班 级: 学 号: 学生姓名: 指导教师: 设计周数: 一周 成 绩: 日期: 实验一:单处理器系统的进程调度 1.实验目的 在采用多道程序设计的系统中,往往有若干个进程同时处于就绪状态。

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com