3.1 Resource Management
Process
- Program: 一串的指令。 (Passive entity)
- Process: 正在執行的program (Active entity)
- job: 集中多個處理事項一起處理(批次),可以由 多個job step (a program)組成
Process Management 的工作
- cration, deletion, suspension, resumption
- 提供機制: process 的同步, 溝通, 死結
Memory Management
- 跟蹤process的使用狀況
- 決定process是否獲取記憶體,分配的記憶體數量
- 分配與取消分配
Device Management
- 跟蹤週邊設備連接狀態
- 優化設備
- 分配與取消分配設備
- buffer快取系統
- 驅動界面
- 透過驅動程式驅動特別的硬體
Information Management
- 處理檔案增減
- 追蹤檔案資訊
- 必須支持檔案處理的指令
- 映射檔案入二級儲存裝置
3.2 System call
如何傳遞System call的參數
- register
- Pass block address: 在記憶體特定位置擺入參數
- Stack: 在stack放入參數
System call的類型
管理
- Process
- file
- Device
- Information
- Communications
並且System避免程式直接動用系統資源, 因此透過System Call由OS間接使用系統資源。
Communication
- Message Passing Model: IPC
- Shared Memory model: 共用相同的Share Memory,依然需要透過System call將 資料擺入記憶體
3.3 System Structure
分層結構,分離作業系統各個管理功能,並且模組化與系統化。
多層保護,以免crash,上層System call必須層層呼叫進入Kernel進行多層保護, 並且內層不可往外層呼叫
不更改界面的情況下,更換任一層不影響其他層。
- External view: 使用者能看到的部份,kernel之上層(不包含
- Internal view: kernel與底下的層
3.4 Virtual Machine
使用者認為虛擬資源都是自己擁有的,並且透過 作業系統將虛擬資源轉換成實際資源並操縱
使用者的程式有自己的
- cpu: 背後必須要有Time Sharing
- 記憶體: virtual memroy
- 支持Spooling
作業系統提供
- Time Multiplex: 即為time Sharing
- Space Multiplex: 為Multiprogramming
作業系統提供分層結構,使程式只需要專注於邏輯設計, 而底層細微操控則由作業系統處理。
VM其他的概念
Process Virtual Mechine
- JVM
- Java Virtual Machine: 也僅需要專注邏輯設計而不與機器相關,也為VM
System Virtual Mechine
- qemu-system
- virtual box
- 電腦模擬不同架構的電腦功能也為VM
- 作業系統,模擬其他系統
3.5 System Design and Implementation
作業系統分離Mechanism,Policy
- Mechanism: 能夠使用的基本功能,如何作(function)
- Policy: 透過機制進行特定工作,作什麼事情(parameters)
政策改變僅需要更改參數即可
3.6 System Generation 安裝
安裝系統時,可能需要對Policy進行調整等,以批配機器。
Other
- 微核心: 只留下必要功能,可用於嵌入式系統
Operating System