Kernel 資料結構 (Kernel Data Structures)
介紹作業系統 Kernel 中廣泛使用的基礎資料結構:串列、堆疊、佇列、樹、雜湊映射、位元映射,以及它們在 OS 中的實際應用場景。
介紹作業系統 Kernel 中廣泛使用的基礎資料結構:串列、堆疊、佇列、樹、雜湊映射、位元映射,以及它們在 OS 中的實際應用場景。
介紹作業系統提供的兩大類服務(對使用者有益的服務與維護系統效率的服務),以及使用者與 OS 互動的三種介面:命令列介面(含 Shell 的兩種實作方式)、圖形使用者介面,以及觸控螢幕介面。
介紹作業系統的核心運作機制,包括多程式處理 (Multiprogramming)、多工 (Multitasking)、雙模式保護 (Dual-Mode)、特權指令,以及計時器防止 CPU 無限占用。
從使用者視角與系統視角探討作業系統的功能,釐清 Kernel、System Programs 與 Middleware 的定義與邊界。
介紹設計作業系統的三大核心議題:設計目標(使用者目標與系統目標的分類與模糊性)、機制與策略分離原則(Mechanism vs. Policy,為何分離是靈活性的關鍵)、以及實作語言的演進(Assembly → C/C++,高階語言的優勢與效能的真正來源)。
介紹作業系統的三個重要面向:保護與安全機制 (Protection & Security)、虛擬化技術 (Virtualization) 與虛擬機器管理器 (VMM),以及分散式系統 (Distributed Systems) 的基本概念與網路類型。
深入介紹系統呼叫的本質、API 抽象層的設計動機、系統呼叫介面的運作機制、三種參數傳遞方式,以及六大類系統呼叫(行程控制、檔案管理、裝置管理、資訊維護、通訊、保護)的完整解說。
介紹 OS 附帶的七大類系統程式(系統工具)、從原始碼到執行的完整 Compile-Link-Load 流程(含 Relocatable Object、靜態連結與動態連結的差異、ELF/PE/Mach-O 格式),以及跨平台應用程式面臨的根本障礙與三種解決策略(直譯語言、虛擬機器/RTE、移植),最後說明 ABI 的概念。
介紹作業系統作為資源管理者的六大職責:Process 管理、記憶體管理、檔案系統管理、大容量儲存管理、快取管理,以及 I/O 系統管理。
介紹作業系統在六種現代運算環境中的角色:傳統運算、行動運算、主從式運算、點對點運算、雲端運算,以及即時嵌入式系統。
介紹電腦系統依處理器數量的三種架構分類:單處理器、多處理器(SMP、Multicore、NUMA),以及叢集式系統的組成與高可用性機制。
介紹電腦系統的基本架構、中斷機制的完整運作流程(Interrupt Vector、Raise/Catch/Dispatch/Clear)、儲存體層次結構,以及 DMA I/O 的運作方式。