这个repository是我在阅读Three Easy Pieces时的笔记。我主要用汉语书写,以便日后自己可以快速复习,当然,到处可见中英文夹杂的坏习惯。
古人云:书读百遍其义自见。这不过是我的第二遍,很多先前不明白的地方就已经清晰很多了。古人诚不我欺也!我还记得第一次读的时候在进程切换、并发等关键章节基本都是懵的。与上一次不同的是,在这一遍之前我已经读过了CSAPP,尤其是有了一些x86汇编的概念。回头来再看Three Easy Pieces关于进程、进程管理的部分就豁然开朗了。这一遍在并发的部分还是花了不少时间,理解也更加深入了。只不过我的日常代码主要用MPI做并行计算,很少用到并发,因此还需要多找机会练习并发编程。本书最后三节有关于分布式系统的部分,我决定暂时放在一边,日后如需用到再来学习吧。
总得来说,这本书让我受益匪浅。以往在写项目代码的时候,常常会感觉知其然而不知其所以然,这大概是许多没有受过计算机科班训练的理工科人士的通病吧。
本书地址:https://pages.cs.wisc.edu/~remzi/OSTEP/
For myself: 登录这里下载购买的PDF.
- ThreeEasyPieces
- Part 0. Introduction
- Part 1. Virtualization
- 03. A Dialogue on Virtualization
- 04. The Abstraction: The Process
- 05. Interlude: Process API
- 06. Mechanism: Limited Direct Execution
- 07. Scheduling: Introduction
- 08. Scheduling: The Multi-Level Feedback Priority Queue
- 09. Scheduling: Proportional Share
- 10. Multiprocessor Scheduling
- 11. Summary Dialogue on CPU Virtualization
- 12. A Dialogue on Memory Virtualization
- 13. The Abstraction: Address Spaces
- 14. Interlude: Memory API
- 15. Mechanism: Address Translation
- 16. Segmentation
- 17. Free-Space Management
- 18. Paging: Introduction
- 19. Paging Faster Translations (TLBs)
- 20. Paging: Smaller Tables
- 21. Beyond Physical Memory: Mechanisms
- 22. Beyond Physical Memory: Policies
- 23. Complete Virtual Memory Systems
- 24. Summary Dialogue on Memory Virtualization
- Part 2: Concurrency
- Part 3. Persistence
- 35. A Dialogue on Persistence
- 36. IO Devices
- 37. Hard Disk Devices
- 38. Redundant Arrays of Inexpensive Disks (RAIDs)
- 39. Interlude: Files and Directories
- 40. File System Implementation
- 41. Locality and The Fast File System
- 42. Crash Consistency: FSCK and Journaling
- 43. Log-structured File Systems
- 44. Flash-based SSDs
- 45. Data Integrity and Protection
- 46. Summary Dialogue on Persistence
- 47. A Dialogue on Distribution
- 48. Distributed Systems
- 49. Sun's Network File System (NFS)
- 50. The Andrew FIle System (AFS)