作業系統的結構 日期 : 2018/9/17
作業系統是軟硬體介面 硬體 作業系統 軟體 2 陳鍾誠 - 2018/9/17
作業系統與其他課程的關係 數位邏輯 計算機結構 作業系統 應用程式 組合語言 + C 語言 3 陳鍾誠 - 2018/9/17
現今常用作業系統的種類 RedHat Fedora Linux Debian Ubuntu Minix UNIX FreeBSD 作業系統 Win3.1 Microsoft Windows Win95 DOS WinNT WinCE 4 陳鍾誠 - 2018/9/17
作業系統的結構分類 簡單結構 : Ex : MS-DOS 分層結構 : Ex : Linux 微核心結構 : Ex : Mach 虛擬機器結構 : Ex : Java 5 陳鍾誠 - 2018/9/17
簡單結構 通常是單使用者的系統採用 例如: MS-DOS 沒有排程,一次只能執行一個程式。 每個程式都可以使用全部記憶體,不需要太多的記憶體管理。 支援磁碟機輸出入功能的函數,因此、稱為 Disk Operating System 6 陳鍾誠 - 2018/9/17
簡單結構 – MS-DOS 應用程式 常駐程式 MS-DOS驅動程式 ROM BIOS 驅動程式 7 陳鍾誠 - 2018/9/17
分層結構 分為數層,上層可以呼叫下一層,但不能越級。 缺點:層次太多時,速度容易便慢。 8 陳鍾誠 - 2018/9/17
分層結構 - Linux 使用者 命令直譯程式 編譯器和直譯器 系統函式庫 核心的系統呼叫介面 訊號 終端機處理 終端機驅動程式 字元 I/O 系統 檔案系統 置換 區塊I/O系統 磁碟和磁帶驅動程式 CPU排程 分頁替換 需求分頁 虛擬記憶體 硬體的核心介面 終端機控制器 終端機 裝置控制器 磁碟、磁帶、光碟 記憶體控制器 記憶體 9 陳鍾誠 - 2018/9/17
微核心結構 微核心是盡量讓功能移到系統與應用程式上,作業系統只保留必要的功能 微核心的優點是作業系統容易擴充與維護。 必要的功能 : 如 排程,記憶體管理 等。 微核心的優點是作業系統容易擴充與維護。 Ex : Mach 微核心有時會設計成 Client – Server 架構 Ex : MINIX 10 陳鍾誠 - 2018/9/17
虛擬機器結構 硬體 虛擬機器 核心 行程 11 陳鍾誠 - 2018/9/17
虛擬機器的範例 虛擬機器要能夠模擬出實體機器所提供的功能給使用者。 虛擬機器和實體機器主要的不同在於執行的時間差異: 虛擬機器在處理 I/O 時是用週邊並行的方式,所以可以節省一些時間。 虛擬機器必須要直譯每個指令,這又會浪費一些時間。 12 陳鍾誠 - 2018/9/17
虛擬機器的範例 - JAVA Java 的虛擬機器稱為 Java Virtual Machine (JVM) Java 在 PC 上的虛擬機器即是 Java.exe 程式 Java hello 虛擬機器執行的通常是虛擬位元碼 (byte code),而非機器碼 這些位元碼必須經過解譯或即時編譯。 Java 採用即時編譯,稱為 JIT (Just In Time) Compiler 13 陳鍾誠 - 2018/9/17
更多虛擬機器的範例 PC 上的虛擬機器 可用來灌數種作業系統在同一台機器上,但不需要作多重開機。 VMWare : Virtual PC : 很快、因為採用編譯式的架構。 Virtual PC : 已被 Microsoft 併購。 Bochs (Box) : 最慢、但是跨平台,在 MAC 上也可以執行 PC 的程式。 開放原始碼,免費、常被用來作為修改 Linux 核心的測試平台。 14 陳鍾誠 - 2018/9/17
作業系統的實作 早期的作業系統都是以組合語言寫成的。 C 語言市最常被用來寫作業系統的高階語言 現今的作業系統通常用高階語言和組合語言混合來寫: Ex : Linux, Windows C 語言市最常被用來寫作業系統的高階語言 Ex : Linux, Windows, uC/OS2, 15 陳鍾誠 - 2018/9/17
高階語言撰寫作業系統 缺點 優點 減少程式開發的時間 程式碼更精簡 容易瞭解 方便除錯 編譯器可以最佳化 容易移植 執行速度較慢 需要較大的執行空間 16 陳鍾誠 - 2018/9/17