操作系统(二)内存管理

内存管理的需求

重定位

重定位是指的,在多道程序设计系统中,可用的内存空间往往被多个进程共用,在内存不够用的情况下,一部分进程会被置换到硬盘进行临时存储,一旦进程被置换到磁盘,当下一次被放入处理器执行的时候,就需要放在和被置换出前相同的内存区域,那么这将是一个非常大的限制,为了避免这种限制,我们需要把进程重定位到不同的内存空间。

进程被载入的时候采用的是地址重定位,意思是会把逻辑地址转换的内存上实实在在存在的物理地址,通过硬件来转换的,分别是一个基础寄存器,和界限寄存器,基址寄存器的内容是程序在内存中的起始地址,还有一个界限寄存器指明程序终止位置,当程序被装入内存的时候,必须设置这2个寄存器,在进程的执行过程中会遇到相对地址,包括指令寄存器内容,调整,调用指令,以及加载和存储指令中的数据地址,每个这样的相对地址都经过则2步操作,先,基址寄存器的值加上相对地址产生一个绝对地址,然后,得到的结果和界限寄存器做比较,如果在范围内则执行,否则报错。

保护

意思就是指的,用户程序不能访问系统内存,且进程和进程之间可以做到内存隔离,彼此不能访问。

共享

任何保护机制都必须具有一定灵活性,可以允许多个进程协作访问同一块内存区间。

逻辑组织

在CPU的眼里,所用的内存空间就是就是一条一维结构的地址空间,就是逻辑组织。

物理结构

就是可以让内存和外存(硬盘)的地址相互转换


内存分区

固定分区

在系统开机生成阶段,内存就被划分成许多静态不变的区块,进程可以装进比自己大或者等于自己的区块,优势是实现比较简单,只需要极小的内存消耗,但是弱点就是有内存碎片,对内存使用不充分。

动态分区

分区是动态建立的,使得每个进程都可以被装进和自己一样大的分区当中,优点是没有内部碎片,可以充分的使用内存,缺点就是需要压缩外部碎片,处理器利用效率底下。

简单分页

把内存划分为许多大小相等的页框,每个进程被划分成许许多多也页框相等的页,要装入进程,需要把进程包含的页都装入内存中不一定连续的页框中,优点没有外部碎片,有内部碎片。

扫描二维码关注公众号,回复: 1085129 查看本文章

简单分段

每个进程被划分为许多段,要装入进程,需要把进程包含的所有段都装进内存中补一点的某些连续动态分区中。优点就是没有内部碎片,相对于动态分区,提高内存使用率减少开销,缺点就是存在外部碎片。

虚拟内存分页

把磁盘和内存条都统一单位划分出多个页框,除了不需要装入进程的所有页之外,与简单分页一样,非驻留页在以后需要时自动调入内存

虚拟内存分段

同上。




虚拟内存


猜你喜欢

转载自blog.csdn.net/timeromantic/article/details/80238917
今日推荐