本共藉由 {turnoff.us} 的一幅漫畫,介紹 Linux 核心加上關鍵應用程式的組合
1/30/2023Copyright (慣C) 2019 宅色夫 ==直播錄影 (一)== ==直播錄影 (二)== ==直播錄影 (三)== 身處事件視界的企鵝 目標設定 記憶體管理是 Linux 核心裡頭最複雜的部分,涉及到對計算機結構、slob/slab/slub 記憶體配置器、行程和執行檔樣貌、虛擬記憶體對應的例外處理、記憶體映射, UMA vs. NUMA 等等議題。
1/27/2023Copyright (慣C) 2018 宅色夫 ==直播錄影== 充斥歷史痕跡的同步機制 〈UNIX 作業系統 fork/exec 系統呼叫的前世今生〉提及電腦科學家 Melvin Conway 在 1963 年發表論文〈A Multiprocessor System Design〉,正式提出 fork 思想,大約在這個時間點,另一個電腦科學家 Edsger Dijkstra 則以數學定義提出 Semaphore 概念,而早期分時多工作業系統 Compatible Time-Sharing System (CTSS) 則在 1961 年首次進行示範運作,整個作業系統必要的特徵和思維都還在發展,其中包含同步機制。 同步問題陳述: critical section (以下簡稱 CS): 提供對共享變數之存取的互斥控制,從而確保資料正確。
1/27/2023Copyright (慣C) 2019, 2020 宅色夫 ==直播錄影 (上)== ==直播錄影 (下)== 目標設定 Ken Thompson 在 1969 年進行 UNIX 作業系統的早期實驗時 (UNIX 這名稱甚至還沒出現),就發展了檔案系統,而且某些特性輾轉由今日我們所見的 Linux 核心所繼承,這樣長達 50 年的關鍵概念,著實值得我們探討。檔案系統是種邏輯概念,抽象了各式實體儲存裝置,後者像是硬碟、網路儲存,或者主記憶體等等,而種邏輯概念包含檔案、目錄、路徑、檔案屬性等面向,並且於 Linux 核心出現前的 UNIX 就以各種物件導向的途徑予以設計並實作。 Linux 核心為了統合各個檔案系統實作,引入一層虛擬檔案系統 ((Virtual File System, VFS),後者是一組檔案操作的抽象介面,於是依循 VFS 界面開發的任何的檔案系統,可在執行時期掛載到 Linux 核心,在 FUSE (Filesystem in Userspace) 出現後,更給檔案系統開發者極大的彈性,能夠快速且多樣地延展作業系統的特徵,像是你可以透過 FUSE 來掛載 Google Drive 的內容,好似這些遠端的物件就對應於本地端檔案系統中。
1/27/2023