--- title: 2024 年 Linux 核心設計/實作課程期末展示 description: 「Linux 核心設計/實作」課程期末展示 tags: linux2024 --- # 2024 年 Linux 核心設計/實作課程期末展示 > 6 月 30 日 以下是 [Linux 核心設計/實作](https://wiki.csie.ncku.edu.tw/linux/schedule)課程的部分專題列表,詳見[完整專題列表](https://hackmd.io/@sysprog/linux2024-projects)。 - [ ] :rocket: 上午場: 探究 Linux 核心的本質 > :clock10: 10:00 $\to$ 12:00 > [成果展示錄影 (上)](https://youtu.be/kwYgfkD1dWA) * 從 CFS, EAS, 到 EEVDF : Kuanch, devarajabc $\to$ [開發紀錄](https://hackmd.io/@sysprog/rkJd7TFX0) > 自 Linux 2.6.23 起,CFS 取代 O(1) 排程器,引入 proportional-share 手法以便按比例分配運算資源,自此奠定 Linux 核心的排程機制;Linux v5.1 引入 EAS,提升高性能移動裝置的能源效率;Linux v6.6 以 EEVDF 成為新的預設 CPU 排程器,對 CFS 十餘年打下的基礎進行升級。 * 還政於民的 sched_ext 及機器學習如何幫助 CPU 排程 : vax-r $\to$ [開發紀錄](https://hackmd.io/@sysprog/BJdyxvxX0) > Meta 提出 sched_ext 這項排程器的重大變革,允許開發者依據特定的工作負載和任務規劃,進行客製化的排程,而 EEVDF 則維持通用的排程。 * EEVDF 相較於 CFS 的量化比較 : ShawnXuanc $\to$ [開發紀錄](https://hackmd.io/@sysprog/SyTH65LUC) > 費曼說過:「透過科學產生的世界觀有其價值。那是一個美妙神奇的世界,經由新實驗產生的結果所呈現」。理解 Linux CPU 排程的最好方式是進行大量實驗並對照原始程式碼。 * 開發具體而微的 Linux 檔案系統 : HotMercury, jason50123 $\to$ [開發紀錄](https://hackmd.io/@sysprog/r1e08fg7A) > 從無到有開發精簡的檔案系統,簡潔而不簡陋,除了基本功能外,近期實作日誌機制,當檔案系統發生故障 (如核心崩潰或突然停電),更容易保持一致性,且可較快恢復。 - [ ] :rocket: 下午場: 藉由 Linux 核心解決真實世界的問題 > :clock130: 13:30 $\to$ 17:30 > [成果展示錄影 (下)](https://youtu.be/qUd1PtF-R38) * 運用並行處理來強化網站資料存取的效率 : yeh-sudo $\to$ [開發紀錄](https://hackmd.io/@sysprog/B1W2HKTER) > 依據 [DB-Engines Ranking](https://db-engines.com/en/ranking) (June 2024),Redis 是排行第 6 名的資料庫引擎,其作用是搭配其他資料庫,以自身的 in-memory key-value cache 來加速多種分散式服務場景。藉由 Linux 核心衍生的 Userspace RCU,本專案嘗試強化 Redis (及其後繼 Valkey) 的並行處理能力,得以大幅提升其資料吞吐量 (throughput)。 * 高性能網頁伺服器 : fatcatorange $\to$ [開發紀錄](https://hackmd.io/@sysprog/HkyVuh0NR) > kHTTPd 復刻 Linux 核心一度內建的專案,由核心直接處理 HTTP 連線,達到大幅超越尋常網頁伺服器的高吞吐量,也適合作為核心 API 整合和驗證的測試環境。 * 回顧並行程式設計教材 : weihsinyeh $\to$ [開發紀錄](https://hackmd.io/@sysprog/H1dCuDxQR) > 探討真實世界中若干並行程式設計議題,成果將陸續彙整到《[Concurrency Primer](https://github.com/sysprog21/concurrency-primer)》。 * 建構 RISC-V 相容處理器並運作 Linux 核心 : millaker $\to$ [開發紀錄](https://hackmd.io/@sysprog/HyjiP43N0) > 自幹 CPU 並在其上運作 Linux 核心,是電機資訊科系學生的浪漫。 * 實作多核 RISC-V 處理器模擬環境並運作 Linux 核心 : ranvd $\to$ [開發紀錄](https://hackmd.io/@sysprog/HyQ9UQ2E0) > 實作 hart state meangetment (HSM) 和改進模擬器內部設計,使其達到多核 RISC-V 系統模擬。 * 打造具備網路連線的精簡虛擬機器 : jimmylu890303 $\to$ [開發紀錄](https://hackmd.io/@sysprog/ryG0h25I0) > 在 KVM 的基礎之上,建構精簡且得以運作 Linux 核心的虛擬機器,使其藉由 VirtIO 具備電腦網路連線能力。 * 開發無線網路裝置驅動程式 : jychen0611 $\to$ [開發紀錄](https://hackmd.io/@sysprog/rJ-LF4nNC) > 從無到有開發具體而微的 WiFi 裝置驅動程式,採用 cfg80211 框架,建構虛擬的無線網路環境。 * 開發虛擬攝影機裝置驅動程式 : hungyuhang $\to$ [開發紀錄](https://hackmd.io/@sysprog/HJBxRsRr0) > 針對 Linux 核心開發的虛擬攝影機裝置,從而可理解 V4L2 (video fro Linux APIs, version 2) 的使用和 Linux 多媒體架構。
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.