- 1、本文档共28页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统实验(包含源代码)
操作系统试验指导
—. 课程的性质、目的和任务
操作系统在整个计算机系统软件中占有中心地位。其作用是对计算机系统进行统一的调度和管理,提供各种强有力的系统服务,为用户创造既灵活又方便的使用环境。本课程是计算机及应用专业的一门专业主干课和必修课。通过本课程的学习,使学生掌握操作系统的基本概念、设计原理及实施技术,具有分析操作系统和设计、实现、开发实际操作系统的能力。
二. 实验的意义和目的
操作系统是计算机专业学生的一门重要的专业课程。操作系统质量整个计算机系统的性能和用户对计算机的使用影响。一个的操作系统能极大地扩充计算机系统的功能,充分发挥系统中各种设备的使用效率,提高系统工作的可靠性。由于操作系统涉及计算机系统中各种软硬件资源的管理,内容比较繁琐,具有很强的实践性。要学好这门课程,必须把理论与实践紧密结合,才能取得较好的学习效果。培养计算机专业的学生的系统程序设计能力,是操作系统课程的一个非常重要的环节。通过操作系统上机实验,可以培养学生程序设计的方法和技巧,提高学生编制清晰、合理、可读性好的系统程序的能力,加深对操作系统课程的理解。使学生更好地掌握操作系统的基本概念、基本原理、及基本功能,具有分析实际操作系统、设计、构造和开发现代操作系统的基本能力。
三.实验运行环境及上机前的准备
实验运行环境: C语言编程环境 上机前的准备工作包括:按实验指导书要求事先编好程序;准备好需要输入的中间数据;估计可能出现的问题;预计可能得到的运行结果。
四. 实验内容及安排
实验内容包括进程调度、、和个实验。每个实验介绍了实习的目的要求、内容和方法目的要求? 用高级语言编写和调试一个进程调度程序,以加深对进程的概念及进程调度算法的理解. rocess Control Block)。
进程控制块PCB与进程一一对应,PCB中记录了系统所需的全部信息、用于描述进程情况所需的全部信息和控制进程运行所需的全部信息。因此,系统可以通过进程的PCB来对进程进行管理。
[试验内容]
设计一个有 N个进程共行的进程调度程序。
进程调度算法:采用最高优先数优先的调度算法(即把处理机分配给优先数最高的进程)和先来先服务算法。每个进程有一个进程控制块( PCB)表示。进程控制块可以包含如下信息:进程名、优先数、到达时间、需要运行时间、已用CPU时间、进程状态等等。 进程的优先数及需要的运行时间可以事先人为地指定(也可以由随机数产生)。进程的到达时间为进程输入的时间。进程的运行时间以时间片为单位进行计算。每个进程的状态可以是就绪 W(Wait)、运行R(Run)、或完成F(Finish)三种状态之一。就绪进程获得 CPU后都只能运行一个时间片。用已占用CPU时间加1来表示。如果运行一个时间片后,进程的已占用 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; /*结构体pcb的指针类型*/
}*ready=NULL,*p;/*指向当前用行的pcb*/
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)) /*若插入进程比当前进程优先数大,
您可能关注的文档
- 承包经营管理工食堂.doc
- 承台肋板施工案.doc
- 扭矩枪控制器能介绍.ppt
- 技术分析与交技巧.ppt
- 技术贸易合同性质国家是如何规定的.docx
- 把群众满意作评价整改成效的根本标准.doc
- 技术标装饰().doc
- 抓标志词判断病.ppt
- 抓住机遇找准入点落实全科医生制度.ppt
- 投融资管理和本运作.ppt
- 地基基础竖向力作用下的附加应力课件.pptx
- 单筋矩形截面正截面承载力计算例题讲解焦宇晖课件.pptx
- 单元 4 工程实施阶段的施工资料-4.1 施工资料管理流程 4.2 工程实施依据资料 4.4 工程施工记录资料 4.3 原材料半成品成品质量证明文件 4.5 施工试验资料 4.6 施工质量验收资料-1740707243930.ppt
- 地基基础土的密度课件.pptx
- 地基与基础结构分部工程施工质量检验与验收模块四建筑工程施工质量检验与验收实务6.pptx
- 地基基础密度试验课件.pptx
- 工作前装备(毕业生必看).ppt
- 学术信息资源的检索与利用.ppt
- 大班中秋节主题PPT(包含视频、图片).ppt
- 实验一双向琼脂扩散试验.ppt
文档评论(0)