安全基础--14--基本内存管理

1、内存管理的环境

内存架构:

内存架构由缓存、主存、磁盘等组成。缓存的特点是低容量、高速度、高价格;主存的特点是中容量、中速度、中价格;磁盘则是大容量、低速度、低成本的存储媒介。

内存管理:

内存管理就是对内存架构进行管理,使程序在内存架构的任何一个层次上的存放对于用户来说都是一样的。用户无需担心自己的程序是存在缓存、主存还是磁盘,反正运行、计算、输出的结果都一样。

2、内存管理的目标

内存管理要达到如下两个目标:

1、地址保护:一个程序不能访问另一个程序地址空间。
2、地址独立:程序发出的地址应与物理主存地址无关。

这两个目标就是衡量一个内存管理系统是否完善的标准。它是所有内存管理系统必须提供的基本抽象。

3、虚拟内存的概念

虚拟内存的中心思想是将物理主存扩大到便宜、大容量的磁盘上,即将磁盘空间看作是主存空间的一部分。用户程序存放在磁盘上就相当于存放在主存内。

虚拟内存是操作系统发展历史上的一个革命性突破,它也是使操作系统变得更加复杂的一个主要因素。因为有了虚拟内存,我们编写的程序从此不再受尺寸的限制(当然还是受制于虚地址空间大小的限制)。

4、操作系统在内存的位置

根据操作系统是否占用ROM或我们是否釆用内存映射的输入输出来分,存在两种模式:

1、操作系统占用RAM的底层,用户程序占用RAM的上层。

2、操作系统占用RAM的底层和位于用户程序地址空间上面的ROM。用户程序位于中间。

第2种模式又分为三种情况:

1、没有使用内存映射的输入輸出,ROM里面全部是操作系统。

2、使用了内存映射的输入输岀,ROM的一部分是操作系统,另一部分属于I/O设备。

3、使用了内存映射的输入输出,ROM全部属于I/O设备。

5、单道编程的内存管理

在单道编程环境下,整个内存里面只有两个程序:一个是用户程序,一个是操作系统。由于只有一个用户程序,而操作系统所占用的内存空间是恒定的,我们可以将用户程序总是加载到同一个内存地址上,即用户程序永远从同一个地方升始执行。

在这种管理方式下,OS永远跳转到同一个地方来启动用户程序。这样用户程序里面的地址都可以事先计算出来,即在程序运行前就计算出所有物理地址。这种在运行前将物理地址计算好的方式叫做静态地址翻译

6、多道编程的内存管理

多道编程可以极大地改善CPU和内存的效率,改善用户响应时间。但操作系统的复杂性也会随之增加。

在多道编程的情况下,无法将程序总是加到固定的内存地址上,也就是无法使用静态地址翻译。这样我们就必须在程序加载完毕后才能计算物理地址,也就是在程序运行时进行地址翻译,这种翻译称为动态地址翻译

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

武天旭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值