Presentation is loading. Please wait.

Presentation is loading. Please wait.

國立聯合大學 資訊管理學系 陳士杰老師 前置觀念 : 系統基礎概念. 國立聯合大學 資訊管理學系 資料庫系統課程 ( 陳士杰 ) 2 Outline On line v.s. Off line Process 硬體保護 Caching I/O Structure Deadlock.

Similar presentations


Presentation on theme: "國立聯合大學 資訊管理學系 陳士杰老師 前置觀念 : 系統基礎概念. 國立聯合大學 資訊管理學系 資料庫系統課程 ( 陳士杰 ) 2 Outline On line v.s. Off line Process 硬體保護 Caching I/O Structure Deadlock."— Presentation transcript:

1 國立聯合大學 資訊管理學系 陳士杰老師 前置觀念 : 系統基礎概念

2 國立聯合大學 資訊管理學系 資料庫系統課程 ( 陳士杰 ) 2 Outline On line v.s. Off line Process 硬體保護 Caching I/O Structure Deadlock

3 國立聯合大學 資訊管理學系 資料庫系統課程 ( 陳士杰 ) 3 von Neumann model von Neumann model The data and program are stored as binary patterns in memory CPU

4 國立聯合大學 資訊管理學系 資料庫系統課程 ( 陳士杰 ) 4 ■ On line v.s. Off-line CPU P1P1 Hard Disk Printer On-line Main Memory ①資料 1 ②資料 1 ②執行 資料 1 ③資料 2 ①結果 1 ②結果 1 ③執行 其它工作 或 ③結果 2 I/O Device

5 國立聯合大學 資訊管理學系 資料庫系統課程 ( 陳士杰 ) 5 正在執行中的程式 Def: 正在執行中的程式 (A program in execution) 。 Process 主要包含有:  Code Section ( 程式碼、程式區間 )  Data Section ( 資料區間 )  Program Counter ( 程式計數器 )  CPU Register 如 : 通用暫存器、基底 ( 限制 ) 暫存器 … 。  Stack 相互 Call 來 Call 去從事遞迴工作存放返回 位址 ∵多個 Process 之間會相互 Call 來 Call 去及從事遞迴工作,用以存放返回 位址。 檔案 (File) 程式未執行時,只是一個存放在電腦硬碟中的檔案 (File) 。 Process( 行程 ) 存放於 Memory Space

6 國立聯合大學 資訊管理學系 資料庫系統課程 ( 陳士杰 ) 6 Process 與 Program 的不同 ProcessProgram 主動 (Active) 被動 (Passive) 帶有 Program Counter ,用以指出 下一個指令所在 儲存於次儲存體 (e.g., Disk) 中的檔 案

7 國立聯合大學 資訊管理學系 資料庫系統課程 ( 陳士杰 ) 7 行程狀態圖 (Process State Transition Diagram) 描述 Process 由 開始到結束的生命週期 (Life-Cycle) Process 在執行時會改變其狀態。而 Process STD 則是用以描述 Process 由 開始到結束的生命週期 (Life-Cycle) ,而一個 Process 在此週期中會經 歷數種狀態。 Initial 在 Initial 時,稱 Program 為 Job (J 1, J 2, J 3 ) Job Queue Ready 在 Ready 時,稱 Program 為 Process (P 1, P 2, P 3 ) Ready Queue ① Running ② Terminate ③ Abort ④ ⑤ Block (Wait) ⑥ 此時不會和其它 Process 搶 CPU 或其它 資源。 Process 此時還在 Mem. 中,但不在 Ready Queue ,所以不是 CPU 配置資源的對象, 即 Sleep in Mem. 。 ⑦

