計算機中最重要的思想就是抽象,或者說是封裝.
抽象和分層是我們的強力武器,我們可以利用它們讓我們的計算機系統更加強大,完成各種”不可能“。
作業系統,應用軟體設計,網絡協定棧等等,都展現了分層思想。分層中,每個層次負責不同的功能。一般來講,下層為上層提供服務,上層不要知道下層的具體實作細節,隻需使用下層提供的服務。而層與層之間聯系的橋梁就是“接口”(Interface)。
OS調用硬體提供的api,軟體調用OS提供的api,而使用者調用軟體提供的api。
舉個例子,在計算機網絡中,處于應用層的協定,如http,ftp等,可以”享受"傳輸層提供給他們的服務,他們無需考慮底層鍊路細節,無需考慮封包是如何到達接收方,這就是分層帶來的好處!
我們有了分層之後,所帶來的可複用性,亦是獨立性等,都有助于我們更好的管理計算機這一龐大的系統。

比如,對于實體硬碟的抽象,可以把它看成一個存儲各種資料的對象,有read和write方法。
在設計作業系統時,就展現了主要的分層思想. os管理計算機硬體, app 通過os提供的接口調用使用硬體, 在os的設計中, 廣泛使用了分層設計的思想: