linux2021
Arm Mbed 作業系統有個子項目名為 littlefs,顧名思義就是針對嵌入式裝置開發的小型檔案系統,我們可透過 FUSE 掛載到 Linux 或 macOS 作為檔案系統,卻不用撰寫對應的核心模組。本任務嘗試理解 littlefs 運作機制,包含其工具。
相關討論:
執行人: bobhsiao0306
題目: 從無到有開發針對 Linux 核心的檔案系統
為了探索 Linux VFS (virtual file system) 介面及檔案系統實作機制,我們從無到有撰寫一個運作於 Linux 核心模式中的精簡檔案系統,原始程式碼約一千餘行,支援基本的檔案和目錄處理,同時也考慮到權限和並行處理的議題。
相關討論:
以 USB/IP 來說,這個實作已整合進 Linux 核心,能夠將 USB 裝置透過網路連線重新導向到另外一台電腦,具體來說:
相關討論:
題目: 打造 Linux 虛擬攝影機裝置驅動程式
vcam 是個針對 Linux 核心開發的虛擬攝影機裝置,全部程式碼僅 1 千 5 百行,從而可理解 V4L2 (video fro Linux APIs, version 2) 的使用和 Linux 多媒體架構。開發一個虛擬的攝影機裝置除了理解 Linux 核心設計外,也有資訊安全的幫助,例如你可以安插相關程式碼,紀錄有哪些應用程式偷偷啟動攝影機,但過程中又不會揭露真正的隱私。本議程不僅討論 V4L2,也涵蓋 DMA-Buf 這樣著重 Zero-copy 裝置驅動程式運作機制。
相關討論:
/dev/mem
研究編撰 Linux 核心的 /dev/mem 裝置,強化 eBPF, crash 等工具的運用,目標是「成為電腦的主人」 —— 想改哪段記憶體就動手變更
執行人: jhan1998 開發紀錄
研讀 "Trace Linux Kernel Scheduler Events" 並擴充
執行人: RZHuangJeff 開發紀錄
執行人: henrybear327
探討 Linux 核心內部 CoW 的實作機制
執行人: linD026 開發紀錄
mimalloc 是 Microsoft Research 主導的開放原始碼專案,旨在提出更輕量且更有效率的記憶體管理器 (即 malloc/free 等函式) 的實作。
執行人: hankluo6 開發紀錄
題目: 高效能網頁伺服器 —— 針對 Linux 核心和進階系統呼叫重新設計
探討從無到有打造 Linux 平台的高效能網頁伺服器,涵蓋是否該將伺服器實作於 Linux 核心內部、並行處理、I/O 模型、epoll、React pattern,和 Web 伺服器在事件驅動架構的考量。
執行人: D4nnyLee, XDEv11 開發紀錄
重做 第 2 週測驗題 的第 1 部分,並彙整學員們的作業成果,提出效率更好的實作。
執行人: shanihsu 開發紀錄
執行人: kevinlin529
第 2 週測驗題 的第 2 部分提到 slab allocator,請彙整學員們的作業成果,並整理為新的共筆,新增工作:
v5.20
,在 User-Mode Linux 進行觀察v5.20
並善用 SlabDbg 追蹤 slab/slub 的內部行為執行人: gyes00205 開發紀錄
重做 第 2 週測驗題 的第 3 部分,並彙整學員們的作業成果,提出效率更好的實作,也該探討 Linux 核心原始程式碼裡頭的案例
執行人: Jings1017 開發紀錄
執行人: IzsKon
重做 第 2 週測驗題 的第 4 部分,並彙整學員們的作業成果,提出效率更好的實作,需要考慮到多執行緒環境
執行人: Zxiro 開發紀錄
執行人: William0715
重做 fibdrv 並彙整學員們的作業成果
重做 第 3 週測驗題,並彙整學員們的作業成果,提出效率更好的實作,也該探討 Linux 核心原始程式碼裡頭的案例
執行人: yellow951321 開發紀錄
重做 第 4 週測驗題,並彙整學員們的作業成果,提出效率更好的實作。應當考慮到 CPU Affinity,參考 Thread safety with affine thread pools
執行人: iLeafy11
執行人: xswzaq44321
暫停: 重做 sort 並彙整學員們的作業成果,提出效率更好的實作,需要在 Linux 核心內部驗證
執行人: Uduru0522, ccs100203
研究 第 14 週測驗題 (第 1 部分) 和 第 17 週測驗題,解讀程式運作機制、量化程式執行表現 (與 lock-based 比較),提出改進方案
執行人: Uduru0522, ccs100203 開發紀錄
重做 第 5 週測驗題 的第 1 部分,並彙整學員們的作業成果,提出效率更好的實作
執行人: andy78644 開發紀錄
執行人: richard880523
執行人: ParkerMactavish
執行人: bakudr18 開發紀錄
重做 第 6 週測驗題 的第 1 部分,並彙整學員們的作業成果,提出效率更好的實作,需要探討 Linux 核心的大數運算案例
重做 第 6 週測驗題 的第 2 部分,並彙整學員們的作業成果,提出效率更好的實作,需要探討 Linux 核心的案例
重做 第 6 週測驗題 的第 3 部分,並彙整學員們的作業成果
重做 第 7 週測驗題 的第 1 部分,包含延伸問題
重做 第 7 週測驗題 的第 2 部分,包含延伸問題
重做 第 7 週測驗題 的第 3 部分,包含延伸問題
重做 第 7 週測驗題 的第 4 部分,包含延伸問題
重做 第 8 週測驗題 的第 1 部分,包含延伸問題
執行人: cyrong 開發紀錄
重做 第 8 週測驗題 的第 2 部分,包含延伸問題
執行人: ilkclord 開發紀錄
重做 第 9 週測驗題,包含延伸問題
執行人: AmyLin0210
重做 第 10 週測驗題,包含延伸問題
執行人: ambersun1234 開發紀錄
重做 第 11 週測驗題,包含延伸問題
執行人: Julian-Chu 開發紀錄
重做 culture,並彙整學員們的作業成果
執行人: sherisea 開發紀錄
研究 xenomai 於 real time linux 上的效能表現
執行人: RainbowEye0486, fdfdd12345628 開發紀錄