096VC++操作系统软件设计—内存管理样本
(样本只提供该系统的基本情况介绍,若需要完整的设计和论文,建议您购买本系统,凡是购买本站系统的,本站均根据您的要求,把系统上的开发信息,题目等修改成符合您的要求)
本系统开发工具:VC++
本设计包含内容:源代码+毕业论文+开题报告+答辩稿
论文大概:
操作系统设计 —
内存管理
n
摘要
存储器是计算机系统的重要资源之一,任何程序、数据和各控制数据结构都必须占用一定的存储空间。因此,存储器管理直接影响系统性能。存储器有内存(主存)和外存(辅存)组成,内存由包含相应物理单元的、顺序编址的“存储块”组成。CPU只有在启动相应IO设备之后,才能使内存与外存交换信息。
存储管理是存储管理的主要任务是尽可能方便用户和提高主存储器的使用效率,使主存储器在成本、速度和规模之间获得较好的权衡。
本文详细介绍了各种存储管理的原理,并用VC++6.0编程模拟实现了几种存储管理方式。主要有单一连续存储管理、固定分区管理、页式管理和虚拟页式管理。
n
关键词:存储管理,LRU算法,固定分区管理,页式管理
Abstract
Computer memory is an important system resources, any
procedures data and the control data structure must occupy some
storage space. Therefore, memory management directly affect system
performance. RAM is memory (main memory) and Disk (secondary stock)
composed by the memory module contains the corresponding physical,
serially site "storage block" components. CPU only in the activation
of corresponding IO equipment, can Memory and Disk exchange of
information.
Storage management is the main storage management tasks
is user-friendly as possible and increase the efficient use of
memory. so that the cost of main memory, between speed and scale to
obtain better balance.
This paper describes the various storage management
principles, Using Visual C + + 6.0 programming and simulation of
several storage management. Mainly for a single storage management,
fixed regional management, page-style management and virtual
page-style management.
Keywords: Storage management, LRU algorithm, fixed regional
management, page management
目
录
第一章
绪 言... 3
1.1.1 课题背景... 3
1.2 系统相关概念介绍... 4
1.3 本文的工作... 4
第二章系统总体设计... 5
2.1 开发环境... 5
2.2 系统模块划分... 6
2.3 系统设计思想... 6
第三章系统的详细实现... 6
3.1 单一连续存储管理的原理和实现... 6
3.1.1 原理介绍... 6
3.1.2 程序实现... 7
3.2 固定分区存储管理的原理和实现... 9
3.2.1 原理介绍... 9
3.2.2 程序实现... 10
3.3 页式存储管理的原理和实现... 11
3.3.1 原理介绍... 11
3.3.2 程序实现... 13
3.4 虚拟页式管理的原理和实现... 14
3.4.1 原理介绍... 15
3.4.2 程序实现... 18
第四章总结... 19
第一章
绪
言
1.1.1 课题背景
存储管理是操作系统的重要组成部分,它负责管理计算机系统的重要资源——主存储器。由于任何程序及数据必须占用主存空间后才能执行,因此,存储管理的优劣直接影响系统的性能。主存储空间一般分为两部分:一部分是系统区,存放操作系统核心程序以及标准子程序,例行程序等;另一部分是用户区,存放用户的程序和数据等,供当前正在执行的应用程序使用。存储管理主要是对主存储器中的用户区域进行管理,当然,也包括对辅存储器的管理。
尽管现代计算机中主存的容量不断增大,已达到GB
级的范围,但仍然不能保证有足够的空间来支持大型应用和系统程序及数据的使用,因此,操作系统的任务之一是要尽可能地方便用户使用和提高主存储器的利用效率,此外,有效的存储管理也是多道程序设计系统的关键支撑具体地说,存储管理有下面几个方面的功能:
n
主存储空间的分配和去配。
n
地址转换和存储保护。
n
主存储空间的共享。
n
主存储空间的扩充。
1.2
系统相关概念介绍
n
存储器结构:大部分的计算机都有一个存储器层次结构,它由少量的非常快速、昂贵、易变的高速缓存(cache),若干兆字节的中等速度、中等价格、易变的主存储器(RAM),和数百兆或数千兆字节的低速、廉价、不易变的磁盘组成。操作系统的工作就是协调这些存储器的使用。
n
逻辑地址:用户程序经编译后,每个目标模块以0为基地址进行的顺序编址。逻辑地址又称相对(程序、虚拟)地址,相对基地址而言,。
n
物理地址:内存中各物理存储单元的地址从统一的基地址进行的顺序编址。物理地址又称绝对地址,它是数据在内存中的实际存储地址。
n
地址空间:由逻辑地址组成的空间称为逻辑空间,由绝对地址组成的空间称为绝对空间。
n
重定位:把逻辑地址转变为内存的物理地址的过程。根据重定位时机的不同,又分为静态重定位(装入内存时重定位)和动态重定位(程序执行时重定位)。
1)静态重定位:是在目标程序装入内存时,由装入程序对目标程序中的指令和数据的地址进行修改,即把程序的逻辑地址都改成实际的内存地址。对每个程序而言,这种地址变换是在装入时一次完成,在程序运行期间不再进行重定位。
2)动态重定位:是在程序执行期间每次访问内存之前进行重定位。这种变换主要是靠硬件地址变换机构实现的。
n
存储管理的目的:目的是方便用户,提高内存资源的利用率,实现内存共享。
n
存储管理的功能:功能主要有内存的分配和管理、内存的扩充技术、内存保护技术
3.2.2程序实现
软件的第二个页面模拟实现了固定分区存储管理,同样,也可以在该页面添加、编辑、删除作业。点界面上的“设置”按钮,可以设置内存块数和各块的大小。该存储管理方式是允许多任务并发的,也就是说可以同时处理多个作业。
开始试验后,程序启动一个1秒的定时器,每秒巡检一次作业队列,处理队列中的作业。程序用一个一个的方格来模拟内存,方格为空表示内存可用,为红色填充则表示内存已占用。方格的大小和内存区的大小是成比例的。内存溢出的判断方法为判断作业所需内存是否大于最大的内存块。
运行记录框中的内容详细的描述了作业队列的处理过程。
3.3
页式存储管理的原理和实现
3.3.1原理介绍
用分区方式管理的存储器,每道程序总是要求占用主存的一个或几个连续存储区域,主存中会产生许多碎片,因此,有时为了接纳一个新的作业而往往要移动已在主存的信息,这不仅不方便,而且开销不小。采用分页式存储器允许把一个作业存放到若干不相邻接的分区中,既可免去移动信息的工作,又可充分利用主存空间,尽量减少主存内的碎片。