入門推薦書籍1:《計算機的心智:操作系統之哲學原理》(建議看第一版)。要閱讀這本書,除了幾個概念(比較常見的是"中斷"),完全不需要任何基礎(沒錯,不需要C和任何語言的知識),看故事一樣就可以將操作系統的進程、線程、內存、IO、多核全部有個了解。當然,這本書只能淺層次、全面地了解操作系統,適合入門操作系統。
入門推薦書籍2:《Operating Systems: Three Easy Pieces》(OSTEP),總共50章。如果說上面推薦的《計算機的心智》是看故事,那么這本書就是從知識點的角度去系統性地認識操作系統,但偏偏沒有任何難度。本書2019年6月出了中文版《操作系統導論》。
入門推薦書籍3:《Operating.System.Concepts.10th》,中文版《操作系統概念》,OSTEP描述的多是原理和概念,操作系統概念是細節加原理加概念,寫作方式是比較大眾化的方式,本書結合OSTEP看,基本上能將操作系統相關的基礎都了解清楚。
入門推薦書籍4:《Linux-UNIX系統編程手冊(上、下冊)》或《UNIX環境高級編程》(APUE),系統編程的體系中,有關進程、內存等方面的內容,對於了解操作系統也是非常有幫助的,這可能需要一點C基礎,至少,要能看的懂C。
操作系統修煉秘籍
本秘籍只專注於介紹操作系統中的一些概念和術語,從前向后循序漸進,所以建議從前向后不要跳過,否則斷層而突然出現的概念導致看不懂。
- 每天3分鍾操作系統修煉秘籍(1):秘籍簡介
- 每天3分鍾操作系統修煉秘籍(2):並行的假象和分時系統
- 每天3分鍾操作系統修煉秘籍(3):了解一點重要的操作系統發展歷史
- 每天3分鍾操作系統修煉秘籍(4):內核態和用戶態
- 每天3分鍾操作系統修煉秘籍(5):中斷
- 每天3分鍾操作系統修煉秘籍(6):系統調用
- 每天3分鍾操作系統修煉秘籍(7):Idle進程
- 每天3分鍾操作系統修煉秘籍(8):虛擬內存簡介
- 每天3分鍾操作系統修煉秘籍(9):虛擬內存分段
- 每天3分鍾操作系統修煉秘籍(10):棧空間之用戶棧和內核棧
- 每天3分鍾操作系統修煉秘籍(11):分頁和頁表
- 每天3分鍾操作系統修煉秘籍(12):頁翻譯——快速地址轉換
- 每天3分鍾操作系統修煉秘籍(13):OOM和Swap分區
- 每天3分鍾操作系統修煉秘籍(14):兩個緩沖空間:kernel buffer和io buffer
- 每天3分鍾操作系統修煉秘籍(15):IO操作和DMA、RDMA
- 每天3分鍾操作系統修煉秘籍(16):進程間通信(1):簡介
- 每天3分鍾操作系統修煉秘籍(17):進程間通信(2):管道
- 每天3分鍾操作系統修煉秘籍(18):進程間通信(3):套接字
- 每天3分鍾操作系統修煉秘籍(19):進程間通信(4):文件映射和內存共享
- 每天3分鍾操作系統修煉秘籍(20):進程間通信(5):消息隊列和信號
- 每天3分鍾操作系統修煉秘籍(21):進程間通信(6):信號量
- 每天3分鍾操作系統修煉秘籍(22):進程間通信(7):鎖
- 每天3分鍾操作系統修煉秘籍(23):程序如何變成進程
- 每天3分鍾操作系統修煉秘籍(24):進程表和進程數據結構以及上下文切換
- 每天3分鍾操作系統修煉秘籍(25):進程狀態以及狀態轉換
- 每天3分鍾操作系統修煉秘籍(26):進程調度算法圖解說明
- 每天3分鍾操作系統修煉秘籍(27):Linux進程調度和調整優先級
- 每天3分鍾操作系統修煉秘籍(28):Linux進程的創建
- 每天3分鍾操作系統修煉秘籍(29):Linux進程退出和wait/waitpid
- 每天3分鍾操作系統修煉秘籍(30):Linux僵屍進程和孤兒進程
- 每天3分鍾操作系統修煉秘籍(31):並行和並發