zoukankan      html  css  js  c++  java
  • 操作系统的段机制与页机制

    段的引入是解决“ 地址总线的宽度一般要大于寄存器的宽度 ”这个问题。

    8086的分段寻址,是指一个物理地址由段地址(segment selector)与偏移量(offset)两部分组成,长度各是16比特。其中段地址左移4位(即乘以16)与偏移量相加即为物理地址。例如,06EFh:1234h,表示段地址为06EFh,偏移量为1234h,物理地址为06EF0h + 1234h = 08124h。在计算物理地址时如果发生上溢出,8086处理器舍弃进位。例如,FFFFh:0010h所对应的物理地址为00000h.

    实模式: 是 段地址+偏移量 的方式,得到物理地址,进而寻址。

    保护模式: 不允许通过段寄存器取值得到段的起始地址,而是把虚拟地址转进一个 MMU 的硬件,经过额外的转换和检查,进而得到一个物理地址。

    段机制抛开了实际物理内存的大小,从抽象层面提供给开发人员更大的线性空间进行程序开发。但物理内存如果不足时的情况仍需解决。

    它通过将 物理内存空间 和 线性地址空间 分成若干相等的页。(一般都为4KB)。这样整个程序就不需要连续存放在物理内存中,更可以按需把页面调进内存,而不需要把整个线性地址空间加载到内存中。正如你将会看到的,这种机制十分巧妙又实用。

     参考资料:http://www.jianshu.com/p/f4a909f3fd2e

  • 相关阅读:
    浅谈3次登录错误
    JDK一键安装,配置环境
    火炬之光2_辅助工具 内存读写相关
    学习资料
    如何在google colab加载kaggle数据
    Trie树
    日常
    Kmeans
    【leet-code】135. 加油站
    Mac CLion下OpenGL环境配置
  • 原文地址:https://www.cnblogs.com/jacklu/p/4644100.html
Copyright © 2011-2022 走看看