用200行代码实现x86保护模式下的操作系统(1)

发布于:2022-12-25 ⋅ 阅读:(194) ⋅ 点赞:(0)

写这个教程的原因

在学习设计操作系统的整个过程中,往往面临很多困难。其中就包括对硬件方面的理解,操作系统支持原理的理解、编程语言的熟练度等各方面的问题。而在所有的这些问题中,最基础的往往是对CPU工作模式方面、各种硬件工作原理的理解。

即便不需要设计操作系统,但是有时候也需要看一些操作系统的内核源码。为了读懂这些源码,你也需要具备相关的硬件知识。写到这里,我突然想起了自己十多年前在大学图书馆借到一本Linux 0.11源码分析的书籍。当时花了很多时间看,但是看不明白。最大的问题就在于我对于相关硬件知识的欠缺。

此外,一些同学在学习我的《从0学写x86 Linux操作系统》课时,对x86的保护模式以及相关的芯片细节普遍感到不好理解。加之这些知识点往往与操作系统设计相关的知识交织在一起,整个学习过程变得更加困难。

因此,我设计了这门课程,试图通过非常精练的代码展现x86保护模式下的编程方法,进而方便同学将注意集中到硬件知识本身。在这有了这些基础之后,在学习后面的章节时,会更加轻松。

如果你不需要学习我的课程,而只是自己摸索着设计一个操作系统;这门课程也将有助于你扫清x86硬件知识学习上的障碍。

主要内容

这门课程虽然代码量不多,但是将涉及多方面的硬件知识。

  • 计算机上电启动后的工作流程
  • BIOS中断服务程序的使用
  • 如何进入保护模式:GDT表等
  • 保护模式下系统调用的实现
  • x86中断系统的配置和定时器的配置
  • 保护模式下进程切换的原理
  • 虚拟存储和分页机制

以上内容涉及到设计操作系统时所需要的各个方面的硬件知识。看似内容比较多,但实际的代码量比较小,只有大概200行的样子。代码精炼有助于我们将关注点放到硬件细节的本身上。

上面的文档配套了相关的源码和视频,视频已经发布到了CSDN上。感兴趣的朋友可以关注:用不到200行代码设计x86保护模式下的操作系统--操作系统视频教程-计算机基础-CSDN程序员研修院


网站公告

今日签到

点亮在社区的每一天
去签到