You are on page 1of 16

作業系統的結構

作者 : 陳鍾誠
單位 : 金門技術學院資管系
Email: ccc@kmit.edu.tw
URL :
http://ccc.kmit.edu.tw

日期 : 01/17/10
作業系統是軟硬體介面

硬體 作業系統 軟體

2 陳鍾誠 - 01/17/10
作業系統與其他課程的關係

數位邏輯

計算機結
作業系統 應用程式

組合語言
+
C 語言

3 陳鍾誠 - 01/17/10
現今常用作業系統的種類
RedHat Fedora
Linux
Debian Ubuntu
Minix
UNIX
FreeBSD

作業系統 Win3.1
Microsoft
Windows
Win95

WinNT
DOS
WinCE
4 陳鍾誠 - 01/17/10
作業系統的結構分類
 簡單結構 : Ex : MS-DOS

 分層結構 : Ex : Linux

 微核心結構 : Ex : Mach

 虛擬機器結構 : Ex : Java

5 陳鍾誠 - 01/17/10
簡單結構
 通常是單使用者的系統採用

 例如: MS-DOS

 沒有排程,一次只能執行一個程式。
 每個程式都可以使用全部記憶體,不需要太多的記憶體管
理。
 支援磁碟機輸出入功能的函數,因此、稱為 Disk
Operating System

6 陳鍾誠 - 01/17/10
簡單結構 – MS-DOS
應用程式

常駐程式

MS-DOS 驅動程式

ROM BIOS 驅動程式

7 陳鍾誠 - 01/17/10
分層結構
 分為數層,上層可以呼叫下一層,但不能越級

 缺點:層次太多時,速度容易便慢。

8 陳鍾誠 - 01/17/10
分層結構 - Linux
使用者
命令直譯程式
編譯器和直譯器
系統函式庫
核心的系統呼叫介面
訊號 檔案系統 CPU 排程
終端機處理 置換 分頁替換
終端機驅動程式 區塊 I/O 系統 需求分頁
字元 I/O 系統 磁碟和磁帶驅動程式 虛擬記憶體
硬體的核心介面
終端機控制器 裝置控制器 記憶體控制器
終端機 磁碟、磁帶、光碟
9 記憶體
陳鍾誠 - 01/17/10
微核心結構
 微核心是盡量讓功能移到系統與應用程式上,作業系統只
保留必要的功能

 必要的功能 : 如 排程,記憶體管理 等。

 微核心的優點是作業系統容易擴充與維護。
 Ex : Mach

 微核心有時會設計成 Client – Server 架構


 Ex : MINIX

10 陳鍾誠 - 01/17/10
虛擬機器結構

虛擬機器

硬體
11 陳鍾誠 - 01/17/10
虛擬機器的範例
 虛擬機器要能夠模擬出實體機器所提供的
功能給使用者。
 虛擬機器和實體機器主要的不同在於執行
的時間差異:
 虛擬機器在處理 I/O 時是用週邊並行的方
式,所以可以節省一些時間。
 虛擬機器必須要直譯每個指令,這又會浪費
一些時間。

12 陳鍾誠 - 01/17/10
虛擬機器的範例 - JAVA
 Java 的虛擬機器稱為 Java Virtual Machine
(JVM)
 Java 在 PC 上的虛擬機器即是 Java.exe 程式
 Java hello
 虛擬機器執行的通常是虛擬位元碼 (byte code) ,
而非機器碼
 這些位元碼必須經過解譯或即時編譯。
 Java 採用即時編譯,稱為 JIT (Just In Time) Compiler

13 陳鍾誠 - 01/17/10
更多虛擬機器的範例
 PC 上的虛擬機器
 可用來灌數種作業系統在同一台機器上,但不需要作多重開
機。

 VMWare :
 很快、因為採用編譯式的架構。

 Virtual PC :
 已被 Microsoft 併購。

 Bochs (Box) :
 最慢、但是跨平台,在 MAC 上也可以執行 PC 的程式。
 開放原始碼,免費、常被用來作為修改 Linux 核心的測試平台。

14 陳鍾誠 - 01/17/10
作業系統的實作
 早期的作業系統都是以組合語言寫成的。
 現今的作業系統通常用高階語言和組合語言混合來寫

 Ex : Linux, Windows
 C 語言市最常被用來寫作業系統的高階語言
 Ex : Linux, Windows, uC/OS2,

15 陳鍾誠 - 01/17/10
高階語言撰寫作業系統
 優點
 減少程式開發的時間
 程式碼更精簡
 容易瞭解
 方便除錯
 編譯器可以最佳化
 容易移植
 缺點
 執行速度較慢
 需要較大的執行空間

16 陳鍾誠 - 01/17/10