欢迎来到天天文库
浏览记录
ID:34616883
大小:117.95 KB
页数:6页
时间:2019-03-08
《《操作系统》课程实验项目的设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、文章编号:!""#$%&’((#""()"($""%)$"*《操作系统》课程实验项目的设计邓育林(广西师范学院数学与计算机科学系,广西南宁*("""!)摘要:《操作系统》课程实验指导中的有关存储管理的实验是基于动态页式虚拟存储管理方案的,过程复杂难于调试+本文给出了基于静态页式存储管理方案的实验设计,以一种简单易行的方式模拟内存管理机制+关键词:动态页式虚拟存储管理;静态页式存储管理;共享存储区;进程通信;系统调用中图分类号:,-(!.+(文献标识码:/!引言《操作系统》课程是计算机专业的必修课程,其原理性强,实验要求高,难度大+课程配套实验项目以01234操作系统为平台,主要以5语言作
2、为系统程序设计语言,配合相关的系统调用,模拟实现某些操作系统的功能,从而使学习者达到理解操作系统实现原理的目的+存储管理是操作系统的重要管理职能之一,主要工作是对内部存储器进行分配、保护和扩充+对于现在的多道程序系统而言,如何分配和回收内存并对每一道程序进行存储保护至关重要+常用的存储管理方案主要有:分区存储管理(有静态分区和动态分区两种);页式存储管理(分静态页式管理与动态页式管理两种);段式存储管理以及段页式存储管理等+本课程实验教程中的存储管理实验项目,就是基于动态页式虚拟存储管理方案,对请求页式存储管理中的页面置换算法进行模拟+实验任务是:设计一个虚拟存储区和内存工作区,并使用不
3、同的页面置换算法(先进先出算法、最近最少使用算法、最佳淘汰算法、最少访问算法等)计算出访问命中率+实验方法:利用函数或过程定义和产生指令序列,然后将指令序列变换成相应的页地址流,并针对不同的页面置换算法计算出相应的命中率+由于实验是基于动态页式虚拟存储管理,所涉及的数据结构及处理过程相当复杂,在程序的设计和调试上对于课程的初学者来说难度较大+因此,本人根据这几年的《操作系统》课程教学经验及反复实践,设计出了基于静态页式存储管理方案的实验项目+#相关理论页式管理的基本原理:各进程的逻辑空间被划分成若干个长度相等的页(6789),页长约为!—’:,进程的逻辑地址变为页号-与页内地址;组成;同
4、时,将内存空间也按页的大小划分为块(<=>?@)或页面;为用户进程分配内存时以页为单位分配内存块,块间可不连续+页式管理方案中为实现虚地址到实际内存地址变换,需要为每个进程建立一个页映射表(简称页表),以记录逻辑页与物理块的对应关系+所谓静态页式管理,是指在进程开始执行之前,把该进程的程序与数据全部装入内存中,并通过页表和硬件地址变换机构实现虚拟地址到内存物理地址的地址映射+而动态页式管理是指,进程开始执行收稿日期:#""($"($!#作者简介:邓育林(!)&*A),女,广西横县人,助教+万方数据·R6·广西师范学院学报(自然科学版)第$6卷之前只将基本部分装入内存,在进程执行的过程中再
5、根据需要动态的将页面调入,若内存页面不足,还需根据适当的页面置换算法将进程页面换出内存!"实验方案实验名称:静态页式存储管理内存分配与回收的模拟设计(#)任务设计一个共享内存区,以块为单位;设计进程的页映射表,记录进程所分配的内存块号;要求实现多进程并发地分配及回收内存,并输出每次分配的内存块号!($)实现方法主进程利用%&’(()系统调用产生若干子进程,各子进程利用进程间通信的共享存储区方式共享内存分块表及系统页表等结构,实现内存分配与回收的模拟!数据结构#)内存分块表)*+[,]:一个一维数组,用于记录内存块的使用情况,其表目数相当于内存块总数,若)*+[-]./01表示第-块空闲!
6、-23!)*+;$)系统页表4)+[2][5-,-3]:一个二维数组,每个用户进程的页表占一行,用于记录各进程逻辑页与内存块的对应关系,若4)+[-][6]./01,表示二维数组第-行页表为空闲!3789:9%-234)++[5-,-3];4)++!4)+;")共享变量%’99;5&<(=:一个整型变量指针,用于记录当前可用内存块的数目!-23!%’99;5&<(=;>)进程结构4’&<9==:用于记录进程页表位于系统页表的行号以及进程页表的长度!3789:9%=3’?<3{-238@::’;-238=-A9}4’&<9==;程序设计B-2<5?:9C=3:-&!DEB-2<5?:9C=
7、7=F3789=!DEB-2<5?:9C=7=F,=G!DEB-2<5?:9C=7=F-8
此文档下载收益归作者所有