内存管理--非连续分配管理

连续分配方式的缺点

      1.固定分区分配:缺乏灵活性,会产生大量的内部碎片,内存的利用率很低。

      2.动态分区分配:会产生很多外部碎片,虽然可以用“紧凑”技术来处理,但是“紧凑”的时间代价很高。
内存管理--非连续分配管理

非连续分配思想

      如果允许将一个进程分 散地装入到许多不相邻的分区中,便可充分地利用内存,而无需再进行“紧凑”。基于这一思想,产生了“非连续分配方式”,或者称为“离散分配方式”。

基于分页的存储管理

      基本分页存储管理的思想:把内存分为一个个相等的小分区,再按照分区大小把进程拆分成一个个小部分

基于分段的存储管理

      与“分页”最大的区别就是:离散分配时所分配地址空间的基本单位不同

      进程的地址空间:按照程序自身的逻辑关系划分为若干个段,每个段都有一-个段名(在低级语言中,程序员使用段名来编程),每段从0开始编址
      内存分配规则:以段为单位进行分配,每个段在内存中占据连续空间,但各段之间可以不相邻。.

分段、分页管理的对比

      信息的物理单位。分页的主要目的是为了实现离散分配,提高内存利用率。分页仅仅是系统管理上的需要,完全是系统行为,对用户是不可见的

      信息的逻辑单位。分段的主要目的是更好地满足用户需求。一个段通常包含着一组属于一个逻辑模块的信息。分段对用户是可见的,用户编程时需要显式地给出段名。

      页的大小固定且由系统决定。段的长度却不固定,决定于用户编写的程序。

      分页的用户进程地址空间是一维的,程序员只需给出一个记忆符即可表示一个地址。

      分段的用户进程地址空间是二维的,程序员在标识个地址时,既要给出段名,也要给出段内地址。

      分段比分页更容易实现信息的共享和保护。不能被修改的代码称为纯代码可重入代码(不属于临界资源),这样的代码是可以共享的。可修改的代码是不能共享的

段页式管理方式

内存管理--非连续分配管理
      段页式管理方式:分段+分页的结合