当前位置:首考文秘网>范文大全 > 教学设计 > 操作系统存储管理方法与教学演示系统

操作系统存储管理方法与教学演示系统

时间:2023-05-21 18:55:05 教学设计 来源:网友投稿

摘要:“操作系统”课程具有理论性强、知识点多、概念多等特点。本文通过内存分区算法与内核机制演示系统,展示内存管理的最佳适应法、最差适应法、首次适应法以及伙伴算法的动态模拟实现。多媒体教学方法的应用,帮助学生理解内存管理的分配算法,提高了学生学习兴趣,课堂教学质量得到提高。

关键词:虚拟存储;伙伴算法;日志;动态数据

中图分类号:G642文献标识码:B

1引言

操作系统(Operating System,简称OS)是用于控制、管理硬件和软件资源以及方便用户使用的程序集合,是用户与计算机的接口。随着操作系统在现代计算机系统中的作用越来越重要,“操作系统”课程已成为计算机类专业的必修课程。由于“操作系统”课程具有概念多、抽象、内容广、更新快的特点,对老师授课和学生掌握难度都较大,如何将“操作系统”课程中抽象的原理与具体繁琐的操作系统实现技术有机的结合起来,以比较直观的、易于理解、易于掌握的形式展现出来,一直是操作系统教学过程中关心与探讨的一大问题。

2课程教学手段与方法的改进

教学方法是指为达到教学目的,完成教学内容,运用教学手段而进行的,有教学原则指导的一整套方式组成的、师生相互作用的活动。

课程的时代化要求教学必须与时俱进,本课程教学实例分析与实验平台均已采用目前流行的Linux 操作系统。在教学实践中,不断探索教学方法,包括为“操作系统”课程设计了“操作系统多媒体教学课件”与“操作系统多媒体教学辅助演示系统”。通过多媒体教学课件与教学辅助演示系统将一些较抽象的原理,诸如:内存空闲分区的记载与分配回收的过程、虚地址到实地址的动态转换、存储管理伙伴算法等,用课件动画,生动形象地揭示、演绎抽象原理的实现。本系统程序开发平台为Visual C++6.0,主要功能由图1描述。

3伙伴算法( Buddy)分析

管理存储器有许多不同的方式:单一连续区存储管理、分区存储管理、分页存储管理、分段存储管理等。本设计针对分区存储管理,通过分区表格记载内存空闲区,进行分配与回收管理并作模拟演示。采用的算法有最佳适应法、最差适应法、首次适应法和伙伴算法。

3.1Linux伙伴算法思想

Linux虚拟存储技术,通过多级页表将虚拟地址转换为物理地址。采用位图和链表方式管理内存页。

伙伴策略:将主存划分成块,块大小为2幂次页(块组):1页,2页,4页,8页,16页,32页。块内页连续存储于MEM,当分配一个空闲区:S=2k时,若空闲组链中2k链非空:分配出去。若2k链空:则找2 k+1链,不空:分成2个2 k。一个分配,一个进2 k链。2 k+1 链空 :继续找2 k+2 链。

3.2伙伴算法模拟

伙伴算法有效地分配和回收页块。页分配使用2的幂次大小的块。这意味着可以分配1页大小,2页大小,4页大小的块,依此类推。只要系统有满足需要的足够的空闲页,模拟分配代码就会在 free_area中查找满足需要大小的一个页块。free_area中的每一个单元都有描述自身大小的页块的占用和空闲情况的位图。

(1)BLOCKDATA结构

typedef struct _BlockData

{int ID;//块组号

int StartAddr;//块首地址

int BlockSize; //块大小

CString USDFlag;//块属性标志

// 已分配True或未分配False

} BLOCKDATA;

描述当前某个块组首地址、大小、空闲标志。所有块组的BLOCKDATA结构被动态记录在与此关联的数据库的动态数据集中。

(2) 系统界面

本系统为空闲分区算法与内核机制演示系统,系统初始主界面见图2所示 。主窗口中间16*16网格区,每小格代表一个基本主存页块。用绿色小方格表示该页为空闲,用红色小方格表示该页为忙。初始时,设256个页面均为空闲。当前内存使用率通过网格区右侧方框图显示。主窗口右方,提供一组“初始化”、“分配”、“淘汰”、“演示”动作按钮。右下区记录了对本系统进行的所有操作,即操作日志。被记载在日志文件中。故当再次启动本系统时,可以再次见到退出系统时的状态。

(3) 分配过程

当分配一个长度为prosize,即2k块组时,查动态数据集中有否该长度块组处于空闲(False标志),有则将该记录标志改为True,示作成功分配。否则,调用函数,采用递归方法将块组size =2k+1(若存在),分解为一对伙伴(2k 、2k),分别以二个块组记录进动态数据集。分配流程见图3所示。

(4) 窗口同步展示

图2、图4 分别为程序初始界面窗口与数据集初态。点击“分配”按钮,可进入分配界面,选择内存分配算法(伙伴算法)、输入分配大小要求,执行动态分配过程。若首先分配4页,动态数据集中将256个连续页块作递归分割,并将第一个4页作分配(True),另一个4页的伙伴空闲(False)。若随后再分配16页,空闲区大小的页块和首地址的变化见图5,内存分布状态见图6所示。任何时候,都可选择“淘汰”按钮,将内存空间作回收及合并,执行淘汰处理。由于每次所作的内存分配与回收操作,都被记录在日志文件中,并通过主窗口显示。动态过程一目了然。

4结论

通过类似Buddy算法等的多媒体教学课件,较充分展示了教学内容,并且从难以理解的基本概念开始、运用教学辅助演示系统的教学手段,以比较直观、生动、易于理解的形式展现出来,有效的达到教学目的。

参考文献:

[1] 李善平,陈文智.边干边学——Linux内核指导[M].杭州:浙江大学出版社,2002.

[2] 孟庆昌.Linux 教程[M].北京:电子工业出版社,2002.

[3] 陈莉君.Linux 操作系统内核分析[M].人民邮电出版社,1999.

推荐访问:演示 操作系统 方法 教学 系统

版权所有:首考文秘网 2015-2024 未经授权禁止复制或建立镜像[首考文秘网]所有资源完全免费共享

Powered by 首考文秘网 © All Rights Reserved.。备案号:冀ICP备15026071号-91