乙個普通的作業系統,即類似於乙個軟體中介軟體,是使用者程式和硬體之間的「中介」
因此,乙個達到要求的作業系統,便能夠執行許多使用者級別的應用程式(第三方程式)。
同時,這些應用程式可以:
- 和使用者互動
- 和網際網路互動
- 和檔案系統互動
對於應用程式來說,作業系統就像是計算機本身,這台「計算機」提供了:
(1)程序(應用程式的可執行單元);
(2)記憶體;
(3)檔案系統(位於磁碟中);
(4)網際網路互動;
(5)使用者互動裝置(即輸入輸出裝置,常見的諸如鍵盤,滑鼠,顯示器等,專用的裝置諸如空間球,遊戲手柄等);
(6)對於多使用者作業系統,還需要給每個使用者分配許可權,管理他們可以操作等檔案等;
(7)計算機安全,比如防止黑客入侵某個部分,或者防止第三方應用程式的肆意破壞= =;
(8)其它。(whatever needed)
(日後補充作業系統的架構概念圖)
因此,當我們學習作業系統時,可以從一下幾個方面入手:
(1)記憶體管理與cpu:
首當其衝,這是作業系統,也就是應用程式所謂的「計算機」的核心。
(2)程序與執行緒:
這是最重要的部分,事實上和記憶體管理、cpu唇齒相連。沒有了程序和執行緒,作業系統也就失去了意義。
(3)檔案系統:
對於乙個作業系統,管理磁碟也相當重要;程序相關的內容都儲存在記憶體中,可是程序需要讀寫,需要長期儲存一些東西,這些都是檔案系統都功勞。
(4)硬體裝置介面:
硬體裝置,包括磁碟,滑鼠,鍵盤等,是作業系統的另乙個重要任務;對於磁碟,關係到檔案系統的讀取;而對於其它裝置,關係到作業系統能否良好地提供乙個互動式應用程式環境。
(5)網際網路介面:
這關係到作業系統能否提供乙個良好的網路應用程式環境。面對網際網路發達的今天,沒有乙個作業系統可以不提供這樣的介面。
(注:chromium os,firefox os,幾乎完全依賴與網路。web os,我認為是以後作業系統發展的方向)
在有了以上幾個部分以後,其實作業系統已經可以執行。但是為了更好的服務與應用程式,作業系統需要這些:
*虛擬記憶體:可以在磁碟中擴張記憶體。當應用程式需要的記憶體大於物理記憶體時,作業系統可以不受束縛的提供更大的記憶體。
*計算機安全:為了保護作業系統、硬碟、使用者資料或者別的使用者程序,作業系統應該需要提供安全保護。
LTE LTE基本架構
這篇文章主要介紹lte的最基礎的架構,包括lte網路的構成,每乙個網路實體的作用以及lte網路協議棧,最後還包括對乙個lte資料流的模型的說明。這是一張非常有名的lte架構圖,從圖中可以看出,整個網路構架被分為了四個部分,包括由中間兩個框框起來的e utran部分和epc部分,還有位於兩邊的ue和p...
MySql基本架構
mysql基本架構分為server層和儲存引擎 負責連線客戶端與server層,簡單來說就像是乙個登入認證模組,判斷使用者的身份和許可權。mysql會快取我們執行過的select語句,以key value的形式直接放在記憶體中。後續查詢如果命中快取就可以直接拿出快取的結果集而不用去執行後面的複雜操作...
Linux基本架構
linux設計思想 1.程式應該小而專一,程式應該盡量的小,且只專注於一件事上,不要開發那些看起來有用但是90 的情況都用不到的特性 2.程式不只要考慮效能,程式的可移植性更重要,shell和perl,python等指令碼相比c有更好的移植性 3.一切皆檔案,盡量使用文字檔案來儲存資料,避免使用二進...