操作系统存储管理之分段存储

需求

从固定分区到动态分区,从分区方式到分页方式发展提高了主存空间利用率。
而分段存储管理的引入,则满足用户(程序员)编程和使用上的要求,这些要求其它各种存储管理技术难以满足。

需求解析:

  • 在分页存储管理中,经连结编辑处理得到了一维地址结构的可装配模块,这是从0开始编址的一个单一连续的逻辑地址空间,虽然操作系统可把程序划分成页面,但页面与源程序无逻辑关系,也就难以实现对源程序以模块为单位进行分配、共享和保护。
  • 而程序还存在一种分段结构:
    1. 一个程序由若干程序段(模块)组成,例如由一个主程序段、若干子程序段、数组段和工作区段所组成
    2. 每个段都从“0”开始编址,每个段都有模块名,且具有完整的逻辑意义。
    3. 段与段之间的地址不连续,而段内地址是连续的。用户程序中可用符号形式(指出段名和入口)调用某段的功能,程序在编译或汇编时给每个段再定义一个段号。
    4. 可见这是一个二维地址结构,分段方式的程序被装入物理地址空间后,仍应保持二维,这样才能满足用户模块化程序设计的需要。
      具体分段图如下所示:
      操作系统存储管理之分段存储_第1张图片

基本原理

  1. 段式存储管理是以段为单位进行存储分配,为此提供如下形式的两维逻辑地址:
    段号:段内

你可能感兴趣的:(Linux学习笔记,计算机系统,操作系统核心原理学习笔记,操作系统,分段存储)