zoukankan      html  css  js  c++  java
  • 存储器/内存管理--分段存储管理方式

    本文以32位操作系统为例来介绍存储器/内存管理--分页存储管理方式。

      在此方式下,操作系统会将用户程序的地址(逻辑地址)空间分为若干个段,每个段定义一组逻辑信息。例如程序段、子程序段、数据段、及堆段等,每个段也有自己的段号,每个段内都从0开始编制,并采用一段连续的地址空间,各段的长度并不一定相同。虽然每个段内都分配了一段连续的地址空间,各个段之间则可以离散的分配,不需要连续。

    分段管理方式中逻辑地址的地址结构

      从该地址结构可以得知,程序允许有64K个段,每个段的最大长度位64KB。

    段表

      系统为每个进程都建立了一张段映射表,简称段表。每个段表中有多个表项,每个表项记录了该段在内存中的起始地址(基址)和段的长度。段表的作用同样是实现从逻辑地址到物理地址的转换。

    地址变换机制

      系统同样也设置了段表控制寄存器用于地址变换,其中存放着段表始址和段表长度,在进行地址映射前,操作系统首先会将段号与控制寄存器中的段表长度进行比较,判断时候越界,然后根据控制寄存器中的段表始址找到段表所在的位置,再根据段号找到基址,再加上位移量W便得到了实际的物理地址。

     

  • 相关阅读:
    OnContextMenu事件
    wireshark教程
    常见的算法题:逆行单一列表
    GPIO
    USB OTG简要
    软测验点---平衡二叉树
    SSL工作原理
    CFileDialog 使用简单介绍
    eclipse在maven项目交付svn忽略简介
    四个漂亮CSS样式表
  • 原文地址:https://www.cnblogs.com/zhousong918/p/14032514.html
Copyright © 2011-2022 走看看