内存管理

内存管理的需求
重定位

通常情况下,并不能事先知道在某个程序执行期间会有哪个程序驻留在主存中。此外还希望通过提供一个巨大的就绪进程池,能够把活动进程换入和换出主存,以便使处理器的利用率最大化。因此一旦程序被换出磁盘,当下一次被换入时,必须放在被换出前相同的内存区域。

保护

由于程序在内存中的位置是不可预测的,因而在编译时不可能检查绝对地址来保护。并且大多数程序设计语言允许在运行时进行

地址的动态计算。因此,必须在运行时检查进程产生的所有存储器访问,以便确保它们只访问了分配给该进程的存储空间。

共享

任何保护机制都必须具有一定的灵活性,以运行多个进程访问内存的同一部分。

逻辑组织

计算机系统中的内存总是被组织成线性的地址空间,并且地址空间是由一系列字节或字组成。

物理组织


内存分区
内部碎片:由于被装入的数据库小于分区大小,从而导致分区内部有空间浪费,这种现象称为内部碎片。
外部碎片:外部碎片是与动态分区相关的一种现象,它是指在所有分区外的存储空间会变成越来越多的碎片的。

动态分区的放置算法
最佳适配:选择与要求的大小最接近的块。
首次适配:从投开始扫描内存,选中大小足够的第一个可用块。
下次适配:从上一次放置的位置开始扫描内存。

分页

 内存被划分成大小相同的块,且块相对比较小,每个进程也被分成同样大小的小块,那么进程中称为页的块可以指定到内存中称为页框的可用块。


分段

 采用分段技术,可以把程序和其相关的数据划分到几个段中。尽管段有一个最大长度限制,但并不要求所有程序的所有段的长度都相等




逻辑地址转换成物理地址:




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值