本书希望通过设计实现操作系统来更好地理解操作系统原理和概念。设计实现操作系统其实就是设计实现一个可以管理CPU、内存和各种外设,并管理和服务应用软件的系统软件。为此还是需要先了解一些基本的计算机原理和编程的知识。本书的例子和描述需要读者学习过计算机原理课程、程序设计课程,掌握C语言编程(了解指针等的编程)。如需完成基于RISC-V的ucore实验,则对基于RISC-V的体系结构有一定的了解,大致了解RISC-V的汇编语言。