操作系统课程设计任务书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《操作系统》课程实验指导书
一、设计题目
题目一:模拟实现页式虚拟存储管理页面置换算法
题目二:模拟实现虚拟存储管理(请求分页存储管理)
题目三:模拟实现可变分区存储管理
题目四:模拟实现算法多级反馈队列进程调度算法
题目五:模拟银行家算法
二、设计目的
《操作系统》课程实验是计算机类专业的集中实践性环节之一,是学习完《操作系统》课程后进行的一次全面的综合练习。其目的在于加深对操作系统课程的理解,使学生更好地掌握操作系统的基本概念、基本原理、及基本功能,理解操作系统在计算机系统中的作用、地位和特点,具有分析实际操作系统,设计、构造和开发现代操作系统的基本能力,为今后从事的各种实际工作,如设计、分析和改进各种系统软件和应用软件提供必要的软件理论基础。
、设计内容
设计内容一页式虚拟存储管理页面置换算法
1.目的和要求
在熟练掌握计算机虚拟存储技术的原理的基础上,利用一种程序设计语言模拟实现几种置换算法,一方面加深对原理的理解,另一方面提高学生通过编程根据已有原理解决实际问题的能力,为学生将来进行系统软件开发和针对实际问题提出高效的软件解决方案打下基础。
2.设计内容
阅读教材《计算机操作系统》第四章,掌握存储器管理相关概念和原理。
模拟实现页式虚拟存储管理的三种页面置换算法(OPT、FIFO和LRU),并通过比较性能得出结论。
前提:
(1)页面分配采用固定分配局部置换。
(2)作业的页面走向和分得的物理块数预先指定。可以从键盘输入也可以从文件读入。
(3)置换算法的置换过程输出可以在显示器上也可以存放在文件中,但必须清晰可读,便于检验。
3.设计环境
Windows操作系统、VC++6.0
C语言
4.设计提示
(1)基础知识
存储管理是操作系统进行资源管理的一个重要功能。现代操作系统广泛采用虚拟存储的技术对内存进行扩充。实现虚拟存储的一个主要技术手段就是将辅存和主存统一管理,在二者之间进行对换,从而形成物理上两级而逻辑上一级的存储管理系统。一个置换算法的好坏对这个逻辑上的单级虚存的性能起着极其重要的作用,而且会影响处理机的调度性能。
对于本任务规定的前提:页面分配采用固定分配局部置换,则置换发生的时机是作业已经将操作系统分配的固定数目的物理块全部用完且发生缺页的时候。此时必须要将已经装入内存的部分逻辑页面换出以便将所缺的页面调入内存。置换算法就是一个决定将内存中“哪一个”页面换出的算法。
(2)数据结构
要模拟实现某一个置换算法,有如下一些对象需要用相关的数据结构来描述:
●作业的页面走向(执行过程中对页面的访问顺序)。可以用数组也可以
用字符串。如果用数组,则页面走向的长度受数组长度限制,如果用字
符串,则需要将字符串进行解析,将字符串经过解析处理后变成一个页
面的排列顺序。考虑最佳置换算法(“向前看”)和其他置换算法(“向
后看“)的特点。
●页框(作业分得的物理块)。由于作业分得的物理块数在置换算法执行
之前已经确定,可以用一些比较简单的数据结构实现。在综合置换算法
的原理,可以灵活采用相应的数据结构,尽可能使程序的时间复杂度最
低。如对于FIFO,队列最合适,对于LRU,则数组和堆栈都比较合适,
采用不同的数据结构还要配合在数据结构上的相应操作才行。
(2)功能模块划分
大体上可以将整个程序的模块划分成如下几个部分:
1)主模块:主要是初始化、界面和模块调用。
2)页面走向输入模块。(从键盘读入数据结构或将页面走向写入文件)
3)置换算法模块。
* 判断模块。决定换出哪一块。每一种置换算法对应一种判断算法。
* 调整模块。根据判断模块的结果,调整作业分得物理块集合中逻辑页面的情况。
* 置换过程输出模块(在显示器上显示或写入文件)。该模块每发生一次置换,由置换算法模块调用一次。
*……………….
除此之外,有些反复执行的操作考虑用过程或函数实现。总而言之,整个程序应该结构清晰,界面友好,可读性好,易调试,易扩充,易维护。
设计内容二虚拟存储管理(请求分页存储管理)
1.目的和要求
存储管理的主要功能之一是合理的分配空间。请求页式管理是一种常用的虚拟存储管理技术。本实验的目的是:通过编写和调试请求页式存储管理中页面置换算法的模拟程序以加深对存储管理方案的理解,了解虚拟存储技术的特点,掌握请求页式存储管理的页面置换方法;通过编写和调试地址转换过程的模拟程序以加强对地址转换过程的了解。
2.设计内容
阅读教材《计算机操作系统》第四章,掌握存储器管理相关概念和原理。
(1)用C语言实现对分页式存储管理中的硬件的地址转换和产生缺页中断。
(2)设计页表。
分页式虚拟存储系统是把作业的副本存放在磁盘上,当作业被选中时,可把作业的开始几页先装入主存且启动执行。为此,在为作业建立页表时,应说明哪些页已在主存,哪些页尚未装入主存,页表的格式为:
页号标志主存块号在磁盘上的位置
可根据页面置换算法的不同,页表构的内容可以作适当的增删。
(3)地址计算。
作业执行时,指令中的逻辑地址指出了参加运算的操作数存放的页号和单元号,硬件的地址转换机构按页号查页表,若该页对应标志为“1”,则表示该页已在主存,这时根据关系式:
绝对地址=块号*块长+单元号
计算出欲访问的主存单元地址。按计算出的绝对地址可以取到操作数,完成一条指令的执行。若访问的页标志为“0”,则表示该页不在主存,这时硬件发“缺页中断”信号,由OS按该页在磁盘上的位置,把该页信息从磁盘读出装入主存