内容简介这是一本能指导零计算机基础的读者轻松理解计算机软硬件和操作系统工作原理,从而自己动手从0到1编写出一个操作系统的著作。作者在操作系统领域深度耕耘20余载,不仅一直奋斗在百度等企业一线,而且一直致力于操作系统的教育和布道,希望能帮助和指导越来越多的人,尤其是青少年,能从学生时代开始学习操作系统,能从底层原理真正理解操作系统,改变我国基础软件受制于人的现状。本书不仅是作者悟透操作系统本质、厚积薄发的成果,而且是他将复杂的操作系统原理化繁为简、举重若轻,成功指导自己9岁的孩子从0到1编写出一个操作系统的过程的全面复盘和复现。本书驱散了操作系统的迷雾,让操作系统不再神秘和高不可攀,让每一个怀揣操作系统梦的中国人都能理解并实现自己的操作系统。全书一共14章,逻辑上分为上下两篇。上篇(第1~5章) 计算机软硬件基础和原理从计算机如何使用电进行计算开始,首先讲述了电是如何抽象为信息的,处理器是怎样进行运算的,内存是怎样存储信息的,处理器和内存是怎样通过总线连接起来的,处理器是如何访问外设的,之后讲述了这些部件是如何结合起来运行程序的。然后通过使用机器语言编写一个程序,让读者深刻地理解指令和程序。接下来,结合汇编语言讲述了计算机体系结构。最后,从C编译器如何将C语法翻译为汇编语言的角度,聚焦语法后面的本质,让读者彻底地理解C语言,而不再纠结在语言表面的语法。下篇(第6~14章) 从0到1实现一个操作系统从系统引导(包含32位和64位)开始讲起,先后实现并阐述了内存管理、进程管理、中断、进程调度、系统调用、进程间通信,最后实现了在显示器上实现字符以及图形输出,并能接收键盘输入。除了直接从应用程序直接访问内核外,还展示了C库等概念,展示了从应用软件到C库、图形库,最后到内核的完整软件栈。