8 國立聯合大學 資訊管理學系 資料庫系統課程 ( 陳士杰 ) 8 觸發此狀態圖每一個狀態轉換之行為如下: 引入 ( 或產生 ) 一個新的 Program 到電腦  要引入 ( 或產生 ) 一個新的 Program 到電腦去執行 從記憶體中挑選出一個 Process 到 CPU  要從記憶體中挑選出一個 Process 到 CPU 去執行 做完其工作  一個 Process 做完其工作時,就正常結束 發生不正常結果  一個 Process 發生不正常結果時,就中止 除零 除零 溢位 溢位 短暫中止  發生短暫中止時,會直接回到 Ready 狀態 被高優先權 Process 插隊 被高優先權 Process 插隊 中斷發生 中斷發生 CPU Time Slice Expires CPU Time Slice Expires 較長時間中止  發生較長時間中止時,會將 Process Block 住 Wait for I/O complete Wait for I/O complete Wait for resource available Wait for resource available CPUData 都在 Mem. 此 STD 是控管 CPU 這項資源,且 Data 都在 Mem. 中。

9 國立聯合大學 資訊管理學系 資料庫系統課程 ( 陳士杰 ) 9 Initial Ready Running Terminate Abort Block (Wait) Suspended Block (Disk) ① ② 將 Process 移到 Disk 中,即 Swap Out 的 動作。 Suspended Ready (Disk) 此時資料還 在 Disk 中。 ③ Swap In 的動作。

10 國立聯合大學 資訊管理學系 資料庫系統課程 ( 陳士杰 ) 10 觸發此狀態圖每一個狀態轉換之行為如下: 待在 Mem. 的時間太長 搶 Mem. 這項資源  當 Process 待在 Mem. 的時間太長 ( 被 Block 太久 ) ,或有其它高優先 權的 Process 來搶 Mem. 這項資源。  所等待的 Long-Time Event 發生,或是花費長時間的事情做完了 (e.g., Long-Time I/O complete) 。  將 Process 從 Disk 中引入 Mem. 中的 Ready Queue 。 Mem.Data 都在 Disk 此 STD 是控管 Mem. 這項資源,且 Data 都在 Disk 中。

11 國立聯合大學 資訊管理學系 資料庫系統課程 ( 陳士杰 ) 11 硬體保護 (Hardware Protection) 基礎設施 ( 前題 ) :  雙模式運作 (Dual-Mode Operation)  特權指令 (Privileged Instruction)

12 國立聯合大學 資訊管理學系 資料庫系統課程 ( 陳士杰 ) 12 實施 Protection 的前題 Dual-Mode 運作 系統必須提供 Dual-Mode 運作。 會引起系統危害的指令特權指令 (Privileged Instruction) 必須將會引起系統危害的指令,設定為特權指令 (Privileged Instruction) 。

13 國立聯合大學 資訊管理學系 資料庫系統課程 ( 陳士杰 ) 13 雙模式運作 (Dual-Mode Operation) 系統運作的狀態可分為兩種:  Monitor Mode ( 監督模式 ) O.S. 的 System Process 可以執行的狀態 O.S. 的 System Process 可以執行的狀態。在此模式下, O.S. 掌控對系 統的控制權 Supervisor ModeSystem Mode 又稱 Supervisor Mode 或 System Mode 有權利執行特權指令 (Privileged Instruction) 在此 Mode 下,才有權利執行特權指令 (Privileged Instruction)  User Mode ( 使用者模式 ) User Program 可執行時的 系統狀態 User Program 在此模式下允許被執行,即 User Program 可執行時的 系統狀態 Illegal Instruction Error 錯誤中斷 (Trap) 在此模式下,不能執行特權指令,否則會引起 “ Illegal Instruction Error ” ,產生錯誤中斷 (Trap) , O.S. 會強迫 Process 中止

14 國立聯合大學 資訊管理學系 資料庫系統課程 ( 陳士杰 ) 14 硬體對 Dual-Mode 製作的支援 模式位元 (Mode Bit) Dual-Mode 需要硬體的額外支援,即提供一個模式位元 (Mode Bit) 用以區分此兩種模式,通常  0: 表示 Monitor Mode  1: 表示 User Mode

15 國立聯合大學 資訊管理學系 資料庫系統課程 ( 陳士杰 ) 15 Dual-Mode 的目的 保護作業系統不受錯誤的 User Program 之破壞,即防止 User Program 執行特權指令,造成可能的危害。

