<style> .red{ color: red; } </style> ## 前言 本系列文章旨在回顧作業系統學科。 ## 參考資料 * [Operating System Concepts, 10 edition](https://www.os-book.com/OS10/) * [Operating System Concepts (slide), 10 edition](https://www.os-book.com/OS10/slide-dir/index.html) * [11001周志遠教授作業系統](https://www.youtube.com/watch?v=1z3QEs9WDmY&list=PLS0SUwlYe8cxj8FCPRoPHAehIiN9Vo6VZ) * [Source code for OS, 10 edition](https://github.com/greggagne/osc10e) ## 簡介與基礎 > What is Operating System? 作業系統(Operating System,簡稱 OS)是一個關鍵的程式,負責在使用者與電腦硬體之間充當中介。 它管理硬體資源,並為應用程式提供基本服務,確保系統操作的高效性與便利性。 作業系統的主要功能包括: - **資源分配者**: 管理硬體資源(如 CPU、記憶體、I/O 設備),並有效地分配給多個程式使用。 - **控制程式**: 確保系統正確運作,負責管理軟體與硬體之間的互動。 透過這些功能,作業系統簡化了使用者的操作,同時最大化了系統效能。 > Computer System Architecture 電腦系統架構由多個層級組成,包括 1. 硬體 2. 作業系統: 資源分配者與控制程式,負責管理硬體並為應用程式提供執行環境。 3. 應用程式 4. 使用者: 關注的是操作的便利性、易用性和性能,而不必直接面對資源管理的細節。 > Computer System Organization  [Image source: Operating System Concepts, 10 edition, page 7](https://www.os-book.com/OS10/) 計算機系統的組織架構通常包含一個或多個中央處理器(CPU)、設備控制器和記憶體,這些元件透過一個 **<span class="red">共用匯流排(bus)</span>** 相連,提供對共享記憶體的訪問。 設備控制器負責管理各種輸入輸出設備,CPU 通過中斷機制與這些設備協調工作,以確保高效運行。 ## 作業系統核心功能 > Spooling (Simultaneous Peripheral Operation On-Line) 允許周邊設備與中央處理單元(CPU)同時運行。 透過將輸入/輸出操作的數據暫存於磁碟或記憶體中,I/O 可以在不需要 CPU 干預的情況下完成,僅當 I/O 完成時才通知 CPU。 這種方式減少了 CPU 等待 I/O 的時間,大幅提高了系統的資源利用率,尤其在多任務環境中顯得尤為重要。 > IO Structure I/O 結構負責管理作業系統與輸入/輸出設備的互動,核心概念包括系統呼叫(System Call)和裝置狀態表(Device-Status Table)。 - **System Call**: 使用者程序通過系統呼叫向操作系統請求 I/O 操作,允許使用者等待 I/O 完成,提供一致的操作界面。 - **Device-Status Table**: 作業系統會維護一個裝置狀態表,其中包含每個 I/O 裝置的類型、地址與狀態資訊,用於跟蹤設備的使用情況與當前狀態。 透過這種結構,作業系統能有效協調多個 I/O 裝置的運行,同時保障系統的穩定性與效率。 > Common Functions of Interrupts 中斷(Interrupts)是作業系統中一個重要的機制,用於在發生特定事件時暫停當前執行的程序,轉而處理優先的任務。  [Image source: Operating System Concepts, 10 edition, page 10](https://www.os-book.com/OS10/) - **Device Driver** 是作業系統中的軟體,負責與硬體設備進行溝通,提供硬體抽象層以便應用程式使用設備功能。 - **Interrupt Handler** 是當發生中斷事件時,作業系統用來處理中斷的程式碼。它負責中斷的識別與適當的回應。 - **I/O Controller** 是硬體裝置,用來管理 CPU 與周邊設備間的數據傳輸,通常負責緩存數據並協調 I/O 操作。 中斷可以分為幾種類型,每種具有不同的功能: - **Hardware Interrupt (Signal)**: 當外部設備(如鍵盤、滑鼠或網路卡)發送信號時,硬體中斷會通知 CPU 停止當前工作,並處理來自外部設備的請求。信號是由作業系統或硬體發送的通知。 - **Software Interrupt (Trap / Exception)**: 軟體中斷是由程式內部的錯誤或特殊條件觸發,如系統呼叫(System Call),或程式需要作業系統介入時。當程式執行過程中發生錯誤(如除以零或訪問無效記憶體),會觸發例外,轉交作業系統進行錯誤處理。  [Image source: 11001周志遠教授作業系統_第4A講 Ch1:Introduction](https://youtu.be/NKCt3nz1uAY?feature=shared) - **Resident Monitor** 是一種系統程式,負責監控與控制多個作業或任務的執行。它通常在作業系統啟動後一直常駐內存,處理資源分配與管理。 - **Interrupt Vector** 是作業系統中一個表格,存儲每種類型的中斷對應的處理程式地址。當中斷發生時,系統根據中斷向量尋找並執行相應的中斷處理程式。 - **Service Routine** 是處理特定任務或事件的程式,通常與中斷處理有關,是作業系統用來處理 I/O 操作或其他系統請求的程式碼。  [Image source: 11001周志遠教授作業系統_第4A講 Ch1:Introduction](https://youtu.be/NKCt3nz1uAY?feature=shared) **<span class="red">中斷機制的核心作用是讓 CPU 能夠高效地分配計算資源,處理多重事件並實現多任務處理。</span>**
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up