从xv6开始的操作系统之旅-0

Don’t panic, Everything is copied from xv6!

操作系统一直被 视为程序员的三大浪漫。本人也从初中开始便一直向往这个领域,初一的时候便早早学习了汇编(粗糙的);不过人生苦短,我因为各种事情没能按下心来仔细学习操作系统,好在到了高中终于想起了初心(初心一直没忘)。开始学习操作系统的相关知识和技术。

首先让我来解释一下标题,标题看似和xv6有关,其实本系列文章和xv6这个教学用操作系统并无直接的关系,无非就是利用她的部分代码(程序员的事情怎么能说是偷呢,这是merge code)。

xv6是一个众所周知的由MIT提供的类Unix的教学用实现,其利用短短不到一万行代码实现了一个完整的操作系统内核,注释详细结构清晰,是初学者的不二选择(咳咳)。我之所以选择xv6的原因,是其他操作系统内核的代码我都看不懂(捂脸)~

我将一步步实现一个简单的玩具系统内核,用来学习操作系统的相关知识,这个系列主要分为两部分:

  • 主要部分:实现一个简单的玩具内核的文章
  • 资料部分:汇编整理网络上我查阅的资料

这两个部分将时不时更新,主要部分通过数字编码区别先后顺序,资料部分不做任何区分。目标是建立一个wiki(osdev wiki的翻译)。

让我从这里开始吧,鞭策自己也好给自己一个动力。

Good Luck