16 國立聯合大學 資訊管理學系 資料庫系統課程 ( 陳士杰 ) 16 特權指令的種類 I/O 指令 與記憶體管理有關的暫存器之修改指令 與 Timer 設定有關的指令 Enable/Disable 指令 系統停止 (Halt) 指令 從使用者模式改變到監督模式的指令

17 國立聯合大學 資訊管理學系 資料庫系統課程 ( 陳士杰 ) 17 硬體保護 (I/O Protection) 直接使用 Hardware Device 防止 User Program 在執行時,直接使用 Hardware Device 。 透過 O.S. User Program 必須透過 O.S. 提出 Hardware Request ,再由 O.S. 控制 Hardware 運作,並將 Hardware Result 告知 User Program 。 執行流程:  發出 Hardware Request ,即 System Call ,以轉換 Modes  執行相對應的硬體服務  回傳結果給 O.S.  O.S. 再將結果回傳給 User Program

18 國立聯合大學 資訊管理學系 資料庫系統課程 ( 陳士杰 ) 18 User Program O.S. 相對應的 I/O Service Routines User Mode Monitor Mode    

19 國立聯合大學 資訊管理學系 資料庫系統課程 ( 陳士杰 ) 19 快取 (Caching) 最近 ( 可能是 馬上 ) 就會被再存取 快取 (Caching) 的觀念是:利用快速的記憶體來保存最近 ( 可能是 馬上 ) 就會被再存取的資料。 Caching 和 Cache Memory 不同, Caching 是動名詞,為一種處理 機制; Cache Memory 只是 Caching 的一個例子。 在硬體系統中,快取記憶體 (Cache Memory) 分為兩種:  內建在 CPU  內建在 CPU 中的 L1 快取  在 CPU 之外  在 CPU 之外,稱為 L2 快取 先從 L1 快取尋 找再從 L2 記憶體尋找最後才到主記憶體裡 (RAM) 尋找 L1 快取比 L2 快取記憶體快,所以 CPU 找尋資料時,會先從 L1 快取尋 找,找不到再從 L2 記憶體尋找,最後才到主記憶體裡 (RAM) 尋找。 所以快取記憶體愈大,電腦執行效率就愈大。

20 國立聯合大學 資訊管理學系 資料庫系統課程 ( 陳士杰 ) 20 節省資料收尋的時間 資料命中率 (Cache hit rate) 有多少次數能準 確找出資料 L1 、 L2 快取的設計是用來節省資料收尋的時間。然而,快 取容量加倍,並不代表速度會加倍,是跟資料命中率 (Cache hit rate) 有很大的關係,也就是有多少次數能準 確找出資料。 快取記憶體的容量 由於快取記憶體的容量有限制,所以快取記憶體的管理是 必要

21 國立聯合大學 資訊管理學系 資料庫系統課程 ( 陳士杰 ) 21 I/O 結構 (I/O Structure) I/O 結構 (I/O Structure) 是討論當 User Process 發出 I/O Request 後,控制權多久會交 還給 User Process? User Process 可不可以繼續往下執行 ?  即: User Process 可不可以繼續往下執行 ? 有兩種架構 :  Synchronous I/O structure ( 同步 I/O 架構 )  Asynchronous I/O structure ( 非同步 I/O 架構 )

22 國立聯合大學 資訊管理學系 資料庫系統課程 ( 陳士杰 ) 22 同步 I/O 結構 (Synchronous I/O Structure) 當 I/O 完成運作後 是當 I/O 完成運作後才會將控制權 交還給 User Process 。 只有一個 I/O 請求產生  優點:在一段時間內只有一個 I/O 請求產生。 ∴當 I/O Complete 中斷 產生時, O.S. 即知是由何種 Device 發出。 並行的 I/O 處理  缺點:不允許並行的 I/O 處理。

