Professional Documents
Culture Documents
作者 : 陳鍾誠
單位 : 金門技術學院資管系
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 驅動程式
7 陳鍾誠 - 01/17/10
分層結構
分為數層,上層可以呼叫下一層,但不能越級
。
缺點:層次太多時,速度容易便慢。
8 陳鍾誠 - 01/17/10
分層結構 - Linux
使用者
命令直譯程式
編譯器和直譯器
系統函式庫
核心的系統呼叫介面
訊號 檔案系統 CPU 排程
終端機處理 置換 分頁替換
終端機驅動程式 區塊 I/O 系統 需求分頁
字元 I/O 系統 磁碟和磁帶驅動程式 虛擬記憶體
硬體的核心介面
終端機控制器 裝置控制器 記憶體控制器
終端機 磁碟、磁帶、光碟
9 記憶體
陳鍾誠 - 01/17/10
微核心結構
微核心是盡量讓功能移到系統與應用程式上,作業系統只
保留必要的功能
必要的功能 : 如 排程,記憶體管理 等。
微核心的優點是作業系統容易擴充與維護。
Ex : Mach
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