.
课程名称:
实验项目:
实验地点:
专业班级:
学生姓名:
指导教师:
操作系统B操作系统实验逸夫楼软件14班学号:2014张辉2016年12月2日
目录错误!未定义书签
实验一几种操作系统的界面3
F(finish)三种状态之一,并假定起始状态都是就绪状态W
为了便于处理,程序中进程的运行时间以时间片为单位计算。各进程的优先数或轮转时间片数、以及进程需要运行的时间片数,均由伪随机数发生器产生。
进程控制块结构如表2-1所示:
表2-1PCB
进程控制块链结构如图2-1所示:
TAIL
RUN
HEAD
图2-1进程控制块链结构
其中:RUN—当前运行进程指针;
HEAD—进程就绪链链首指针;
TAIL—进程就绪链链尾指针。
2. 算法与框图程序框图如图2-2所示。
图2-2进程调度框图
(1)优先数法。进程就绪链按优先数大小从大到小排列,链首进程首先投入运行。每过一个时间片,运行进程所需运行的时间片数减1,说明它已运行了一个时间片,优先数也减3。理由是该进程如果在一个时间片中完成不了,优先级应降低一级。接着比较现行进程和就绪链链首进程的优先数,如果仍是现行进程高或者相同,就让现行进程继续运行,否则,调度就绪链链首进程投入运行。原运行进程再按其优先数大小插入就绪链,且改变它们对应的进程状态,直至所有进程都运行完各自的时间片数。
(2)简单轮转法。进程就绪链按各进程进入的先后次序排列,链首进程首先投入运行。进程每次占用处理机的轮转时间按其重要程度登入进程控制块中的轮转时间片数记录项(相应于优先数法的优先数记录项位置)。每过一个时间片,运行进程占用处理机的时间片数加1,然后比较占用处理机的时间片数是否与该进程的轮转时间片数相等,若相等说明已到达轮转时间,应将现运行进程排到就绪链末尾,调度链首进程占用处理机,且改变它们的进程状态,直至所有进程完成各自的时间片。
程序清单I■BINpROGK/
*/
运行结果5320F0
4-220F0
3330F0
y
l*iie
1
-
4040F0
i
3560F0
1
1250F0
1
存储管理程序设计
输入2
实验三
一、目的和要求
(一)目的存储管理的主要功能之一是合理地分配主存空间。请求页式管理是一种常用的虚拟存储管理技术。
本实验的目的是通过请求页式存储管理中页面置换算法的模拟设计,来了解虚拟存储技
术的特点,掌握请求页式存储管理的页面置换算法。
(二)要求
并用先进先出调度算
模拟页式虚拟存储管理中硬件的地址转换和缺页中断的处理过程,法(FIFO)处理缺页中断。
、实验内容和原理
(1)为了装入一个页面而必须调出一页时,如果被选中调出的页面在执行中没有修改过,则不必把该页重新写到磁盘上(因磁盘上已有副本)。因此,在页表中可以增加是否修改过的标志,当执行“存”指令、“写”指令时把对应页的修改标志置成“1”,表示该页修改过,否则为"0”,表示该页未修改过。页表格式如表3-1所示。
⑵表3-1页表格式
页号
标志
主存块号
修改标志
磁盘上的位置
设计一个地址转换程序来模拟硬件的地址转换和缺页中断处理过程。当访问的页在主存时则形成绝对地址,但不去模拟指令的执行,可用输出转换后的绝对地址来表示一条指令已完成。当访问的页不在主存时则输出“*该页页号”来表示硬件产生了一次缺页中断。
模拟地址转换的程序流程如图3-1所示。
编制一个FIFO页面调度程序。FIFO页面调度算法总是先调出作业中最先进入主存的那一页,因此,可以用一个数组来构成页号队列。数组中每个元素是该作业已在主存的页面号,假定分配给作业的主存块数为m且该作业开始的m页已装入主存,则数组可由m个元素组成:
P[0],P[1],…,P[m-1]它们的初值为
P[0]:=0,P[1]:=1,…,P[m-1]:=m-1用一指针k指示当要装入新页时应调出的页在数组的位置,k的初值为“0”。
图3-1地址转换和FIFO页面调度流程
当产生缺页中断后,操作系统总是选择P[k]所指出的页面调出,然后执行P[k]:=要装入的新页页号k:=(k+1)modm在实验中不必实际地启动磁盘执行调出一页和装入一页的工作,而用输出“OUT调出的页号”和“IN要装入的新页页号”来模拟一次调出和装入的过程。模拟程序的流程见图3-1。
假定主存的每块长度为1024个字节,现有一个共7页的作业,其副本已在磁盘上。系统为该作业分配了4块主存块,且该作业的第0页至第3页已经装入主存,其余
太原理工大学操作系统实验报告课案 来自淘豆网m.daumloan.com转载请标明出处.