栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

存储器管理之概述

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

存储器管理之概述

在现代计算机系统中,存储器依然是一个关键性的资源。能否合理而有效地使用它,在很大程度上反映了操作系统的性能,并直接影响整个计算机系统作用的发挥。所以,存储器管理仍是目前人们研究操作系统的中心问题之一。

概述

在现代计算机系统中,存储器是信息处理的来源与归宿,占据重要位置。但是,在现有技术条件下,任何一种存储装置,都无法同时从速度与容量两方面,满足用户的需求。实际上它们组成了一个速度由快到慢, 容量由小到大的存储装置层次。

存储器的层次结构图

存储管理的目的

⑴主存的分配和管理
当用户需要内存时,系统为之分配相应的存储空间;不需要时,及时回收,以供其它用户使用。
⑵提高主存储器的利用率
不仅要能使多道程序动态地共享主存,提高主存利用率,最好还能共享主存中某个区域的信息。
⑶“扩充”主存容量
为用户提供比主存物理空间大得多的地址空间,以至使用户感觉他的作业是在这样一个大的存储器中运行。
⑷存储保护
确保多道程序都在各自分配到的存储区域内操作,互不干扰,防止一道程序破坏其它作业或系统文件的信息。

存储分配的策略

⑴直接方式:
由程序员或编译程序确定用户程序在主存中的位置。
⑵静态分配:
即静态存储分配(static memory allocation)。作业所需的内存空间是在作业装入时分配的,在其整个运行期间,它一直占用内存空间,并且不能再申请新的内存空间,也不允许在内存中“移动”。
⑶动态分配:
即动态存储分配(dynamic memory allocation)。这是一种更为灵活而有效的存储分配方式。它允许运行中的进程继续申请附加的存储空间,系统还可根据需要将程序或数据从主存的一个区域移动到另一个区域,以及从主存调至外存对换区或反之。

重定位

⑴名空间、地址空间:
指用户程序使用的全部地址。地址空间中的每个地址单元编号称为逻辑地址(logical address),由于通常逻辑地址都是相对于程序的起始地址的,故又称为相对地址(relative address)。
⑵存储空间:
指内存中存储数据的物理单元的集合。这些物理单元的集合称为物理地址( physical address)或绝对地址(absolute address)。

⑶重定位:
作业的地址空间与存储空间不一致时,所进行的地址调整以便作业能够执行的过程称为重定位。重定位实质是地址变换,即作业地址空间中的逻辑地址变换为主存空间的物理地址。又称地址映射。
⑷地址映射(address mapping):
通常,程序所使用的逻辑地址与内存中的物理地址不相一致,程序运行时,需把逻辑地址变换为相应的物理地址,这种转换称为地址映射。不同的存储管理方式下,其地址映射机构不同。

如上图,作业i经过重定位把地址集合映射到以1000为始址的内存中,作为作业i的存储空间。

重定位的类型

根据对地址转换的时机和采用手段的不同,可分为:
⑴静态重定位
⑵动态重定位
静态重定位:(static relocation)在作业装入时根据目标程序装入内存的位置来对目标程序中的地址进行修改(变换),使之能正确运行。在完成装入后,在作业执行期间不再进行地址修改,因此也不允许作业在内存中移动。静态重定位的优点是地址变换由软件实现,不需硬件变换机构,但缺乏灵活性 ,不利于改善内存的利用率。

作业在装入过程中,由装配程序进行的地址转换方式。地址变换只在作业执行前集中一次完成,无需增加硬件地址变换机构,因而可在一般计算机上实现,作业i在执行前一次变址,直到该作业完成退出内存为止。
动态重定位:(dynamic relocation)指把用户程序地址空间中的逻辑地址,变换为内存空间的物理地址的过程,是在程序执行每条指令时,由地址变换机构硬件自动完成的。动态重定位的优点是灵活,有利于提高主存的利用率及对程序段的共享。

程序在执行过程中,当CPU访问指令或数据前,由附加的地址变换机构进行的地址变换方式。CPU执行指令Load 1 , 500 时逻辑地址500变换成物理地址1500,取得数据 12345。
动态重定位的两种实现方法
重定位寄存器: 在执行一条指令取操作数时,要将指令给出的有效地址(500)与重定位寄存器中的内容(1000)相加,得访问地址(1500),从而实现了地址动态修改。

映象方式:
采用页表来描述虚页面和实页面的对应关系。这是虚拟存储器中常常采用的地址变换方式。

虚拟存储器

就是具有请求调入功能和对换功能,能从逻辑上对内存容量进行扩充的存储器系统。虚拟存储器就是一个地址空间,且具有比实存大得多的容量。

对用户:指令地址部分所限定的比实存大得多的地址空间。
对系统:借助于各种表格机构,体现虚拟空间。
注意:
⑴ 一个虚拟存储器的最大容量是由计算机的地址结构确定的。 如:若CPU的有效地址长度为32位,则程序可以寻址范围是0~(232)-1 ,即虚存容量为 4G。
⑵ 虚拟存储器的容量与主存的实际大小没有直接的关系,而是由主存与辅存的容量之和所确定。
欢迎大家加我微信交流讨论(请备注csdn上添加)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/297909.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号