羽夏看Win系统内核之保护模式篇及其简述
此系列是本人一个字一个字码出来的,包括示例和实验截图。由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新。 如有好的建议,欢迎反馈。码字不易,如果本篇文章有帮助你的,如有闲钱,可以打赏支持我的创作。如想转载,请把我的转载信息附在文章后面,并声明我的个人信息和本人博客地址即可,但必须事先通知我。
你如果是从中间插过来看的,请仔细阅读 羽夏看Win系统内核——简述 ,方便学习本教程。
看此教程之前,问一个问题,你配置好双机调试学习环境了吗? 没有的话不要继续了。如果不会配置请重新学习 羽夏看Win系统内核——环境搭建 。
🔒 华丽的分割线 🔒
为啥要写一个<code>保护模式篇</code>呢?因为保护模式是学习系统内核的基础,不会这个东西,后面的基本一点都看不懂。还有一个原因,保护模式还是挺复杂的,为了降低学习的陡峭程度,故分多个小节进行描述。介绍详情将会在本篇子目录有所介绍。
保护模式篇——简述(本篇将会介绍)
保护模式篇——段寄存器
保护模式篇——段描述符与段选择子
保护模式篇——段权限检查与代码跨段跳转
保护模式篇——长调用与调用门、中断门、陷阱门
保护模式篇——任务段与任务门
保护模式篇——段和门小结
保护模式篇——分页基础
保护模式篇——PAE分页
保护模式篇——TLB与CPU缓存
保护模式篇——中断与异常和控制寄存器
保护模式篇——总结与提升
在实模式下,16位的寄存器用<code>段+偏移</code>的方法计算有效地址,接触过<code>CPU</code>的同志都应该有所了解。然而,在实模式下,这个内存我是可以随意访问,随意修改。如果被修改的地方是操作系统关键部分,会导致意想不到的后果。下面通过几个问题简单了解一下保护模式是什么。
x86 CPU的3个模式:实模式、保护模式和虚拟8086模式,它只是CPU的一种模式。
保护<code>内存非法访问</code>和<code>特权指令的使用</code>。
段的机制和页的机制。段的机制将会在本篇进行介绍,页在下一篇章节介绍。
什么是特权指令,什么是段,什么是页,它们的机制是什么,后面都将会接触到。
这里还没到操作系统层面,不要把任何操作系统的概念拉到保护模式的学习当中,否则越学越糊涂。
学习本篇之前,请在注意将自己的CPU数目调整至<code>1</code>,如果没有按照该要求,做实验时将会出各种各样的问题,如下图所示。至于为什么之后的教程将会介绍。

保护模式篇——段寄存器
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可
本文来自博客园,作者:寂静的羽夏 ,一个热爱计算机技术的菜鸟
转载请注明原文链接:https://www.cnblogs.com/wingsummer/p/15308064.html