操作系统简介
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
參考順序
PF 0 PF 1 PF 2 PF 3 Fault
共發生 page fault (*)= 次
11p.01
Page Fault 代換策略實作
Optimal(取代最晚才會再用的) 效果最好理論上限,但 不可行
頁參考順序:0,1,2,3,4,2,1,5,6,7,2,3,7,4,5,6,0
Page frame=3
Process 的排程策略
1. Non-Preemptive(不可插隊式)
1. FCFS (First Come First Serve):先來先做 2. SJF (Shortest Job First):最短先做
2. Preemptive(可插隊式)
3. RR (Round-Robin):啄木鳥/Time-sharing,適用於一般電腦。 4. SRTF (Shortest Remaining Time First):最短剩餘時間優先。
由OS控制
4p.01
計算機作業方式
5. Multiprogramming(多工程式處理)-1970’s
同時(currently)執行數個程式(以軟體方式),各個程式 感覺是同時執行。
6. Multiprocessing(多元處理)-1970’s
同時(simultaneously)執行數個程式(以硬體方式),格 個程式真正是同時執行。
參考順序 0 1 2 3 4 2 1 5 6 7 2 3 7 4 5 6 0
PF 0 0 0 0 03 34 4 4 4 4 4 4 4 4 4 54 5 5
PF 1
1 1 1 1 1 1 51 65 76 7 7 7 7 7 67 6
PF2
2 2 2 2 2 2 2 2 2 32 3 3 3 3 03
4. Time-Sharing(分時作業)
Multiprogramming的一種,各程式分配一段時間輪流 交替執行,為最普遍的執行方式(公平,簡單,效果不 錯)
Multiprogramming:電腦Memory內有2個以上互不相 關的程式可同時被執行,CPU交替執行之,使得User 產生電腦專屬執行某一程式的錯覺。
作業系統簡介
1p.01
作業系統(Operating System)的目的
1. 方便的人機介面
命令列介面:Command line,如DOS 圖形化使用者介面:GUI (Graphic User Interface),如
Windows XP,Mac OS等
2. 有效的管理資源
1. Memory:虛擬記憶體(virtual memory) 2. Processor:程序排程(process scheduling) 3. Device:死結 (dead lock) 4. Information:檔案(file) 5. Others:載入(loader),鏈結(linker),庫存程式
PF2
2 2 2 2 2 2 62 6 6 36 3 3 53 5 5
Page Fault
** ***
*** ***
* ** *
共發生 page fault (*)= 15 次
10p.01
自我練習
LRU(最近最久未用) Least Recently Used
頁參考順序:1,2,3,4,5,0,1,4,5,6,7,4,5,6,7,1,0 Page frame=4
Non-Preemptive (不可插隊式)
代表process進入CPU 中開始執行
1. FCFS 先來先做 (First Come First Serve)
Process # 1 2 3 4
Burst Time 10 4 5 4
Arrived Time 0 3 5 7
p4 p3 P2 p1 ●
● ● ●
7. Multitasking(多工處理)-1980’s
電腦Memory內有2個以上屬於同一程式的工作(task)可 被同時執行。
Task:執行一個特定功能的一段程序(副程式)
8. Multithreading(多序執行)-1990’s
如Java
5p.01
Virtual Memory虛擬記憶體
Hard Disk
例:CPU需要順序(頁參考順序):1,3,6,9,10,4,7…
7p.01
Page Fault 代換策略實作
FIFO(先進先出)
頁參考順序:0,1,2,3,4,2,1,5,6,7,2,3,7,4,5,6,0
Page frame=3
參考順序 0 1 2 3 4 2 1 5 6 7 2 3 7 4 5 6 0
I/O已完成
等I/O完成
WAIT
❖:Short-term scheduler (短程排程器)
:Medium-term scheduler (中程排程器)
14p.01
Process Management (程序管理)
Process Scheduler (程序排程器)的目標 System Balance (系統平衡)
Page Fault
** ***
*** *
** *
共發生 page fault (*)= 12 次
12p.01
自我練習
Optimal(取代最晚才會再用的)
頁參考順序:1,2,3,4,5,0,1,4,5,6,7,4,5,6,7,1,0 Page frame=4
參考順序
PF 0 PF 1 PF 2 PF 3 Fault
Disk Memory Time out
RUN
User1 submit Job1 User2 submit Job2
Job Queue Jn…J3,J2,J1
Ready
❖
…
Usern submit Jobn
Pn…P3,P2,P1
Ready Queue
:Long-term scheduler (長程排程器)
PaPgaegfera1me
PaPgaegfera3me
PaPgaegfera6me
CPU
PaPgaegfera9me
Main Memory
Page 1
Page 2
某
Page 3
段
程
Page 4
式
Page 5
或
Page 6
一
Page 7
段
資
Page 8
料
Page 9
Page 10
? Page Fault
6p.01
Virtual Memory虛擬記憶體
Page Fault 代換策略
1. FIFO (First In First Out)
先進先出,最直觀,效果差
2. LRU (Least Recently Used)
最近最久未用,合理
3. Optimal
最晚才會再用,最佳,理論上限
4. Random:實際上使用
優點
1. 使User的程式不受實際Memory容量的限制。 2. Memory內部程式/資料的保護。 3. Memory內部資訊的共享(sharing)。
作法
1. Demand Page(分頁):以Mem的使用為主,將程式/資 料分成等量大小(頁),沒有fragment(碎片)。
2. Demand Segment(分段):以程式的保護為主,根據程 式性質,分成數個大小不同的區段(段),有fragment (碎片)。
PF 0 0 0 0 30 3 3 3 53 5 5 52 2 2 2 52 5 5
PF 1
1 1 1 41 4 4 4 64 6 6 36 3 3 3 63 6
PF2
2 2 2 2 12 1 1 71 7 7 7 47 4 4 04
Page Fault
Baidu Nhomakorabea** ***
*** ***
* ** *
共發生 page fault (*)= 15 次
頁參考順序:0,1,2,3,4,2,1,5,6,7,2,3,7,4,5,6,0 Page frame=3
參考順序 0 1 2 3 4 2 1 5 6 7 2 3 7 4 5 6 0
PF 0 0 0 0 30 3 3 31 1 1 17 7 7 7 7 7 67 6
PF 1
1 1 1 41 4 4 54 5 5 25 2 2 42 4 4 04
8p.01
自我練習
FIFO(先進先出)
頁參考順序:1,2,3,4,5,0,1,4,5,6,7,4,5,6,7,1,0 Page frame=4
參考順序
PF 0 PF 1 PF 2 PF 3 Fault
共發生 page fault (*)= 次
9p.01
Page Fault 代換策略實作
LRU(最近最久未用) Least Recently Used
共發生 page fault (*)= 次
13p.01
Process Management (程序管理)
Process (程序)
一段執行中的程式碼(a program in execution)
Process 的 STD (State Transition Diagram) 狀態轉換圖
Complete
0
Average Waiting Time
=(0+(10-3)+(14-5)+(19-7))/4=7#
3 5 7 10 14
19
23
代表process已經進入ready queue中等待,但尚未執行
Average Turnaround Time
=(10+(14-3)+(19-5)+(23-7))/4=12.75#
Average Turnaround Time=?
18p.01
Process Scheduling 程序排程
Non-Preemptive (不可插隊式)
SJF 最短先做 (Shortest Job First)
Process # 1 2 3 4
Burst Time 10 4 5 4
Arrived Time 0 3 5 7
用於Special-Purpose電腦系統,如飛機自動導航/駕駛 系統,證卷交易系統。(事關人命,金錢交易)
3p.01
計算機作業方式
3. On-Line(線上作業) Off-Line(離線作業)
I/O設備與主機有實體連線,能立即作I/O處理,為Real time的必要條件。
變化:分散式系統中,電腦透過網路,與系統取得連 線。
程序大致可分為
1. I/O bound:大多數時間在做I/O,如Word。 2. CPU bound:大多數時間在跑CPU,如TV game。
Scheduler(排程器)為使CPU,I/O同時忙碌,故 以I/O bound process(程序)為優先選擇。
15p.01
Process Management (程序管理)
20p.01
Process Scheduling 程序排程
Preemptive (可插隊式)
1. 解釋名詞:
Average Turnaround Time:平均迴轉時間
程序從進入ready queue後,到全部完成的平均時間。
Average Waiting Time:平均等待時間
1. 程序從進入ready queue後,到全部完成的平均等待時間。
16p.01
Process Scheduling 程序排程
自我練習
Non-Preemptive (不可插隊式)
SJF 最短先做 (Shortest Job First)
Process # 1 2 3 4
Burst Time 10 6 3 5
Arrived Time 0 3 5 7
p4 p3 P2 p1
Average Waiting Time=?
Average Turnaround Time=?
(library),公用程式(utility)
2p.01
計算機作業方式
1. Batch(批次):將程式及資料事先準備好(一疊卡 片,一個.bat檔)交給電腦一次完成。
適用於周期性,時效要求低的作業。如:聯考閱卷, 稅務申報等。
2. Real Time(即時):輸入資料後立即處理,並在 一定時限內產生輸出。(Response time ≦時限)
17p.01
自我練習
Non-Preemptive (不可插隊式)
FCFS 先來先做 (First Come First Serve)
Process # 1 2 3 4
Burst Time 10 6 3 5
Arrived Time 0 3 5 7
p4 p3 P2 p1
Average Waiting Time=?
p4 p3 P2 p1 ●
● ● ●
Average Waiting Time
0
3 5 7 10 14 18
23
=(0+(10-3)+(18-5)+(14-7))/4=6.75#
Average Turnaround Time =(10+(14-3)+(23-5)+(18-7))/4=12.5#
19p.01
PF 0 PF 1 PF 2 PF 3 Fault
共發生 page fault (*)= 次
11p.01
Page Fault 代換策略實作
Optimal(取代最晚才會再用的) 效果最好理論上限,但 不可行
頁參考順序:0,1,2,3,4,2,1,5,6,7,2,3,7,4,5,6,0
Page frame=3
Process 的排程策略
1. Non-Preemptive(不可插隊式)
1. FCFS (First Come First Serve):先來先做 2. SJF (Shortest Job First):最短先做
2. Preemptive(可插隊式)
3. RR (Round-Robin):啄木鳥/Time-sharing,適用於一般電腦。 4. SRTF (Shortest Remaining Time First):最短剩餘時間優先。
由OS控制
4p.01
計算機作業方式
5. Multiprogramming(多工程式處理)-1970’s
同時(currently)執行數個程式(以軟體方式),各個程式 感覺是同時執行。
6. Multiprocessing(多元處理)-1970’s
同時(simultaneously)執行數個程式(以硬體方式),格 個程式真正是同時執行。
參考順序 0 1 2 3 4 2 1 5 6 7 2 3 7 4 5 6 0
PF 0 0 0 0 03 34 4 4 4 4 4 4 4 4 4 54 5 5
PF 1
1 1 1 1 1 1 51 65 76 7 7 7 7 7 67 6
PF2
2 2 2 2 2 2 2 2 2 32 3 3 3 3 03
4. Time-Sharing(分時作業)
Multiprogramming的一種,各程式分配一段時間輪流 交替執行,為最普遍的執行方式(公平,簡單,效果不 錯)
Multiprogramming:電腦Memory內有2個以上互不相 關的程式可同時被執行,CPU交替執行之,使得User 產生電腦專屬執行某一程式的錯覺。
作業系統簡介
1p.01
作業系統(Operating System)的目的
1. 方便的人機介面
命令列介面:Command line,如DOS 圖形化使用者介面:GUI (Graphic User Interface),如
Windows XP,Mac OS等
2. 有效的管理資源
1. Memory:虛擬記憶體(virtual memory) 2. Processor:程序排程(process scheduling) 3. Device:死結 (dead lock) 4. Information:檔案(file) 5. Others:載入(loader),鏈結(linker),庫存程式
PF2
2 2 2 2 2 2 62 6 6 36 3 3 53 5 5
Page Fault
** ***
*** ***
* ** *
共發生 page fault (*)= 15 次
10p.01
自我練習
LRU(最近最久未用) Least Recently Used
頁參考順序:1,2,3,4,5,0,1,4,5,6,7,4,5,6,7,1,0 Page frame=4
Non-Preemptive (不可插隊式)
代表process進入CPU 中開始執行
1. FCFS 先來先做 (First Come First Serve)
Process # 1 2 3 4
Burst Time 10 4 5 4
Arrived Time 0 3 5 7
p4 p3 P2 p1 ●
● ● ●
7. Multitasking(多工處理)-1980’s
電腦Memory內有2個以上屬於同一程式的工作(task)可 被同時執行。
Task:執行一個特定功能的一段程序(副程式)
8. Multithreading(多序執行)-1990’s
如Java
5p.01
Virtual Memory虛擬記憶體
Hard Disk
例:CPU需要順序(頁參考順序):1,3,6,9,10,4,7…
7p.01
Page Fault 代換策略實作
FIFO(先進先出)
頁參考順序:0,1,2,3,4,2,1,5,6,7,2,3,7,4,5,6,0
Page frame=3
參考順序 0 1 2 3 4 2 1 5 6 7 2 3 7 4 5 6 0
I/O已完成
等I/O完成
WAIT
❖:Short-term scheduler (短程排程器)
:Medium-term scheduler (中程排程器)
14p.01
Process Management (程序管理)
Process Scheduler (程序排程器)的目標 System Balance (系統平衡)
Page Fault
** ***
*** *
** *
共發生 page fault (*)= 12 次
12p.01
自我練習
Optimal(取代最晚才會再用的)
頁參考順序:1,2,3,4,5,0,1,4,5,6,7,4,5,6,7,1,0 Page frame=4
參考順序
PF 0 PF 1 PF 2 PF 3 Fault
Disk Memory Time out
RUN
User1 submit Job1 User2 submit Job2
Job Queue Jn…J3,J2,J1
Ready
❖
…
Usern submit Jobn
Pn…P3,P2,P1
Ready Queue
:Long-term scheduler (長程排程器)
PaPgaegfera1me
PaPgaegfera3me
PaPgaegfera6me
CPU
PaPgaegfera9me
Main Memory
Page 1
Page 2
某
Page 3
段
程
Page 4
式
Page 5
或
Page 6
一
Page 7
段
資
Page 8
料
Page 9
Page 10
? Page Fault
6p.01
Virtual Memory虛擬記憶體
Page Fault 代換策略
1. FIFO (First In First Out)
先進先出,最直觀,效果差
2. LRU (Least Recently Used)
最近最久未用,合理
3. Optimal
最晚才會再用,最佳,理論上限
4. Random:實際上使用
優點
1. 使User的程式不受實際Memory容量的限制。 2. Memory內部程式/資料的保護。 3. Memory內部資訊的共享(sharing)。
作法
1. Demand Page(分頁):以Mem的使用為主,將程式/資 料分成等量大小(頁),沒有fragment(碎片)。
2. Demand Segment(分段):以程式的保護為主,根據程 式性質,分成數個大小不同的區段(段),有fragment (碎片)。
PF 0 0 0 0 30 3 3 3 53 5 5 52 2 2 2 52 5 5
PF 1
1 1 1 41 4 4 4 64 6 6 36 3 3 3 63 6
PF2
2 2 2 2 12 1 1 71 7 7 7 47 4 4 04
Page Fault
Baidu Nhomakorabea** ***
*** ***
* ** *
共發生 page fault (*)= 15 次
頁參考順序:0,1,2,3,4,2,1,5,6,7,2,3,7,4,5,6,0 Page frame=3
參考順序 0 1 2 3 4 2 1 5 6 7 2 3 7 4 5 6 0
PF 0 0 0 0 30 3 3 31 1 1 17 7 7 7 7 7 67 6
PF 1
1 1 1 41 4 4 54 5 5 25 2 2 42 4 4 04
8p.01
自我練習
FIFO(先進先出)
頁參考順序:1,2,3,4,5,0,1,4,5,6,7,4,5,6,7,1,0 Page frame=4
參考順序
PF 0 PF 1 PF 2 PF 3 Fault
共發生 page fault (*)= 次
9p.01
Page Fault 代換策略實作
LRU(最近最久未用) Least Recently Used
共發生 page fault (*)= 次
13p.01
Process Management (程序管理)
Process (程序)
一段執行中的程式碼(a program in execution)
Process 的 STD (State Transition Diagram) 狀態轉換圖
Complete
0
Average Waiting Time
=(0+(10-3)+(14-5)+(19-7))/4=7#
3 5 7 10 14
19
23
代表process已經進入ready queue中等待,但尚未執行
Average Turnaround Time
=(10+(14-3)+(19-5)+(23-7))/4=12.75#
Average Turnaround Time=?
18p.01
Process Scheduling 程序排程
Non-Preemptive (不可插隊式)
SJF 最短先做 (Shortest Job First)
Process # 1 2 3 4
Burst Time 10 4 5 4
Arrived Time 0 3 5 7
用於Special-Purpose電腦系統,如飛機自動導航/駕駛 系統,證卷交易系統。(事關人命,金錢交易)
3p.01
計算機作業方式
3. On-Line(線上作業) Off-Line(離線作業)
I/O設備與主機有實體連線,能立即作I/O處理,為Real time的必要條件。
變化:分散式系統中,電腦透過網路,與系統取得連 線。
程序大致可分為
1. I/O bound:大多數時間在做I/O,如Word。 2. CPU bound:大多數時間在跑CPU,如TV game。
Scheduler(排程器)為使CPU,I/O同時忙碌,故 以I/O bound process(程序)為優先選擇。
15p.01
Process Management (程序管理)
20p.01
Process Scheduling 程序排程
Preemptive (可插隊式)
1. 解釋名詞:
Average Turnaround Time:平均迴轉時間
程序從進入ready queue後,到全部完成的平均時間。
Average Waiting Time:平均等待時間
1. 程序從進入ready queue後,到全部完成的平均等待時間。
16p.01
Process Scheduling 程序排程
自我練習
Non-Preemptive (不可插隊式)
SJF 最短先做 (Shortest Job First)
Process # 1 2 3 4
Burst Time 10 6 3 5
Arrived Time 0 3 5 7
p4 p3 P2 p1
Average Waiting Time=?
Average Turnaround Time=?
(library),公用程式(utility)
2p.01
計算機作業方式
1. Batch(批次):將程式及資料事先準備好(一疊卡 片,一個.bat檔)交給電腦一次完成。
適用於周期性,時效要求低的作業。如:聯考閱卷, 稅務申報等。
2. Real Time(即時):輸入資料後立即處理,並在 一定時限內產生輸出。(Response time ≦時限)
17p.01
自我練習
Non-Preemptive (不可插隊式)
FCFS 先來先做 (First Come First Serve)
Process # 1 2 3 4
Burst Time 10 6 3 5
Arrived Time 0 3 5 7
p4 p3 P2 p1
Average Waiting Time=?
p4 p3 P2 p1 ●
● ● ●
Average Waiting Time
0
3 5 7 10 14 18
23
=(0+(10-3)+(18-5)+(14-7))/4=6.75#
Average Turnaround Time =(10+(14-3)+(23-5)+(18-7))/4=12.5#
19p.01