主要分三大块:虚拟化、并发和持续性。
虚拟化:讲了早期单核CPU计算机在多人使用的时候存在的各种问题,自然而然地引出了进程调度。从简单的调度算法一步步引导大家深入研究。早期内存管理使用效率底下的问题引出内存管理的概念,然后一步步到内存虚拟化、内存映射和内存碎片处理,再到页表等。从基础问题讲到当前最流行的Linux操作系统的内存管理机制。
并发:当多线程同时需要访问临界区共享资源的时候,就会存在数据竞争的情况。从线程切换操作系统做的事情(保存当前线程寄存器状态,然后恢复下一个线程的寄存器现场),到TAS/CAS等non-blocking方式避免数据竞争的技术,也讲了blocking方式的互斥锁,自旋锁,读写锁,信号量,条件变量等并发中常用的技术。然后到事件驱动的方式避免并发问题,从select到epoll,事件驱动方式存在的弊端和无锁优势。
持续性:目前还在阅读中,主要介绍文件系统相关技术。
这本书循序渐进地引导大家探索操作系统底层的技术。每章节后面的参考资料有好多宝藏。如果能把书中提到的基础底层技术吃透,完全能做一个简单操作系统出来。阅读Linux内核相关技术也会有的放矢,不会有太大的技术基础差距造成的心理阴影。五星推荐。
相关推荐
© 2023-2025 百科书库. All Rights Reserved.
发表评价