图解系统不仅仅涉及了操作系统的内容,还涉及一些计算机组成和 Linux 命令的内容,
当然还是操作系统的内容占比较高,基本把操作系统进程管理、内存管理、文件系统、设备管理、网络系统这五大结构图解了,其中进程管理和网络系统这两个章节篇幅比较多,进程管理不仅包含了进程与线程的基本知识,还包含了进程间通信,多线程同步、死锁、悲观锁和乐观锁。
网络系统包含 I/O 多路复用、零拷贝、Reactor 等等。
计算机组成主要涉及是 CPU 方面的知识,我们不关注 CPU 是怎么设计与实现的,只关注跟我们开发者有关系的 CPU 知识,比如 CPU 执行程序的原理,CPU 缓存,CPU 伪共享等等,这些看似跟我们开发者无关,实际上关系挺大的,只有了解 CPU 缓存才能写出更快的代码,只有了解 CPU 伪共享才能避免写出无效缓存的代码。