作业系统实习报告样本

上传人:碎****木 文档编号:224770615 上传时间:2021-12-16 格式:DOCX 页数:10 大小:19.73KB
返回 下载 相关 举报
作业系统实习报告样本_第1页
第1页 / 共10页
作业系统实习报告样本_第2页
第2页 / 共10页
作业系统实习报告样本_第3页
第3页 / 共10页
亲,该文档总共10页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《作业系统实习报告样本》由会员分享,可在线阅读,更多相关《作业系统实习报告样本(10页珍藏版)》请在金锄头文库上搜索。

1、作业系统实习报告样本 1 作业系统实习报告内容 (1)基本资讯:完*姓名、学号、报告日期 (2)实习内容 (3)实习目的 (4)实习题目 (5)设计思路和流程图 (6)主要资料结构及其说明 (7)源程式并附上注释 (8)程式执行时的初值和执行结果 (9)实习体会:实习中遇到的问题及解决过程、实习中产生的错误及原因分析、实习的体会及收穫、对搞好今后实建设性建议等。 实习报告可以书面或电子文件形式提交。 样本1一、实习内容 模拟分页式虚拟储存管理中硬体的地址转换和缺页中断,以及选择页面排程演算法处理缺页中断。 二、实习目的 在计算机系统中,为了提高主存利用率,往往把辅助储存器(如磁碟)作为主储存器

2、的扩充,使多道执行的作业的全部逻辑地址空间总和可以超出主存的绝对地址空间。用这种办法扩充的主储存器称为虚拟储存器。通过本实习理解在分页式储存管理中怎样实现虚拟储存器。 三、实习题目 本实习有三个小题。 第一题:模拟分页式储存管理中硬体的地址转换和产生缺页中断。 设计思路、资料结构、流程图: (1) 分页式虚拟储存系统是把作业资讯的副本存放在磁碟上,当作业被选中时,可把作业的开始几页先装入主存且启动执行。为此,在为作业建立页表时,应说明哪些页已在主存,哪些页尚未装入主存,页表的格式为: 其中,标誌用来表示对应页是否已经装入主存,标誌位=1,则表示该页已经在主存,标誌位=0,则表示该页尚未装入主存

3、。 主存块号用来表示已经装入主存的页所佔的块号。 在磁碟上的位置用来指出作业副本的每一页被存放在磁碟上的位置。 (2) 作业执行时,指令中的逻辑地址指出参加运算的运算元存放的地址,该地址被解释为页号和单元号,硬体的地址转换机构按页号查页表,若该页对应标誌为“1”,则表示该页已在主存,这时根据关係式: 绝对地址=块号块长+单元号 计算出欲访问的主存单元地址。如果块长为2的幂次,则可把块号作为高地址部分,把单元号作为低地址部分,两者拼接而成绝对地址。按计算出的绝对地址可以取到运算元,完成一条指令的执行。 若访问的页对应标誌为“0”,则表示该页不在主存,这时硬体发“缺页中断”讯号,由作业系统按该页在

4、磁碟上的位置,把该页资讯从磁碟读出装入主存后再重新执行这条指令。 (3) 设计一个“地址转换”程式来模拟硬体的地址转换工作。当访问的页在主存时,则形成绝对地址,但不去模拟指令的执行,而用输出转换后的地址来代替一条指令的执行。当访问的页不在主存时,则输出“*该页页号”,表示产生了一次缺页中断。 该模拟程式的演算法如图1。 (4) 假定主存的每块长度为128个位元组;现有一个共七页的作业,其中第0页至第3页已经装入主存,其余三页尚未装入主存;该作业的页表为: 图1 地址转换模拟演算法 如果作业依次执行的指令序列为: 执行设计的地址转换程式,显示或列印执行结果。因仅模拟地址转换,并不模拟指令的执行,

