没有合适的资源?快使用搜索试试~ 我知道了~
首页进程调度、银行家算法、页式地址重定位模拟,LRU算法模拟和先来先服务算法代码
资源详情
资源评论
资源推荐
计算机操作系统教程(第三版)
操作系统试验指导
—. 课程的性质、目的和任务
操作系统在整个计算机系统软件中占有中心地位。其作用是对计算机系统进行统一的
调度和管理,提供各种强有力的系统服务,为用户创造既灵活又方便的使用环境。本课
程是计算机及应用专业的一门专业主干课和必修课。通过本课程的学习,使学生掌握操作
系统的基本概念、设计原理及实施技术,具有分析操作系统和设计、实现、开发实际操作
系统的能力。
二. 实验的意义和目的
操作系统是计算机专业学生的一门重要的专业课程。操作系统质量对整个计算机系统
的性能和用户对计算机的使用有重大的影响。一个优良的操作系统能极大地扩充计算机
系统的功能,充分发挥系统中各种设备的使用效率,提高系统工作的可靠性。由于操作
系统涉及计算机系统中各种软硬件资源的管理,内容比较繁琐,具有很强的实践性。要
学好这门课程,必须把理论与实践紧密结合,才能取得较好的学习效果。培养计算机专
业的学生的系统程序设计能力,是操作系统课程的一个非常重要的环节。通过操作系统
上机实验,可以培养学生程序设计的方法和技巧,提高学生编制清晰、合理、可读性好
的系统程序的能力,加深对操作系统课程的理解。使学生更好地掌握操作系统的基本概
念、基本原理、及基本功能,具有分析实际操作系统、设计、构造和开发现代操作系统的
基本能力。
三.实验运行环境及上机前的准备
实验运行环境: C 语言编程环境
上机前的准备工作包括:
按实验指导书要求事先编好程序;
准备好需要输入的中间数据;
估计可能出现的问题;
预计可能得到的运行结果。
四. 实验内容及安排
实验内容包括进程调度、银行家算法、页式地址重定位模拟,LRU 算法模拟和先来先
服务算法五个实验。每个实验介绍了实习的目的要求、内容和方法。
计算机操作系统教程(第三版)
实验一、进程调度试验
[目的要求]
用高级语言编写和调试一个进程调度程序,以加深对进程的概念及进程调度算法的
理解.
[准备知识]
一、基本概念
1、进程的概念;
2、进程的状态和进程控制块;
3、进程调度算法;
二、进程调度
1、进程的状态
2、进程的结构——PCB
进程都是由一系列操作(动作)所组成,通过这些操作来完成其任务。因此,不同的
进程,其内部操作也不相同。在操作系统中,描述一个进程除了需要程序和私有数据之
外,最主要的是需要一个与动态过程相联系的数据结构,该数据结构用来描述进程的外
部特性(名字、状态等)以及与其它进程的联系(通信关系)等信息,该数据结构称为进程控
制块(PCB,Process Control Block)。
进程控制块 PCB 与进程一一对应,PCB 中记录了系统所需的全部信息、用于描述进
程情况所需的全部信息和控制进程运行所需的全部信息。因此,系统可以通过进程的
PCB 来对进程进行管理。
[试验内容]
设计一个有 N 个进程共行的进程调度程序。
进程调度算法:采用最高优先数优先的调度算法(即把处理机分配给优先数最高的
进程)和先来先服务算法。每个进程有一个进程控制块( PCB)表示。进程控制块可以
包含如下信息:进程名、优先数、到达时间、需要运行时间、已用 CPU 时间、进程状态
等等。 进程的优先数及需要的运行时间可以事先人为地指定(也可以由随机数产生)。
进程的到达时间为进程输入的时间。进程的运行时间以时间片为单位进行计算。每个进
程的状态可以是就绪 W(Wait)、运行 R(Run)、或完成 F(Finish)三种状态之一。
就绪进程获得 CPU 后都只能运行一个时间片。用已占用 CPU 时间加 1 来表示。如果运
运行
就绪
阻塞
进程因某事件(如等待
I/O 完成)变成阻塞状态
某 事 件 被 解
除 ( I/O 完
成)
时间片
已用完
进 程 调 度 程 序 把
处 理 机 分 配 给 进
程
( 1 )
( 2 )
( 3 )
( 4 )
计算机操作系统教程(第三版)
行一个时间片后,进程的已占用 CPU 时间已达到所需要的运行时间,则撤消该进程,如
果运行一个时间片后进程的已占用 CPU 时间还未达所需要的运行时间,也就是进程还需
要继续运行,此时应将进程的优先数减 1(即降低一级),然后把它插入就绪队列等待
CPU。每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的 PCB,以
便进行检查。
重复以上过程,直到所要进程都完成为止。
调度算法的流程图如下 :
进程调度源程序如下:
jingchendiaodu.cpp
#include "stdio.h"
#include <stdlib.h>
#include <conio.h>
#define getpch(type) (type*)malloc(sizeof(type))
#define NULL 0
struct pcb { /* 定义进程控制块 PCB */
char name[10];
char state;
int super;
int ntime;
计算机操作系统教程(第三版)
int rtime;
struct pcb* link;
}*ready=NULL,*p;
typedef struct pcb PCB;
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)) /*若插入进程比当前进程优先数大,*/
{ /*插入到当前进程前面*/
p->link=second;
first->link=p;
second=NULL;
insert=1;
}
else /* 插入进程优先数最低,则插入到队尾*/
{
first=first->link;
second=second->link;
}
}
if(insert==0) first->link=p;
}
}
input() /* 建立进程控制块函数*/
{
int i,num;
clrscr(); /*清屏*/
printf("\n 请输入进程号?");
计算机操作系统教程(第三版)
scanf("%d",&num);
for(i=0;i<num;i++)
{
printf("\n 进程号 No.%d:\n",i);
p=getpch(PCB);
printf("\n 输入进程名:");
scanf("%s",p->name);
printf("\n 输入进程优先数:");
scanf("%d",&p->super);
printf("\n 输入进程运行时间:");
scanf("%d",&p->ntime);
printf("\n");
p->rtime=0;p->state='w';
p->link=NULL;
sort(); /* 调用 sort 函数*/
}
}
int space()
{
int l=0; PCB* pr=ready;
while(pr!=NULL)
{
l++;
pr=pr->link;
}
return(l);
}
disp(PCB * pr) /*建立进程显示函数,用于显示当前进程*/
{
printf("\n qname \t state \t super \t ndtime \t runtime \n");
printf("|%s\t",pr->name);
printf("|%c\t",pr->state);
printf("|%d\t",pr->super);
printf("|%d\t",pr->ntime);
printf("|%d\t",pr->rtime);
printf("\n");
}
check() /* 建立进程查看函数 */
{
PCB* pr;
printf("\n **** 当前正在运行的进程是:%s",p->name); /*显示当前运行进程*/
disp(p);
pr=ready;
剩余24页未读,继续阅读
sinat_34339159
- 粉丝: 1
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1