Download presentation
Presentation is loading. Please wait.
1
OS – Operating System 作業系統簡介
第十組 林家平
2
Outline 作業系統是什麼 作業系統都做些什麼 作業系統原理的介紹 常聽名詞解釋 作業系統範例
3
作業系統是什麼? 漫畫圖 A basis for application programs 給應用程式提供服務介面
An intermediary between users and Hardware 使用者和硬體間溝通的橋樑 Can boot and Run at all time 可以開機,而且一直在跑的東東 The stuff shipped by vendors as an OS 喔! 反正買的時候,微軟說這東西叫OS…. 簡單結構圖
4
怎樣才是個好作業系統 效率 易於使用 不同的目標: 1. 速度 2. 總時間花費 3. throughput(產量)
1. 使用介面 2. 快速鍵、小工具….等 不同的目標: 個人電腦 容易使用、親切的介面 工作站 高效率、有效的資源分配、不同使用者資源分配 PDA 個人化的使用 嵌入式系統 效率至上、資源有限
5
作業系統分類 Batch System(批次):一步一腳印 Multiprogrammed System(多工):大家一起來
Ex. 印表機 Multiprogrammed System(多工):大家一起來 Ex. 讓你可以一邊打B一邊聽音樂一邊寫功課 Time-Sharing System(多人):快速切換於使用者之間 Ex. Ptt 現在站上人數 5000人 Real-Time System(即時) Hard real-time : 決不能超過時限 Ex. 飛彈攔截 Soft real-time : 盡力而為 Ex. 網多demo
6
作業系統的運作 輸入裝置 輸出裝置 I/ O interrupt(中斷) 程式終了 I/ O interrupt(中斷)
timer interrupt (時間中斷) system call (trap)(系統呼叫) scheduling (選擇程式) 分配資源 & 執行
7
需要作業系統的服務時 硬體中斷(interrupt) 軟體中斷(trap) 1. 有硬體輸入了 Ex. 鍵盤、滑鼠、光碟讀取
2. 計時器中斷 => 避免程式死當或進行process重排 軟體中斷(trap) 1. 應用程式需要用到硬體做輸出入時 why? 因為要避免程式惡搞 2. 有錯誤發生了 Ex. 除以0、使用不當的記憶體….等
8
作業系統的責任 管理並保護資源的運用 & 程序間的溝通…… 如何實行呢? <資源>
1. CPU 使用的時間 2.記憶體的空間 3.I/O硬體裝置 如何實行呢? 1.CPU:利用CPU排程,在一定時間內要將CPU給別的程序使用 2.記憶體:分配一個程序所可以使用的空間位置,限制每個程序可用的地方 3.I/O裝置:硬體支援不同的模式,執行程式要使用硬體,並需先呼叫系統呼叫(system call),進入作業系統來幫你完成
9
原理介紹 – multiprogramming(多工)
分為 preemptive(可中斷):可利用任何中斷重新排程 nonpreemptive(不可中斷):只有在程序終止或要求硬體I/O時,才能重新排程 好處: 1. 使用者可以較快知道部份執行結果,同時做多樣工作 2. 除了使用上的方便,在進行I/O時,將CPU讓給別的程序用,也可以使得CPU及I/O的使用能同時進行,增進效率 缺點: 必需付出切換程序時的額外動作 (context switch overhead)
10
原理介紹 – Process & Thread 要實踐多工的夢想,必要的東西 定義: Process:一個在執行、整體性的程式 不同在哪?
Thread:一個可執行的單元(a basic unit of CPU utilization) 不同在哪? 一個process中可以擁有 1個以上的thread,使得它可以同時做許多事,而同一個process中的thread可以彼此共享一個process裡的資源,使得作業系統在切換時,不需要存太多重複的資料
11
原理介紹 – CPU排程 1. FCFS (first come first serve) 先來先做排程法
2. SJF (shortest job first) 最短工作優先排程法 3. Priority Scheduling 優先權排程法 4. Round-Robin Scheduling 循環式排序法 5. Multilevel Queue Scheduling 多層佇列排程法 6. Multilevel Feedback Queue Scheduling 多層回溯佇列排程法
12
1. FCFS(麥當勞的小故事) 不可中斷 Convoy effect(護航效應) =>可用SJF改善
13
2. 最短工作優先排程法 (SJF) 太長的程序可能永遠輪不到!!
14
3.優先權排程法(Priority Scheduling)
15
4. 多層回溯佇列排程法 因為它的可變性,可調整參數適應不同需求,成為現在最常使用的排序法 原理: 好處:
1. 只有在較上層的queue中已經沒有程序等著要執行時,才會去取下層queue中的程序去做 2.一個程序被執行時,會限制一定的時間,若時限內沒完成,會強迫停止並被移到較下層的queue中等待。 好處: 1. 隱含SJF的好處,短的程序會很快完成,下層的通常都是需要很久的程序 2. 可調整各層queue中自己的排序法、層數、重要性….等參數,可適應不同需求 Ex. 當執行超過 8 ms停止並移到下一層 當執行超過 16 ms停止並移到下一層
16
Deadlock(死結) 狹路相逢,互不相讓 => 雙方都無法通過 死結發生的必要條件
在CPU上 => 兩或多個程序要求使用已經被佔有的資源 死結發生的必要條件 1. 爭奪的資源必須是同時只能被一個程序使用的 2. 已經佔有某些資源,並要求其他的資源 3. 資源使用中不可被中斷 4.循環等待 – 存在一個循環 {P0, P1, …, Pn, P0} 序列中的每個程序,都等待著它下一個程序已佔有的資源被釋放 我要B 我要A A B
17
死結的解決方法 1. 未雨绸繆法 將死結發生的四大條件之一破壞 2. 事後補救法 等到死結發生後,再加以解決 3. 視若無睹法
反正又不一定會發生,不管它
18
死結解決法 – 未雨綢繆的範例 Deadlock prevention Deadlock avoidance 方法:
在程序執行前,先把它所需要的所有的資源都先為它保留好再執行 Deadlock avoidance 1. 當一個程序要求某項資源時,檢查是否接受此項要求會造成死結,如果會則不接受此項要求 2.怎樣看出有死結呢 => 必須要存在一個序列,滿足這個序列中的程序之前的程序都可以完成執行時,它們所釋放出來的資源,足夠滿足這個程序的資源要求 演算法:有興趣書上有…
19
Spooling (Simultaneous Peripheral Operation On-Line)
Spooling 其實就是提供低速I/O裝置buffering(緩衝)的一種技巧 最常應用到此技巧的就是印表機,因為印表機的特性是 1. 印得慢(和CPU比) 2. 不可插斷,印完一份才能再印另一份 如果CPU要等待印表機真的把文件印完再進行下個工作,那真是太浪費資源了,所以,CPU會把要印的檔案,先存在磁碟中作緩衝,丟完就走,等有空時再回來問一下工作完成沒即可,對CPU和印表機雙方的效率都有極明顯的增加。
20
DMA (Direct Memory Access)
當I/O裝置的速度很快時,一直中斷造成CPU資源的浪費 => 讓I/O裝置直接將資料寫到memory中,等累積的資料夠多後,再一次中斷處理 小缺點:造成device和CPU搶memory排線的控制權 記憶體 CPU 硬碟
21
常見OS介紹 – Windows 2000 簡介: windows 2000系列分成四個產品 特色:
1. Professional 2. Server 3. Advanced Server 4. Datacenter Server 它結合了98 和 NT4.0的優點,並以高效能和穩定性 自許 特色: 延展性(extensible):使用模組架構,方便增修,可支援MS-DOS、POSIX、OS/2的程式 可攜性(portable):可適應多種hardware,不需做大幅修改 安全性(security):設定階級,使用者,對檔案和網路上的安全比之前的windows都強。 其他:支援 多CPU 虛擬記憶體 可中斷式多工排程 NTFS file system
23
常見OS介紹 – Linux 簡介: Linux 為芬蘭人Linus Torvalds 在 1991 年時所寫的自由軟體,而Linux也延續著這個精神,成為最廣為人知的free software,除了免費之外,Linux也毫 不吝嗇的公開所有的原始碼,並給予所有人任意修改,轉售及複製的權利。 和UNIX完全相容,目前Linux有RedHat、Slackware、Debian 等較有名的不同板本。 特色: 多人多工 高安全性:和UNIX相仿,使用者需先擁有登入的權利,再給予不同權限 其他:效率高、有彈性、穩定性佳,在網路及多媒體上有很好的應用空間(Ex. 鐵達尼號)
25
Reference: http://www.mis.kyit.edu.tw/learn/classnote/OS/
<Operating Systems Concepts> Abrahan Silberschatz and James L. Peterson
Similar presentations