天天看点

羽夏看Win系统内核——保护模式篇

羽夏看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>,如果没有按照该要求,做实验时将会出各种各样的问题,如下图所示。至于为什么之后的教程将会介绍。

羽夏看Win系统内核——保护模式篇

  保护模式篇——段寄存器

羽夏看Win系统内核——保护模式篇
羽夏看Win系统内核——保护模式篇

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可

本文来自博客园,作者:寂静的羽夏 ,一个热爱计算机技术的菜鸟

转载请注明原文链接:https://www.cnblogs.com/wingsummer/p/15308064.html

羽夏看Win系统内核——保护模式篇