01 / 經典教材推薦
經典教材推薦
引用
Saltzer, J. H., & Kaashoek, M. F. (2009). Principles of Computer System Design: An Introduction. Morgan Kaufmann.
為什麼重要
電腦系統由多個層次構成,各層彼此隱藏複雜性。本書追問這些層次何時有效、何時失效,以及設計者如何明確它們之間的邊界。
核心概念
抽象與模組化
抽象讓元件暴露有用介面,而不必暴露全部實作細節。模組化則使一部分能夠被替換,同時保持其他部分所依賴的行為。
命名與保護
命名把使用者和程式連接到資源,保護機制則控制誰能在什麼條件下使用資源。兩者共同塑造系統的安全性與可用性。
端到端推理
有些功能放在系統端點實作,比放在中間層更可靠。這個原則可以幫助理解網路、儲存和分散式應用中的設計選擇。
故障與復原
健壯設計假設元件、鏈路和輸入都可能出錯。清楚的契約、冗餘、隔離和復原流程,可以防止局部故障擴散為系統性失敗。
閱讀方法
對每條設計原則都尋找它的權衡:複雜性被轉移到哪裡,需要哪些假設,以及當假設被破壞時系統會如何表現。
結語
《電腦系統設計原理》適合希望理解系統為何如此組織的讀者。它把程式設計實務與作業系統、網路和安全基礎設施背後的設計推理連接起來。