23 國立聯合大學 資訊管理學系 資料庫系統課程 ( 陳士杰 ) 23 非同步 I/O 結構 (Asynchronous I/O structure) 立刻將控制權交還給 User Process 立刻將控制權交還給 User Process , 不需空等 I/O 運作完成。 在一段時間內可有多個 I/O Request 同時發生。 “Device Status Table” 各種 Device 的位址 使用狀況位於某 Device 的 I/O 請 求之執行狀況 O.S. 必須有一個 “Device Status Table” 以記錄各種 Device 的位址、 使用狀況和位於某 Device 的 I/O 請 求之執行狀況。

24 國立聯合大學 資訊管理學系 資料庫系統課程 ( 陳士杰 ) 24 裝置狀態表 (Device-Status Table) 裝置:讀卡機一號 狀態:閒置 裝置:印表機三號 狀態:忙碌 裝置:磁碟一號 狀態:閒置 裝置:磁碟二號 狀態:閒置 裝置:磁碟三號 狀態:忙碌...... 印表機要求 位址: 38546 長度: 1372 磁碟三號要求 檔案: xxx 指令:讀取 位址: 43046 長度: 20000 磁碟三號要求 檔案: yyy 指令:寫入 位址: 03458 長度: 500

25 國立聯合大學 資訊管理學系 資料庫系統課程 ( 陳士杰 ) 25 The Deadlock Problem ( 死結問題 ) The Deadlock Problem ( 死結問題 ) 自已掌握住自已所 握有的資源不放又向該群體中的其它行程要求資源的狀況 指的是一群體中被堵塞住的所有行程,這些行程自已掌握住自已所 握有的資源不放,同時又向該群體中的其它行程要求資源的狀況。 Example  假設一個系統中有兩個資源 R 1 與 R 2 ,而且該系統產生出兩個行程 P 1 與 P 2  R 1 已配置給 P 2 , R 2 已配置給 P 1 ,但這兩個行程在執行過程中又向對 方要求對方正在使用中的資源,因此造成系統打結。 P1P1 P2P2 R1R1 R2R2 : Process : Resource : Acquire : Hold

26 國立聯合大學 資訊管理學系 資料庫系統課程 ( 陳士杰 ) 26 Deadlock Characterization ( 死結的特性 ) 當以下四個條件同時成立時,死結就會發生了:  Mutual exclusion ( 互斥 ): 不可共用的型 式一次只能有一個行程使用它 在系統中所提供的資源中,至少有一個資源必須是不可共用的型 式,也就是該資源一次只能有一個行程使用它。 等到該資源被釋放 若其它行程想要使用該資源,則必須等到該資源被釋放才能夠去 用它。  Hold and wait ( 佔用與等候 ): 已佔用至少一個資源正等候其他行程已佔用另外 資源之行程 必須存在一個已佔用至少一個資源且正等候其他行程已佔用另外 資源之行程。 等候狀態 也就是當某個行程已經取得某項系統資源,而且正在要求其它系 統資源的使用權,但該系統資源正被其它的行程所使用,此時該 行程就必須要進入等候狀態。

27 國立聯合大學 資訊管理學系 資料庫系統課程 ( 陳士杰 ) 27  No preemption ( 不可搶先 ): 只能在佔用它的行程在完成工作之後,才會被釋 放 系統所提供的資源只能在佔用它的行程在完成工作之後,才會被釋 放給其它行程使用。  Circular wait ( 循環式等候 ): 等候行程的集合 {P 0, P 1, ……, P n } 必須存在一等候行程的集合 {P 0, P 1, ……, P n } ,其中 P 0 等候的資 源已被 P 1 佔用, P 1 所等候的資源已被 P 2 佔用, …. , P n-1 所等候的資源 已被 P n 佔用,而 P n 所待候的資源已被 P 0 佔用。


Download ppt "國立聯合大學 資訊管理學系 陳士杰老師 前置觀念 : 系統基礎概念. 國立聯合大學 資訊管理學系 資料庫系統課程 ( 陳士杰 ) 2 Outline On line v.s. Off line Process 硬體保護 Caching I/O Structure Deadlock."

Similar presentations


Ads by Google