[053][x86汇编语言]16.3.1 开启页功能 内存以及GDT示意图

学习笔记

《x86汇编语言:从实模式到保护模式》
https://www.jianshu.com/p/d481cb547e9f

内核程序被加载后 页功能尚未开启前的示意图

第十六章 内核程序加载之后的内存以及GDT示意图.png

开启页功能

开启页功能:加入页目录和页表后的低端1MB内存布局.png
  • 1个任务必须要有1个页目录,也只需要一个页目录;
  • 内核本身也是1个任务,那么内核也需要自己的页目录,数量是一;
  • 内核需要多少页表?1个页表里面有1024个页,单个页的大小是4KB,那么1个页表就有4MB的内存空间可以用,书上的内核程序远远没有4MB那么大,所以1个页表足够用;
  • 因此,对内核程序而言,需要1个页目录以及1张页表;
可以这样理解,把内核程序想象成一个人,去坐公交,
司机就是页目录,座位就是页表,整台车就是内存

内核程序就是一个人,一个人就坐一个位子
(一张页表足以),
一台公交车,有好几十个座位,但是坐不满没关系
(整个内存有4GB 空闲的地方多得是)
需要开车那么必须有一个司机,也只需要一名司机即可
(有且只有一个页目录)

比起公交,其实内存更像火车,那个长,那个座位多...

按照这个思路,可以把磁盘想象成火车站,可以容纳的人更多
(大量没在使用的数据放在磁盘里)
乘客上车
(数据从磁盘放入内存)
而只有坐在了车上的乘客才可以去到目的地
(程序放到内存才可以被执行,数据放到内存才可以被使用)
  • 在GDT到内核程序之间有一段很大的空闲内存,用来放内核自己的页目录以及页表;
  • 页目录的大小是4KB,4K= 4096D(十进制)=0x1000(十六进制),因此页目录占用的内存空间是0x0002 0000 ~ 0x0002 1000.
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 学习的框架如下:1.80386的分段和分页管理2.80386的保护模式3.Linux0.11的初始化,主要分析内存...
    语文小子阅读 1,451评论 0 0
  • ``本文的一些截图来自于 和<x86汇编从实模式到保护模式>` 最近复习一些操作系统的知识,首先遇到了个坑便是计算...
    Quasars阅读 1,472评论 2 6
  • 操作系统对内存的管理 没有内存抽象的年代 在早些的操作系统中,并没有引入内存抽象的概念。程序直接访问和操作的都是物...
    Mr槑阅读 16,808评论 3 24
  • 1. 基础知识 1.1、 基本概念、 功能 冯诺伊曼体系结构1、计算机处理的数据和指令一律用二进制数表示2、顺序执...
    yunpiao阅读 5,466评论 1 22
  • 朋友说:听完了《我的天空》,越来越喜欢我的文字了。问我每天怎么那么多东西来写呀? 我不知道,我是真的不...
    一生如燕阅读 570评论 2 6