4-1 作業系統簡介 4-2 各類作業系統 4-3 CPU排班 4-4 記憶體管理 4-5 檔案系統 4-6 熱門作業系統介紹
4-1 作業系統簡介 … 電腦系統:硬體、作業系統、應用軟體、使用者 作業系統:負責管理電腦裡的硬體及周邊設備,扮演介於使用者與電腦硬體的中間人 使用者 1 使用者 2 使用者 3 … 使用者 n 編譯程式 組譯程式 文字編輯程式 … 資料庫系統 系統及應用程式 作業系統 電腦硬體
作業系統的主要工作 中央處理器管理 記憶體管理 檔案管理 周邊設備管理 程序管理 把處理器有效地安排給各個程序使用 妥善分配記憶體給各個程序使用 記憶體管理 讓使用者安全存取及控制檔案 檔案管理 管理各種周邊設備,提供簡易使用者介面程式 周邊設備管理 依據程序控制表安排資源 程序管理
4-2 各類作業系統:主機型系統 手動操作階段 使用者得熟悉計機的各部分細節及操作方法,操作麻煩又容易出錯 單工系統
4-2 各類作業系統:主機型系統 批次系統 把相同或相似的工作集合成為一整批(batched) 各個作業之間的轉接由監控程式自 動操作,縮短手動操作緩慢所造成 的CPU等待時間 簡單的批次系統記憶體配置 批次系統
各類作業系統:主機型系統(cont) 多元程式規劃系統 多元程式規劃的目的就是要增進CPU使用率 程序的狀態: 程序正在產生中 新產生 程序正在產生中 執行 程序得到資源正在執行 等待 程序等待某個事件發生 就緒 程序一切已準備就緒 結束 程序已完成
(程序:一個程式被載入記憶體中且執行的過程) 程序狀態關係圖 (程序:一個程式被載入記憶體中且執行的過程) 程序 新產生 進入 結束 離開 中斷 就緒 執行 處理器 排班程式分派 I/O或事件完成 I/O或事件等待 等待 如,等待使用者輸入指令
CPU 首先為P0進行運算,P0進入等帶狀態時,OS提出中斷或系統呼叫,接著CPU改為P1進行運算,如此來回轉換 處理器排班 CPU 首先為P0進行運算,P0進入等帶狀態時,OS提出中斷或系統呼叫,接著CPU改為P1進行運算,如此來回轉換
各類作業系統:主機型系統(cont) 分時系統 採用時間觸發,CPU輪流計算各個程序,時間一到CPU就進行下一個程序的運算 多工系統
各類作業系統:主機型系統(cont) 程序1 程序2 程序3 程序4 CPU CPU CPU CPU 分時系統的特點: 同時性:可同時有若干個使用者連結到同一台計算機上進行運算 獨立性:不同使用者之間不會相互干擾 即時性:每一個使用者都可以即時得到計算機的回應 程序1 程序2 程序3 程序4 CPU CPU CPU CPU
各類作業系統:個人電腦系統 個人系統的目標:增進使用者操作方便,並且提昇CPU的回應速度避免使用者等待 個人電腦系統的演進: 早期:DOS文字指令 第一個圖形化介面:Mac OS 最多人使用:Windows 免付費作業系統:Linux
各類作業系統:多處理器系統 CPU` CPU … CPU 記憶體 一個以上的處理器,彼此之間緊密地溝通合作,共享資源,共用時脈。 多處理器系統可以增進效能,也因共用周邊設備, 共享電腦資源,所以較省空間。 多處理器系統中,多個應用程式共用記憶體等資源。 多處理器系統擁有較好的容錯能力。 CPU` CPU … CPU 記憶體
各類作業系統:分散式系統 Web Service用戶端 網路傳輸 Web Service提供者 每一台電腦是各自獨立的,並不共享資源或時脈,彼此之間依靠網路傳輸交換資料 分散式系統的應用:Web Service Web Service用戶端 要求服務描述 服務描述文件 要求服務 服務結果 網路傳輸 Web Service提供者
各類作業系統:即時系統 即時系統: 計算機要能即時回應外部事件的要求,於規定的時間內完成對該事件的處理,還要能控制所有的即時設備和工作能夠協調一致地執行 即時系統的重點: 用以完成定時工作或延遲工作以利與其他工作協調。 即時時鐘管理 發生過載時,使用緩衝區來應急。 過載保護 保障計算機發生問題時,系統仍然正常工作。 高度可靠性
各類作業系統:手持系統 手持系統:個人數位助理,較手提式電腦輕薄短小。 手持式系統的特點: 記憶體容量小 必須有較好的記憶體管理方式。 為使電池使用時間較長,故運算速度不可能太快,因此必須巧妙設計作業系統或應用程式。 處理器運算緩慢 使用者介面設計必須格外留意,好 讓使用者看到較多畫面。 顯示螢幕小
4-3 CPU排班 CPU排班:保持隨時都有一個程序在執行,提高CPU的使用率 CPU排班的五個決策時間點: 程序新產生時 程序從執行狀態變等待狀態(譬如有I/O要求) 程序從執行狀態變就緒狀態(譬如有中斷發生時) 程序從等待狀態變就緒狀態(譬如I/O要求得到回應) 程序終止時
五個必須CPU排班的時間點 新產生 進入 結束 離開 中斷 就緒 執行 排班程式分派 I/O或事件完成 I/O或事件等待
評量CPU排班演算法好壞的標準 CPU使用率 使用率越高表示演算法越好。 產能 算計單位時間內完成的程序數目,但若是執行大程序則可能導致產能比執行很多小程序小。 回復時間 程序經歷多少單位時間才完成其計算。 等待時間 算計一個程序花多少時間在就緒佇列中等待。
CPU排班 (cont) 確保已經享有CPU資源的程序能夠一直用,不管其他程序的狀態,直到程序自己跳到其他非執行的狀態才進行排班 。 不可搶先排班 (nonpreemptive) 確保已經享有CPU資源的程序能夠一直用,不管其他程序的狀態,直到程序自己跳到其他非執行的狀態才進行排班 。 可搶先排班 (preemptive) 時時刻刻都要注意所有程序的狀態,如果有程序進入就緒狀態,那就要把已經就緒的程序跟正在使用CPU的程序互比較優先順序。優先順序較高的就能把對方踢去排隊。
CPU排班演算法:先到先處理 先到先處理:採用先進先出的方式,服務先到的程序 舉例: 先到先處理之甘特圖: 程序 抵達順序 所需時間(毫秒) 1 15 P2 2 3 P3 P3 P2 P1 15 18 21
先到先處理 (cont) 各程序等待時間: 若抵達先後順序改變如下: 程序 等待時間(毫秒) 平均等待時間(毫秒) P1 P2 15 P3 P2 15 P3 18 11 程序 抵達順序 所需時間(毫秒) P1 3 15 P2 1 P3 2
先到先處理 (cont) 則甘特圖如下所示: 各程序的等待時間如下所示: P2 P3 P1 21 3 6 程序 等待時間(毫秒) 21 3 6 程序 等待時間(毫秒) 平均等待時間(毫秒) P1 6 P2 P3 3
最短工作先處理 舉例 : 甘特圖如下所示: 程序 所需時間(毫秒) P1 7 P2 3 P3 5 P1 P3 P2 3 8 15
最短工作先處理 (cont) 各程序的等待時間 程序 等待時間(毫秒) 平均等待時間(毫秒) P1 8 P2 P3 3 3.67
最短工作先處理 (cont) 不同的抵達順序及其平均等待時間 程序先後順序 平均等待時間 P1 → P2 → P3 5.67 6.44 P2 → P1 → P3 4.33 P2 → P3 → P1 3.67 P3 → P1 → P2 P3 → P2 → P1
優先權排班 優先權如下: 甘特圖如下: 程序 優先權 所需時間(毫秒) P1 3 7 P2 1 5 P3 2 4 5 9 16 P1 P3 9 16
依序循環排班 依序循環排班方式在使用時,先預設好經過多少時間CPU就該切換執行下一個程序,也就是設定好間隔時間(time slice)。所有的程序放在先進先出的佇列裡面, 首先 CPU排班從佇列裡挑第一個程序執行。 然後 開始進行倒數,時間到的時候就得讓CPU處理佇列裡下一個程序。
依序循環排班 (cont) 範例: 甘特圖: 程序 所需時間 抵達順序 P1 17 1 P2 3 2 P3 8 18 26 28 5 8 18 26 28 5 8 13 21
4-4 記憶體管理 記憶體管理 把記憶體分割成各個區塊,以分配給各個程序,甚至是各個使用者使用。 記憶體管理
把程序所使用的邏輯位址與記憶體的實際位址做映射的工作。 記憶體位址定位 基底暫存器 (base register) 記 憶 體 326 邏輯位址 14826 實際位址 14500 CPU + 326 邏輯位址 程序之間所使用的記憶體不能相互干擾,可是記憶體中放作業系統的部分要讓各個程序共用。 記憶體保護與共享
單一連續記憶體配置方式 記憶體被分成三個連續的區塊:作業系統存放、應用程式佔用、未使用 低位址 作業系統佔用 程式可以佔用 應用程式佔用 高位址 實際未用
單一連續記憶體配置(cont) 利用界線暫存器和基底暫存器來提供記憶體保護 < + 界線暫存器 (limit register) 基底 邏輯位址 是 + 實際位址 CPU 否 中斷:錯誤處理
動態載入 動態載入是指常式(routine)只有在被呼叫的時候 才會被載入,也就是說,將所有的常式以可重定位載入的方式存放在磁碟空間內。主程式存放在記憶體中,執行時,若發現所需呼叫的常式不在記憶體內,便呼叫重疊定位連結程式,將需要的程式或資料庫入記憶體中。 動態載入可以提供較大的彈性。
覆蓋 最主要的部分會一直放在記憶體中;只有在特定時候才需要用到的指令或資料,則只有被用到時才放在記憶體中,其他時候則被覆蓋掉。 使用覆蓋的範例: 編譯器。 符號表 (symbol table) 20K 一般常式 (common routines) 30K 重疊驅動程式 (overlay driver) 10K 第1次處理 80K 第2次處理 70K
置換 利用磁碟當作備份的儲存體,用以置換兩個程序 作業系統 使用者 空間 程序 P1 換出 換入 程序 P2 備份儲存體 主記憶體
置換 (cont) 洋蔥皮演算法 1 2 3 4 5 32K 程序3 程序1 程序2 附註:Paging system是虛擬記憶體管理的重要機制,它將一個 程序的記憶體需求分割成大小相同的pages,以便更有效管理。
4-5 檔案系統 檔案系統是指負責存取和管理檔案資料的軟體 檔案的重要屬性: 標示出檔案所在的磁碟及目錄位置。 顯示檔案目前的大小。 名稱 符號式的檔名給人辨識不同的檔案。 識別符號 獨一無二的標籤,用來標示檔案系統內的檔案,給作業系統存取所用 型態 顯示檔案的類型。 位置 標示出檔案所在的磁碟及目錄位置。 大小 顯示檔案目前的大小。 時間日期 顯示檔案建立日期、修改日期、最後開啟日期等。
檔案的基本操作 檔案的基本操作 目錄結構必須支援的操作功能 建立檔案 讀取檔案 寫入檔案 刪除檔案 搜尋 刪除檔案 建檔 更改檔名
目錄結構:單層目錄 所有的檔案都裝在同一層目錄中 同一個目錄裡不能有兩個相同的檔案名稱 目錄 檔案 test homework game temp mail data 檔案
目錄結構:雙層目錄 每個使用者的目錄夾裡的結構相似 開啟檔案時,只會搜尋使用者所屬的目錄夾 主檔案目錄 使用者 檔案目錄 user1 test home-work game temp test home-work test home-work game data mail
路徑 絕對路徑:root/user1/Homework/hw1.doc 相對路徑:/Homework/hw1.doc
4-6 熱門作業系統介紹 Linux 創始人托瓦茲認為軟體免費的比較好 開放原始碼, 透過大家發現漏洞, 一起改善系統 Linux的特點: 4-6 熱門作業系統介紹 Linux 創始人托瓦茲認為軟體免費的比較好 開放原始碼, 透過大家發現漏洞, 一起改善系統 Linux的特點: 真正意義上的多工、多用戶作業系統 支援數十種檔案系統格式 提供了先進的網路支援 採用先進的記憶體管理機制,更加有效地利用實體記憶體 開放原始碼,用戶可以自己對系統進行改進
熱門作業系統介紹 - Mac 第一個圖形化的作業系統 優異的使用者介面 漂亮的外型設計 針對影像圖片等工具有較好的支援程式
熱門作業系統介紹 – Windows 最多人使用的作業系統 1990年推出Windows 3.0 分成DOS支脈及Windows NT Windows NT代表New Technology Windows XP代表eXPerience 2007年推出Vista 2009年推出Windows 7