天天看點

作業系統的基本架構

一個普通的作業系統,即類似于一個軟體中間件,是使用者程式和硬體之間的“中介”

  是以,一個達到要求的作業系統,便能夠運作許多使用者級别的應用程式(第三方程式)。

  同時,這些應用程式可以:

  - 和使用者互動

  - 和網際網路互動

  - 和檔案系統互動

  對于應用程式來說,作業系統就像是計算機本身,這台“計算機”提供了:

  (1)程序(應用程式的可執行單元);

  (2)記憶體;

  (3)檔案系統(位于磁盤中);

  (4)網際網路互動;

  (5)使用者互動裝置(即輸入輸出裝置,常見的諸如鍵盤,滑鼠,顯示器等,專用的裝置諸如空間球,遊戲搖桿等);

  (6)對于多使用者作業系統,還需要給每個使用者配置設定權限,管理他們可以操作等檔案等;

  (7)計算機安全,比如防止黑客入侵某個部分,或者防止第三方應用程式的肆意破壞= =;

  (8)其它。(whatever needed)

  (日後補充作業系統的架構概念圖)

  是以,當我們學習作業系統時,可以從一下幾個方面入手:

  (1)記憶體管理與cpu:

  首當其沖,這是作業系統,也就是應用程式所謂的“計算機”的核心。

  (2)程序與線程:

  這是最重要的部分,事實上和記憶體管理、cpu唇齒相連。沒有了程序和線程,作業系統也就失去了意義。

  (3)檔案系統:

  對于一個作業系統,管理磁盤也相當重要;程序相關的内容都存儲在記憶體中,可是程序需要讀寫,需要長期存儲一些東西,這些都是檔案系統都功勞。

  (4)硬體裝置接口:

  硬體裝置,包括磁盤,滑鼠,鍵盤等,是作業系統的另一個重要任務;對于磁盤,關系到檔案系統的讀取;而對于其它裝置,關系到作業系統能否良好地提供一個互動式應用程式環境。

  (5)網際網路接口:

  這關系到作業系統能否提供一個良好的網絡應用程式環境。面對網際網路發達的今天,沒有一個作業系統可以不提供這樣的接口。

  (注:chromium os,firefox os,幾乎完全依賴與網絡。web os,我認為是以後作業系統發展的方向)

  在有了以上幾個部分以後,其實作業系統已經可以運作。但是為了更好的服務與應用程式,作業系統需要這些:

  *虛拟記憶體:可以在磁盤中擴張記憶體。當應用程式需要的記憶體大于實體記憶體時,作業系統可以不受束縛的提供更大的記憶體。

  *計算機安全:為了保護作業系統、硬碟、使用者資料或者别的使用者程序,作業系統應該需要提供安全保護。

繼續閱讀