您的位置:首页 > 其它

操作系统中的存储管理

2016-08-11 17:42 92 查看

1.首先搞明白内存的概念!

  内存是一个大型的一维数组。操作系统位于其低地址部分,剩下的空间给程序使用。

2.操作系统中的最基本的管理方法:

  分区技术

  分页技术

  分段技术

3.分区技术:

  直接将内存连续的分为若干个分区。

  <1>固定分区法

    等分方法:

    不等分方法:建立分区说明表,表示分区的起始地址、大小、使用状态。

  <2>动态分区法

    step1:设置一个内存登记表。表示分区的起始地址、大小、使用状态。

    step2:将空闲分区分配给进程

    step3:假如分配的空闲分区大于进程需要的空间,假设空闲分区50k,进程需要30k,会分割该分区,即剩下的20k会重新建立一个表项,登记在内存登记表中。

    step4:进程终止后,释放空间,相应表项会被标记“空闲”状态,若相邻的分区恰好空闲,还会合并两个分区。

4.分页技术:

  解决了分区技术中,一个进程的程序必须连续存储的问题,可以将程序分散的存储在各个空闲的物理块中。

  重要的基本概念!!!!

  <1>页:  把进程的逻辑地址空间划分成若干大小相等的部分,每个部分称作页或页面。每个页都一个编号:0,1,2,3……而页的大小是由硬件系统规定的。

  <2>内存块:把内存等分成和页面大小相等的若干存储空间,称作内存块或者页框。同样依次编号。

  页是相对于进程的概念,而内存块是相对于内存的概念,并根据页的大小划分的。

  <3>页表:将进程的页号和内存块号一一对应的表。

  分配原则:操作系统以内存块为单位,把内存分给各个进程,进程中的每一个页面对应一个内存块。一个进程的若干也可以分别装入物理上不连续的内存块。

5.分段技术:

  分段技术是站在用户(程序员)的角度进行划分的一种概念。

  段:是一组逻辑信息的集合。比如一个函数,一个数组等。

  一个进程的程序,会按照逻辑结构划分成若干段,每一段都是从0开始编址,是一段连续的空间,大小不一样。

  即段内是连续存储,对于整个进程的所有分段,各个段又是允许分散存储在内存中。

  采用分段技术,可以很好的将程序和数据分开,独立存储,有利于共享。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: