实验四 页式虚拟存储管理页面置换算法
1.目的和要求
存储管理的主要功能之一是合理的分配空间。请求页式管理是一种常用的虚拟存储管理技术。本实验的目的是:通过编写和调试请求页式存储管理中页面置换算法的模拟程序以加深对存储管理方案的理解,了解虚拟存储技术的特点,掌握请求页式存储管理的页面置换方法。
2.实验内容
阅读教材《计算机操作系统》第四章,掌握存储器管理相关概念和原理。 编写程序模拟实现页式虚拟存储管理的最佳页面置换算法。 前提:
(1)页面分配采用固定分配局部置换。
(2)作业的页面走向和分得的物理块数预先指定。可以从键盘输入也可以从文件读入。
(3)置换算法的置换过程输出可以在显示器上也可以存放在文件中,但必须清晰可读,便于检验。
3.实验环境
Windows操作系统、VC++6.0 C语言
4.实验提示
(1)数据结构
要模拟实现某一个置换算法,有如下一些对象需要用相关的数据结构来描述:
? 作业的页面走向(执行过程中对页面的访问顺序)。可以用数组也可以
用字符串。如果用数组,则页面走向的长度受数组长度限制,如果用字符串,则需要将字符串进行解析,将字符串经过解析处理后变成一个页
面的排列顺序。考虑最佳置换算法(“向前看”)和其他置换算法(“向后看“)的特点。
? 页框(作业分得的物理块)。由于作业分得的物理块数在置换算法执行
之前已经确定,可以用一些比较简单的数据结构实现。在综合置换算法的原理,可以灵活采用相应的数据结构(如队列、数组、堆栈),尽可能使程序的时间复杂度最低。采用不同的数据结构还要配合在数据结构上的相应操作才行。 (2)功能模块划分
大体上可以将整个程序的模块划分成如下几个部分:
1)主模块:主要是初始化、界面和模块调用。
2)页面走向输入模块。(从键盘读入数据结构或将页面走向写入文件) 3)置换算法模块。
* 判断模块。决定换出哪一块。每一种置换算法对应一种判断算法。
* 调整模块。根据判断模块的结果,调整作业分得物理块集合中逻辑页面的情况。
* 置换过程输出模块(在显示器上显示或写入文件)。该模块每发生一次置换,由置换算法模块调用一次。
*……………….
除此之外,有些反复执行的操作考虑用过程或函数实现。总而言之,整个程序应该结构清晰,界面友好,可读性好,易调试,易扩充,易维护。
5. 实验要求:
1) 上机前认真使用C语言编写好程序,采用Visual C++6.0作为编译环境; 2) 上机时独立调试程序
3) 根据具体实验要求,填写好实验报告(包括目的和要求、实验内容、实验环境、设计思想、源程序、实例运行结果、总结)。
实验五 用户接口实验
1.目的和要求
通过上机操作的实践理解操作系统的作业级接口,着重理解shell的作用和工作过程,通过编写程序,在程序中调用操作系统的系统调用来加深对程序级接口的理解,着重理解系统调用的实现。
2.实验内容
选做任意一个:
? 能够熟练使用Linux系统的键盘命令和X-window图形界面,熟悉shell
编程语言,编写一个简单的shell程序。指导学生在内核文件中添加一个自定义的系统调用(或者利用现有操作系统的系统调用),编程来调用自己设计(选定)的这系统调用。
? 练习使用DOS的键盘命令,熟悉批处理编程的语法,编写带参数的简单
批处理程序,通过使用DOS的作业级接口(键盘命令)和WINDOWS的作业级接口(图形界面)来分别理解二者的shell工作原理。理解Command.com和IE在操作系统中的作用。编写汇编语言程序,调用21号软中断,理解系统调用的作用和功能,具体体会其实现。编写程序,调用windows的API,理解windows的系统调用作用和功能。
3.实验环境
安装有多个操作系统的PC机(DOS、Windows、Linux)
4.实验要求:
1) 上机前认真使用C语言编写好程序,采用Visual C++6.0作为编译环境; 2) 上机时独立调试程序
3) 根据具体实验要求,填写好实验报告(包括目的和要求、实验内容、实验环境、源程序、运行结果、总结)。
相关推荐: