首页 理论教育存储器管理:多任务系统环境,提高利用率,地址映射与内存扩充

存储器管理:多任务系统环境,提高利用率,地址映射与内存扩充

【摘要】:存储器管理主要是为多任务系统提供良好的环境,方便用户使用存储器,提高存储器的利用率,并能从逻辑上扩充内存。存储器管理可以实现内存分配、内存保护、地址映射、内存扩充等功能。现在的操作系统一般都采用虚拟内存技术进行存储器管理。在虚拟存储机制中,用户程序的地址空间被划分成若干大小相等的区域,一般是4KB,称为“页面”。页面的调入和调出完全由存储器管理自动完成。

虽然计算机的内存容量不断增加,但由于经济等限制条件,内存资源是有限的。存储器管理主要是为多任务系统提供良好的环境,方便用户使用存储器,提高存储器的利用率,并能从逻辑上扩充内存。存储器管理可以实现内存分配、内存保护、地址映射、内存扩充等功能。

内存分配的主要任务是为每个程序分配内存空间,从而提高存储器的利用率,减少不可用的内存空间,允许正在运行的程序申请附加的内存空间,以适应程序和数据动态增长的需要。

内存保护的主要任务是确保每个用户程序都在自己的内存空间中运行,互不干扰。(www.chuimin.cn)

一个程序经编译、链接后形成可执行程序,这些程序的起始地址都是从0开始,程序中其他地址都是相对起始地址计算的,这些地址所形成的地址范围称为“地址空间”,其中的地址称为“逻辑地址”。而内存中的一系列存储单元所限定的地址范围称为“内存空间”,其中的地址称为“物理地址”。地址映射功能实现了由地址空间的逻辑地址到内存空间的物理地址的映射。

现在的操作系统一般都采用虚拟内存技术进行存储器管理。虚拟内存技术从逻辑上对物理内存进行扩充,使用户感觉到的内存容量比实际内存容量大得多。也就是说,使系统能运行比实际内存容量大得多的应用程序,或者能让更多的用户并发运行。在虚拟存储机制中,用户程序的地址空间被划分成若干大小相等的区域,一般是4KB,称为“页面”。启动一个任务时,只将当前要执行的一部分程序和数据页面装入内存,其余页面放在硬盘提供的虚拟内存中。在执行的过程中,如果要执行的页面尚未调入内存,则被认为缺页,此时调用请求页面功能将它们调入内存,从而使任务能继续执行下去。如果此时内存已满,则根据相应的页面置换算法,将内存中暂时不用的页面调到磁盘上,腾出足够的内存空间后,将所要访问的页面调入内存,使之能够执行下去。页面的调入和调出完全由存储器管理自动完成。这样,给用户的感觉就是系统所具有的内存容量比实际的内存容量大得多。