1 / 78

作業系統概述 Operating System Overview

作業系統概述 Operating System Overview. 第 2 章. 作業系統 Operating System. 一個控制應用程式如何執行的程式 扮演應用程式與電腦硬體之間的介面. 作業系統的目標 Operating System Objectives. 方便性 (Convenience) 讓電腦更方便使用 有效率 (Efficiency) 讓電腦系統資源的利用更有效率 有演進能力 (Ability to evolve) 能夠有效率的開發 、 測試與加入新功能,而不會干擾到它的服務品質.

Download Presentation

作業系統概述 Operating System Overview

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 作業系統概述Operating System Overview 第 2 章

  2. 作業系統Operating System • 一個控制應用程式如何執行的程式 • 扮演應用程式與電腦硬體之間的介面

  3. 作業系統的目標Operating System Objectives • 方便性(Convenience) • 讓電腦更方便使用 • 有效率(Efficiency) • 讓電腦系統資源的利用更有效率 • 有演進能力(Ability to evolve) • 能夠有效率的開發、測試與加入新功能,而不會干擾到它的服務品質

  4. 電腦系統的階層式架構Layers and Views of a Computer System Application Programs Utilities Operating System Computer Hardware

  5. 作業系統提供的服務 Operating System Services • 程式開發(Program Development) • 編輯器(Editor)與除錯器(Debugger) • 程式執行(Program Execution) • 存取I/O裝置(Access to I/O Devices) • 控制檔案的存取(Controlled Access to Files) • 系統存取(System Access) • 系統資源(Resources)

  6. 作業系統提供的服務-1 Operating System Services • 錯誤偵測與回應(Error detection and response) • 內部與外部的硬體錯誤 • 記憶體錯誤 • 裝置故障 • 軟體錯誤 • 除以零 (溢位) • 企圖存取被禁止的記憶體位址 • 作業系統無法達成應用程式的請求

  7. 作業系統提供的服務-2 Operating System Services • 統計資料(Accounting) • 收集各種資源的使用統計 • 監督效能 • 用來預測未來擴充上的需求 • 用來計費

  8. 作業系統 • 當作資源管理者(Resource Manager) • 作用方式與普通的電腦軟體一樣 • 它也是一個或一組由處理器所執行的程式 • 作業系統經常讓出處理器的控制權

  9. 核心程式Kernel • 被載入到主記憶體中的作業系統的一部份 • 內含作業系統最常被使用的函式 • 也稱作nucleus

  10. 作業系統的演進Ease of Evolution of an Operating System • 硬體升級加上新類型硬體的產生 • 新服務 • 修正

  11. 作業系統的演進The Evolution of Operating Systems • 循序處理(Serial Processing) • 沒有作業系統 • 從一台由顯示燈、開關、輸入裝置和印表機等所組成的主控台來操作機器 • 事先安排時間(Scheduling) • 花時間設定(Setup Time) • 設定工作包括載入編譯器和原始程式到記憶體、儲存編譯過的程式,以及執行載入和連結動作 • Job: 單一程式

  12. 作業系統的演進-1 The Evolution of Operating Systems • 簡單批次系統(Simple Batch System) • 監督程式(Monitor) • 控制著一連串事件的軟體 • 將工作分批依序放在一起 • 每個程式執行完畢後便會回到監督程式

  13. 工作控制語言 (JCL)Job Control Language • 一種特殊形式的程式語言 • 提供指令給監督程式 • 使用哪個編譯器 • 使用什麼資料

  14. JCL Example $JOB FORTRAN instructions $RUN Data $END

  15. 硬體功能 • 記憶體保護(Memory Protection) • 內含監督程式的記憶體區域絕對不能被修改 • 計時器(Timer) • 預防單一工作獨佔整個系統

  16. 硬體功能-1 • 特權指令(Privileged Instructions) • 某些機器層級的指令只能由監督程式來執行 • 中斷(Interrupts) • 早期的電腦並無此功能

  17. 記憶體保護 • 使用者程式是在使用者模式(User Mode)下執行 • 無法執行某些指令 • 監督程式是在系統模式下執行 • 核心模式(Kernel Mode) • 可以執行特權指令 • 可存取保護區域內的記憶體

  18. I/O裝置的速度很慢

  19. 單一程式處理 • 單程式 (uniprogramming) 技術 • 處理器必須等待直到I/O指令完成後才能繼續執行

  20. 多元程式處理Multiprogramming (Multitasking) • 多元程式處理 (multiprogramming) 技術 • 當一個工作正在等待I/O時,處理器可以切換執行另一個工作

  21. 多元程式處理-1

  22. 範例 電腦配備:250MB可用記憶體、磁碟、終端機

  23. 分時系統Time-Sharing System • 使用多元程式處理技術來管理多個交談式(Interactive)的工作 • 處理器的時間被多個使用者所共享 • 多個使用者同時透過終端機來存取系統

  24. Response Time: 反應時間

  25. CTSS系統 第一個被發展出來的分時系統 (在MIT) 系統每0.2秒中斷一次

  26. 主要的成就Major Achievements • 行程(Processes) • 記憶體管理(Memory Management) • 資訊的保護與安全(Information Protection and Security) • 排程與資源管理(Scheduling and Resource Management) • 系統結構(System Structure)

  27. 行程Process • 一個在執行中的程式(a program in execution) • 一個在電腦上執行的程式其個體 (instance) • 一個能被指定給處理器並在處理器上執行的實體 (entity) • 一個活動的單位(unit of activity),代表一連串指令的執行、它目前的狀態,以及相關的一組系統資源

  28. 設計系統軟體的困難 • 不當的同步(Improper Synchronization) • 確保正在等待某個I/O裝置的行程會收到信號 • 失敗的互斥(Failed Mutual Exclusion) • 不確定的程式運作(Non-determined Program Execution) • 程式的結果應該依據輸入資料而定,而不應該受到其他程式的影響 • 死結(Deadlocks)

  29. 行程-1 • 由下列三個元件所組成 • 一個可執行的程式 • 程式所需的相關資料 • 程式的執行序文資訊 • 作業系統用來管理該行程所需的全部資訊 • Execution context/Process state

  30. Context

  31. 記憶體管理Memory Management • 行程的隔離(Process isolation) • 自動配置與管理(Automatic allocation and management) • 模組化程式設計的支援(Support of modular programming) • 保護與存取控制(Protection and access control) • 長期的儲存空間(Long-term storage)

  32. 虛擬記憶體Virtual Memory • 讓程式設計人員從邏輯觀點對記憶體定址,不用考慮到可用的實體記憶體大小 • Virtual Address • Real Address • 方便管理當主記憶體中有多個使用者的工作同時存在的情況

  33. 虛擬記憶體與檔案系統 • 長期性的保存方法 • 檔案系統(File System)將資訊儲存在一個個被稱為檔案的物件中

  34. 分頁處理Paging • 行程是由一堆固定大小的記憶體區塊所組成,這些區塊稱為分頁(Page) • 虛擬位址(Virtual Address)是由頁碼(Page Number)和位移值(Offset)所組成 • 行程的每個分頁可能會被載入到主記憶體的任何地方 • 主記憶體內的真實位址 (或稱實體位址, Real Address, Physical Address)

  35. 資訊的保護與安全Information Protection and Security • 可用性(Availability) • 關於如何保護系統以避免干擾 • 機密性(Confidentiality) • 確保使用者不會讀取到未經許可的資料

  36. 資訊的保護與安全-1 • 資料整合(Data Integrity) • 保護資料以避免未經許可的修改 • 驗證(Authenticity) • 有關如何適當的確認使用者的身分,以及訊息或資料的有效性

  37. 排程和資源的管理Scheduling and Resource Management • 公平性(Fairness) • 給予相等與公平存取資源的機會 • 回應的差別待遇(Differential Responsiveness) • 對不同等級的工作必須有差別待遇 • 效率(Efficiency) • 讓產出率最大化、讓回應時間最小化,並且盡可能容納最多的使用者

  38. 佇列:Queue

  39. 系統結構System Structure • 將作業系統看成一連串的階層(Level) • 每個階層負責執行作業系統的部份功能需求 • 每個階層仰賴下一個更低的階層來執行更基本的功能 • 將一個問題分解成一些更容易管理的小問題

  40. 系統結構-1硬體階層 • 階層1 • 電子電路 • 物件為暫存器、記憶體和邏輯閘 • 動作包括清除暫存器或讀取記憶體位置 • 階層2 • 處理器的指令集 • 動作例如add、subtract、load及store

  41. 系統結構-2行程硬體階層 • 階層3 • 增加了程序或副程式的概念,再加上呼叫 / 返回等動作 • 階層4 • 中斷

  42. 系統結構-3多元程式處理的概念 • 階層5 • 行程(正在執行中的程式) • 暫停和恢復執行各行程 • 階層6 • 輔助儲存裝置 • 真正搬移資料區塊 • 階層7 • 為行程建立邏輯位址空間 • 將虛擬位址空間組織成區塊

  43. 系統結構-4處理外部物件 • 階層8 • 負責資訊通訊及行程之間訊息的處理 • 階層9 • 支援檔案的長期儲存裝置 • 階層10 • 使用標準介面來提供外部裝置的存取

More Related