• 操作系统中的存储管理


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

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

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

      分区技术

      分页技术

      分段技术

    3.分区技术:

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

      <1>固定分区法

        等分方法:

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

      <2>动态分区法

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

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

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

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

    4.分页技术:

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

      重要的基本概念!!!!

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

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

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

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

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

    5.分段技术:

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

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

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

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

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

  • 相关阅读:
    Oracle基本操作汇总
    Oracle客户端+PLSQLDeveloper实现远程登录Oracle数据库
    ASP.NET后台执行JS代码
    ASP.NET 使用AJAX让GridView的数据行显示提示框(ToolTip)
    GridView如何实现双击行进行编辑,更新
    git push后是空目录,且提示modified content, untracked content
    SQL_2_查询Select语句的使用
    selenium2自动处理验证码
    jenkins配置邮箱时出错
    jenkins匿名用户登录
  • 原文地址:https://www.cnblogs.com/lyr2015/p/5761915.html
Copyright © 2020-2023  润新知