5、故可不考虑上述指令序列中的操作。 第二题:用先进先出(fifo)页面排程演算法处理缺页中断。 设计思路、资料结构、流程图: (1) 在分页式虚拟储存系统中,当硬体发出“缺页中断”后,引出作业系统来处理这个中断事件。如果主存中已经没有空闲块,则可用fifo页面排程演算法把该作业中最先进入主存的一页调出,存放到磁碟上。然后再把当前要访问的页装入该块。 调出和装入后都要修改页表中对应页的标誌。 (2) fifo页面排程演算法总是淘汰该作业中最先进入主存的那一页,因此可以用一个阵列来表示该作业已在主存的页面。假定作业被选中时,把开始的m个页面装入主存,则阵列的元素可定为m个。例如: p0,p1,pm-

6、1 其中每一个pi (i=0, 1, , m-1) 表示一个在主存中的页面号。它们的初值为: p0: =0, p1: =1, , pm-1: =m-1 用一指标k指示当要装入新页时,应淘汰的页在阵列中的位置,k的初值为“0”。 当产生缺页中断后,作业系统选择pk所指出的页面调出,然后执行: pk: =要装入页的页号 k: = (k+1) mod m 再由装入程式把要访问的一页资讯装入到主存中。重新启动刚才那条指令执行。 (3) 编制一个fifo页面排程程式,为了提高系统效率,如果应淘汰的页在执行中没有修改过,则可不必把该页调出(因在磁碟上已有副本)而直接装入一个新页将其覆盖。因此在页表中增加是

7、否修改过的标誌,为“1”表示修改过,为“0”表示未修改过,格式为: 由于是模拟排程演算法,所以,不实际地启动调出一页和装入一页的程式,而用输出调出的页号和装入的页号来代替一次调出和装入的过程。 把第一题中程式稍作改动,与本题结合起来,fifo页面排程模拟演算法如图2。 图2 fifo页面排程模拟演算法 (4) 如果一个作业的副本已在磁碟上,在磁碟上的存放地址以及已装入主存的页和作业依次执行的指令序列都同第一题中(4)所示。于是增加了“修改标誌”后的初始页表为: 按依次执行的指令序列,执行你所设计的程式,显示或列印每次调出和装入的页号,以及执行了最后一条指令后的阵列p的值。 (5) 为了检查程式

8、的正确性,可再任意确定一组指令序列,执行设计的程式,核对执行的结果。 第三题:用最近最少用(lru)页面排程演算法处理缺页中断。 设计思路、资料结构、流程图: (1) 在分页式虚拟储存系统中,当硬体发出“缺页中断”后,引出作业系统来处理这个中断事件。如果主存中已经没有空闲块,则可用lru页面排程演算法把该作业中距现在最久没有被访问过的一页调出,存放到磁碟上。然后再把当前要访问的页装入该块。 调出和装入后都要修改页表中对应页的标誌。 (2) lru页面排程演算法总是淘汰该作业中距现在最久没被访问过的那页,因此可以用一个阵列来表示该作业已在主存的页面。阵列中的第一个元素总是指出当前刚访问的页号,因

9、此最久没被访问过的页总是由最后一个元素指出。如果主存只有四块空闲块且执行第一题中提示(4)假设的指令序列,採用lru页面排程演算法,那么在主存中的页面变化情况如下: 当产生缺页中断后,作业系统总是淘汰由最后一个元素所指示的页,再把要访问的页装入淘汰页所佔的主存块中,页号登记到阵列的第一个元素中,重新启动刚才那条指令执行。 (3) 编制一个lru页面排程程式,为了提高系统效率,如果淘汰的页在执行中没有修改过,则可不必把该页调出。参看第二题中提示(3)。模拟排程演算法不实际地启动调出一页和装入一页的程式而用输出调出的页号和装入的页号来代替。 把第一题中程式稍作改动,与本题结合起来,lru页面排程模

10、拟演算法如图3。 (4) 按第一题中提示(4)的要求,建立一张初始页表,页表中为每一页增加“修改标誌”位(参考第二题中提示(4)。然后按依次执行的指令序列,执行设计的程式,显示或列印每次调出和装入的页号,以及执行了最后一条指令后阵列中的值。 (5) 为了检查程式的正确性,可再任意确定一组指令序列,执行设计的程式,核对执行的结果。 图3 lru页面排程模拟演算法 四列印的源程式及附上的注释 略五列印的程式执行时初值和执行结果 略样本2一、实习内容 模拟电梯排程演算法,实现对磁碟的驱动排程。 二、实习目的 磁碟是一种高速、大容量、旋转型、可直接存取的储存装置。它作为计算机系统的辅助储存器,担负着繁

11、重的输入输出任务,在多道程式设计系统中,往往同时会有若干个要求访问磁碟的输入输出请求等待处理。系统可採用一种策略,儘可能按最佳次序执行要求访问磁碟的诸输入输出请求,这就叫驱动排程,使用的演算法称驱动排程演算法。 驱动排程能降低为若干个输入输出请求服务所需的总时间,从而提高系统效率。本实习模拟设计一个驱动排程程式,观察驱动排程程式的动态执行过程。 三、实习题目 模拟电梯排程演算法,对磁碟进行移臂排程和旋转排程。 设计思路、资料结构、流程图: (1) 磁碟是可供多个程序共享的储存装置,但一个磁碟每个时刻只能为一个程序服务。当有程序在访问某个磁碟时,其它想访问该磁碟的程序必须等待,直到磁碟一次工作结

12、束。当有多个程序提出输入输出请求而处于等待状态时,可用电梯排程演算法从若干个等待访问者中选择一个程序,让它访问磁碟。 选择访问者的工作由“驱动排程”程序来完成。 由于磁碟与处理器是可以并行工作的,所以当磁碟在为一个程序服务时,佔有处理器的另一程序可以提出使用磁碟的要求,也就是说,系统能动态地接收新的输入输出请求。为了模拟这种情况,在本实习中设定一个“接收请求”程序。 “驱动排程”程序和“接收请求”程序能否佔有处理器执行,取决于磁碟的结束中断讯号和处理器排程策略。在实习中可用随机数来模拟确定这两个程序的执行顺序,以代替中断处理和处理器排程选择程序的过程。因而,程式的结构可参考图1。 图1 程式结

13、构 (2) “接收请求”程序建立一张“请求i/o”表,指出等待访问磁碟的程序要求访问的实体地址,表的格式为: 假定某个磁碟组共有200个柱面,由外向里顺序编号(0-199),每个柱面上有20个磁轨,编号为0-19,每个磁轨分成8个物理记录,编号0-7。程序访问磁碟的实体地址可以用键盘输入的方法模拟得到。图2是“接收请求”程序的模拟演算法。 图2 “接收请求”模拟演算法 在实际的系统中必须把等待访问磁碟的程序排入等待伫列,由于本实习模拟驱动排程,为简单起见,在实习中可免去伫列管理部分,故设计程式时可不考虑“程序排入等待伫列”的工作。 (3) “驱动排程”程序的功能是查“请求i/o”表,当有等待访

14、问磁碟的程序时,按电梯排程演算法从中选择一个等待访问者,按该程序指定的磁碟实体地址启动磁碟为其服务。 对移动臂磁碟来说,驱动排程分移臂排程和旋转排程。电梯排程演算法的排程策略是与移动臂的移动方向和移动臂的当前位置有关的,所以每次启动磁碟时都应登记移臂方向和当前位置。电梯排程演算法是一种简单而实际上用的驱动排程演算法,这种排程策略总是优先选择与当前柱面号相同的访问请求,从这些请求中再选择一个能使旋转距离最短的等待访问者。 如果没有与当前柱面号相同的访问请求,则根据移臂方向来选择,每次总是沿臂移动方向选择一个与当前柱面号最近的访问请求,若沿这个方向没有访问请求时,就改变臂的移动方向。这种排程策略能使移动臂的移动频率极小化,从而提高系统效率。用电梯排程演算法实现驱动排程的模拟演算法如图3。 10

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 教育/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号