- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《操作系统原理》
实 验 指 导 书
吴微 编
前 言
实验总体目标
通过学生自己动手设计实验验证理论知识,使学生掌握操作系统特征和功能,掌握不同调度算法下进程的调度、进程控制、进程调度与死锁,并必须掌握作业管理、存储器管理、设备管理和文件管理的主要原理。加深对操作系统基本原理理解。C语言程序设计、计算机组成原理、数据结构
实验项目 学时 实验一 单处理器系统的进程调度 2 实验二 设计一个有 N个进程共行的进程调度程序。 4 实验三 批处理系统中作业调度 2 实验四 银行家算法 4 实验五 LRU页面置换调度算法 4 实验六 独占设备的分配和回收模拟 4
⒌ 实验环境
有40台中等配置的计算机组成的小型局域网的实验室环境。计算机的具体要求:⒈Pentium 133Hz以上的CPU;⒉建议至少256MB的内存;⒊建议硬盘至少2GB,并有1GB空闲空间。4.安装Windows操作系统及C语言编译程序。
⒍ 实验总体要求
培养计算机专业的学生的系统程序设计能力,是操作系统课程的一个非常重要的环节。通过操作系统上机实验,可以培养学生程序设计的方法和技巧,提高学生编制清晰、合理、可读性好的系统程序的能力,加深对操作系统课程的理解。使学生更好地掌握操作系统的基本概念、基本原理、及基本功能具有分析实际操作系统、设计、构造和开发现代操作系统的基本能力。
目 录
实验一、 单处理器系统的进程调度 设计一个有 N个进程共行的进程调度程序。 批处理系统中作业调度 银行家算法 LRU页面置换调度算法
模拟单处理器系统的进程调度,采用动态优先权的进程调度算法作为进程设计算法,以加深对进程的概念及进程调度算法的理解.
二、实验类型(含验证型、设计型或综合型)
设计型
三、实验仪器
一台安装Windows操作系统及C语言编译程序的pc机。
四、实验原理
五、实验方法与步骤
(一)内容:
(1)用C语言实现对N个进程使用动态优先权算法的进程调度。
(2)描述用来标识进程的进程控制块PCB结构。
进程标识数ID
进程优先数PRIORITY,并规定优先数越大的进程,其优先权越高(人为指定或随机数)。
进程已占用的CPU时间CPUTIME。
进程还需占用的CPU时间ALLTIME,当进程运行完毕ALLTIME是为0。
进程的阻塞时间STARTBLOCK,表示当进程再运行STARTBLOCK个时间片后,进程将进入阻塞状态。
进程被阻塞的时间BLOCKTIME,表示已阻塞的进程再等待BLOCKTIME个时间片后将转换成就绪状态。
进程状态STATE。
队列指针NEXT,用来将PCB排成队列。
(3)手工输入建立几个进程,建立一个就绪队列,按优先数由高到低排列。
(4)进行进程调度
(5)每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的PCB,以便进行检查。重复以上过程,直到所要进程都完成为止。
(二)参考程序:
#include stdio.h
#define running 1 /*用running 表示进程处于运行态*/
#define aready 2 /*用aready表示进程处于就绪态*/
#define blocking 3 /*用blocking表示进程处于等待态*/
#define sometime 5 /*用sometime 表示时间片大小*/
#define n 10 /* 假定系统允许进程个数为10 */
struct
{
int name; /*进程标识符*/
int status; /*进程状态*/
int ax, bx, cx,dx; /*进程现场信息,通用寄存器内容*/
int pc; /*进程现场信息,程序计数器内容*/
int psw; /*进程现场信息,程序状态字寄存器内容
文档评论(0)