文档介绍:《操作系统B》实验
指导书
学院:计算机科学与技术学院
系:软件工程系
专业:软件工程
指导教师:方昀
时间:2010年 12月
目录
实验总要求 1
实验一几种操作系统的界面 1
一、目的和要求 1
二、内容 1
实验二进程调度程序设计 2
一、目的和要求 2
二、示例 2
实验三存储管理程序设计 9
一、目的和要求 9
二、提示 9
参考资料 11
《操作系统B》实验指导书
实验总要求
遵守机房纪律,服从机房调度。
努力准备上机内容,并预先做一些情况分析。
仔细观察上机现象,记录主要情况。
认真填写实验报告,包括姓名、所在班级、实验题目、实验目的、实验要求、程序框图及程序清单和运行结果,运行情况分析,意见,程序清单要有注释。
实验一几种操作系统的界面
一、目的和要求
目的
本实验的目的是使学生熟悉1—2种操作系统的界面,在熟练使用机器的基础上,能了解各种操作命令和系统调用在系统中的大致工作过程。也就是通过操作系统的外部特征,逐步深入到操作系统的内部实质内容中去。
要求
能熟练的在1—2种操作系统的环境下工作,学会使用各种命令,熟悉系统提供的各种功能,主动而有效地使用计算机。
熟悉系统实用程序的调用方法和各种系统调用模块的功能和作用
二、内容
在某种操作系统的环境下建立、修改、运行、打印源程序和结果,最后撤消一个完整的程序。
提示:可按下述步骤进行
编写一个完整的源程序,通过编辑命令送入机器,建立源程序文件;
编译该源文件,建立相应的目标文件;
编译有错时,再用编辑命令修改源文件,消除全部词法和语法错误;
连接目标文件,形成可执行文件;
执行该文件,得到结果;
打印输出源程序和运行结果;
撤消本次实验中形成的所有文件。
实验二进程调度程序设计
一、目的和要求
目的
进程是操作系统最重要的概念之一,进程调度是操作系统的主要内容,本实验要求学生独立地用高级语言编写一个进程调度程序,调度算法可任意选择或自行设计,本实验可使学生加深对进程调度和各种调度算法的理解。
要求
设计一个有几个进程并发执行的进程调度程序,每个进程由一个进程控制块(PCB)表示,进程控制块通常应包括下述信息:进程名,进程优先数,进程需要运行的时间,占用CPU的时间以及进程的状态等,且可按照调度算法的不同而增删。
调度程序应包含2—3种不同的调度算法,运行时可以任选一种,以利于各种方法的分析和比较。
系统应能显示或打印各进程状态和参数的变化情况,便于观察。
二、示例
题目本程序可选用优先数法或简单轮转法对五个进程进行调度。每个进程处于运行R(run)、就绪W(wait)和完成F(finish)三种状态之一,并假定起始状态都是就绪状态W。
为了便于处理,程序中进程的运行时间以时间片为单位计算。各进程的优先数或轮转时间片数、以及进程需要运行的时间片数,均由伪随机数发生器产生。
进程控制块结构如表2-1所示:
表2-1 PCB
进程标识符
链指针
优先数/轮转时间片数
占用CPU时间片数
进程所需时间片数
进程状态
进程控制块链结构如图2-1所示:
RUN HEAD TAIL
1
┇
R
3
┇
W
5
┇
W
W
0
┇
2
…
图2-1 进程控制块链结构
其中:RUN—当前运行进程指针;
HEAD—进程就绪链链首指针;
TAIL—进程就绪链链尾指针。
2. 算法与框图程序框图如图2-2所示。
priority
是
输入调度算法alog
开始
alog=priority/round robin?
生成并按优先数大小排列进程控制块链
进程时间片数为0?
从链首取一个进程投入运行
生成并按进入次序
排列进程控制块链
链首进程投入运行
时间片到,进程时间片
数减1,优先数减3
运行进程退出,排到进程链尾部
撤消该进程
链首进程投入运行
时间片到,进程时间片数
减1,占用CPU时间加1
优先数大于链首进程?
进程时间片数为0?
撤消该进程
运行进程退出,按优先数插入进程链
从链首取一个进程投入运行
结束
结束
进程队列空?
进程队列空?
是
是
是
否
否
否
否
否
是
round robin
占用处理机时间片到?
否
是
图2-2 进程调度框图
(1)优先数法。进程就绪链按优先数大小从大到小排列,链首进程首先投入运行。每过一个时间片,运行进程所需运行的时间片数减1,说明它已运行了一个时间片,优先数也减3。理由是该进程如果在一个时间片中完成不了,优先级应降低