前置知识

开发操作系统需要大量的前置知识,而这些知识是我在这门课程中无法讲完的。因此,本课程并非面向完全零基础的同学设计。这意味着你需要有以下基础知识的准备:

  • 了解操作系统的相关概念:如操作系统的概念、信号量、文件系统、驱动程序,知道堆栈是什么
  • 有基本的硬件开发经验:如学过微机原理与接口、写过x86的汇编;或者有单片机开发的经验
  • 有基本的应用程序开发经验:至少在PC机上写过控制台的小程序
  • 熟练掌握C语言:要求能熟练使用指针、简单的链表数据结构
  • 熟练掌握至少一种开发环境的使用(如Visual Studio C++):大体知道编译和链接的过程,熟练掌握如何在IDE下设置断点、单步、查看寄存器和变量值,知道如何解决编译、链接过程中出现的问题
  • 最好是能有Linux/Unix平台上的使用经验,有命令行下的使用经验
  • 最好是能有基本的英文文档阅读能力:课程中会提供一些有价值的英文参考资料

如果你不具备以上知识,建议从以下方向进行补充:

  • 阅读一种操作系统原理相关的书籍
  • 花点时间学习微机原理方面的课程:学习写一点简单的汇编程序,不要求多和复杂;了解一些诸如8259、8253等芯片的控制知识
  • 系统学习C语言,学习使用诸如Visual Stdio C++进行简单的C应用程序开发。