本书将可移植操作系统POSIX标准和CPU指令集架构ISA两层接口通过Linux操作系统贯通起来,涵盖了Linux操作系统的各个主要方面,主要有以openEuler操作系统为例的POSIX工具集、计算机系统的工作原理、x86和ARM64汇编语言、系统调用的工作机制、进程描述和内存管理、可执行程序工作原理、内核线程和I/O驱动框架、进程调度和进程切换、KVM和容器技术、Linux安全相关技术等Linux系统运作的各个关键机制。
本书首先以Linux社区规则、Linux发展的渊源、Linux基本使用和命令工具作为导引;然后以存储程序计算机相关的工作原理、x86和ARM64汇编语言、指令乱序问题、mykernel精简内核实验以及Linux内核源代码编译和系统构建作为Linux内核的入门基础;接着聚焦深入理解系统调用,并在x86和ARM64系统调用实现的基础上延伸到进程的创建、可执行程序的加载和进程的切换,其中涉及了进程描述符、进程地址空间和程序编译构建等相关的内容;最后总结了Linux系统的一般执行过程和系统架构,并拓展到KVM和容器技术,以及Linux系统安全相关技术。
本书适合作为高等院校计算机、软件工程专业高年级本科生和研究生的教材,同时可供计算机软件相关从业人员学习参考。
向Richard M. Stallman和Linus Torvalds致敬
我们剖析它,深入理解它,是希望未来有一天有机会超越它。
—— 孟宁