任何计算机系统都包含一个名为操作系统的基本程序集合。在这个集合里,最重要的程序称为内核 (kernel)。当操作系统启动时,内核被装入到内存中。内核中包含了系统运行所必不可少的、数量众多的核心进程(procedure)。

操作系统必须完成两个主要目标:

  • 与硬件部分交互,为包含在硬件平台上的所有底层可编程部件提供服务。
  • 为运行在计算机系统上的应用程序提供执行环境。

现代操作系统依靠特殊的硬件特性以禁止用户程序直接与底层硬件部分进行交互,或者禁止直接访问任意的物理地址。特别是,硬件为 CPU 引入了至少两种不同的执行模式:用户程序的非特权模式和内核的特权模式。Unix 把它们分别称为用户态(User Mode)和内核态(Kernel Mode)。

uC/OS II 是一款非常流行的开源嵌入式操作系统,可在多种 MCU 上运行,移植工作也比较简单。本文讲解如何移植 uC/OS II。