這篇部落格我們只從四個方面簡單概括得說作業系統的組成。這四個方面是計算機的基本組成、程序概論、記憶體管理和作業系統的發展。
一、計算機的基本組成
說到計算機的基本組成我們必須了解到乙個人馮諾依曼。他是第乙個提出當代計算機的體系架構,也是計算機之父。將他提出的體系架構稱為「馮諾依曼體系」。
1、馮諾依曼體系
就是將我們的計算機進行了乙個劃分。分為計算器、控制器、儲存器、輸入裝置和輸出裝置這五大部件。
(1)運算器:也叫算數邏輯單元,完成對資料的各種常規運算,如加減乘除,也包括邏輯運算,移位,比較等。
(2)控制器:它是整個計算機系統的控制中心,它指揮計算機各部分協調地工作,保證計算機按照預先規定的目標和步驟有條不紊地進行操作及處理。
(3)儲存器:儲存程式和各種資料。
(4) 輸入裝置:把人所熟悉的資訊如,,聲音,文字,轉換為計算機能夠識別的資訊儲存起來。
(5)輸出裝置:把計算機機能識別的資訊轉換為人能識別的資訊,進行呈現。
另外我們將計算機整體劃分為cpu、記憶體和 i/o裝置.
其中cpu中包含控制器和運算器,記憶體就是儲存器。 i/o裝置就是輸入裝置和輸出裝置,如:鍵盤、顯示器、滑鼠、硬碟、網絡卡。關係如下圖所示:
匯流排將這些裝置連線起來。匯流排又分為三種:
(1)資料匯流排:傳遞資料
(2)位址匯流排:定址的根數,決定了定址能力。
(3)控制匯流排:控制傳輸方向。
2、儲存器的分類
儲存器分為:網路、硬碟、記憶體、快取記憶體、暫存器(從左到右速度越來越快,從右往左儲存量越來越大)
二、程序概論
1、程序的概念:正在進行的程式。而程式是由一條一條的指令、資料和資源構成的
2、作業系統對程序的管理
(1)標識乙個程序:pid
(2)控制乙個程序:程序控制塊 pcb(struct task_struct)
具體結構如下圖所示:
上圖中的pcb是通過雙向迴圈鍊錶管理的我們在建立乙個程序時,是先申請乙個pcb,然後才是引導程式生成程序實體。程序結束時,先結束程序實體,再釋放pcb結點(釋放pcb時需要一定的條件)
3、僵死程序(殭屍程序):程序實體已經被釋放,但是pcb結點沒有被釋放。(程序已經結束)
4、孤兒程序:父程序已經結束,但是子程序還未結束,那麼子程序就是孤兒程序。系統就會將所有的孤兒程序掛在init下。(程序未結束)
5、程序的狀態
程序分為三種狀態:就緒(等待cpu排程執行)、執行(cpu正在執行程序中的指令)和阻塞(等待事件發生)我們也可以將這三種狀態擴充套件成七種,分別是:建立、就緒、執行、阻塞、阻塞掛起、就緒掛起和退出七種,它們之間的關係如下:
退出有4種方式:
(1)正常退出(自願的)
(2)出錯退出(自願的)
(3)嚴重錯誤(非自願)
(4)被其他程序殺死(非自願)
6、並行和併發
(1)並行:當系統有乙個以上cpu時,則執行緒的操作有可能非併發。當乙個cpu執行乙個執行緒時,另乙個cpu可以執行另乙個執行緒,兩個執行緒互不搶占cpu資源,可以同時進行
(2)併發:當有多個執行緒在操作時,如果系統只有乙個cpu,則它根本不可能真正同時進行乙個以上的執行緒,它只能把cpu執行時間劃分成若干個時間段,再將時間 段分配給各個執行緒執行,在乙個時間段的執行緒**執行時,其它執行緒處於掛起狀
我們直接用圖來表示它倆之間的關係:
三、記憶體管理
1、簡單分頁:將記憶體劃分成大小相等(4k)的頁幀,並對頁幀進行編號。
作業系統會為每個程序分配乙個 頁表,頁表中儲存的是程序的頁到記憶體的頁幀的對映。
1、序列處理:多個任務、工作或程序在時間上先後相繼指導地得以完成
2、批處理:就是首先由監督程式將磁帶上的第乙個作業裝入記憶體,並把執行控制權交給該作業;當該作業處理完成時,又把控制權交還給監督程式,再由監督程式把磁帶上的第二個作業調入記憶體。計算機系統就這樣自動地乙個作業緊接乙個作業地進行處理,直至磁帶上的所有作業全部完成。
3、多道程式設計:當cpu空閒下來的時候,監控程式就把另外的正在等待cpu的資源程式啟動。
4、分時系統:程式需要盡快處理所接收到的任務,使使用者能夠立即看到效果。
linux 作業系統概述
服務端作業系統 linux unix windows server 單機作業系統 windows dos ucdos win95 win98 win2000 xp vista win7 win8 mac linux ubuntu 移動作業系統 android ios windows phone 1....
作業系統是什麼?Linux作業系統概述!
linux 也是眾多作業系統之一,要想知道 linux 是什麼,首先得說一說什麼是作業系統。硬體是計算機賴以工作的實體,包括顯示器 鍵盤 滑鼠 硬碟 cpu 主機板等 作業系統 operating system,os 是軟體的一部分,它是硬體基礎上的第一層軟體,是硬體和其它軟體溝通的橋梁 或者說介面...
Linux作業系統的層次與組成
1.linux作業系統的層次結構 簡單來說,linux作業系統整體分為三層 1.硬體系統 包括cpu 記憶體 硬碟 網絡卡等 2.核心 這是作業系統的核心,負責管理硬體系統,同時為上層的應用程式提供操作介面 3.使用者程序 表示計算機中執行的所有程式,它們執行於使用者空間,由核心統一管理 乙個完整的...