Try   HackMD

2021 年暑期「Linux 核心」課程

免費線上課程! 探討最新 Linux 核心技術! 報名時需要通過先決測驗

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

說明

COSCUP 2021 研討會中,jserv 和學生預計以 "Let's Publish a Collaborative e-Book for Linux Kernel" 為題發表演說,揭露最近編撰的 Linux 核心電子書,目的是兼顧開放授權的自由流通和透過訂閱制獲得部分盈利,後者將全數投入 Linux 核心教材的改進。2021 年暑期「Linux 核心」課程延伸春季「Linux 核心設計」課程,著重於排程器、Linux 核心模組開發、多核和現代處理器、同步機制,和系統呼叫等議題,搭配前述編撰的 Linux 核心電子書,希望能引導學員在探索 Linux 核心技術的道路上,得以邁開踏實且堅定的步伐。

注意事項

  1. 2021 年暑期「Linux 核心」課程大部分教材 (含解說錄影) 可公開存取 (因此就算報名失敗,也可免費學習,不過無法存取完整資源),但顧及教學資源,課程要求報名者先通過 先決測驗 (7 月 18 日 23:00 報名截止,名額依據作答表現排序) 才能完成報名
    • 因為授課教師會逐一批改作業和針對學員的學習狀況進行一對一討論,若不限制名額,實在難以進行
  2. 提交 先決測驗 者最遲會在 7 月 19 日 11:00AM 前收到確認信件,建議及早提交,這樣授課教師尚可針對提交的答覆進行課前討論
    3. 報名成功的學員會收到《The Linux Kernel Module Programming Guide》和《Linux Kernel Scheduler Internals》這二本電子書的草稿 (尚未公開釋出),暑期課程會引導學員研讀,並針對學員的疑惑和建議,予以答覆,甚至改進電子書內容
  3. 請善用 Facebook: 系統軟體系列課程討論區 提問,私人議題則請發訊息到授課教師的 Facebook 粉絲專頁
  4. 歡迎在校生、社會人士,和 Linux 技術同好參加本課程
  5. 暑期「Linux 核心」課程安排在 晚間 進行,已和 AIS3 新型態資安暑期課程 時段錯開,請有意報名者不用擔心

進度表

下方表格會依據 Linux 技術發展、學員背景和程式設計掌握度 (這也是為何有先決測驗)、教材修訂,動態調整課程進度,請留意本頁面的更動。可參照 HackMD: 訂閱筆記更改通知,訂閱本頁面的變更

時段 課程進度
7 月 20 日 19:30-22:30 作業系統術語及概念, Linux發展動態回顧; Process, 排程器, 系統呼叫; 電子書: The Linux Kernel Module Programming Guide, Linux Kernel Scheduler Internals
7 月 23 日 20:00-21:30 隨堂測驗、問題討論,第 1 份作業
7 月 27 日 19:30-22:30 Concurrency Bugs, 現代處理器關鍵特徵, 多核處理器, 並行和多執行緒程式設計, Linux 核心同步機制
7 月 30 日 20:00-21:30 隨堂測驗、問題討論,作業解說,第 2 份作業
8 月 3 日 19:30-22:30 Atomics 操作, 電子書: The Linux Kernel Module Programming Guide (mutex, spinlock, rwlock, atomics), Linux Kernel Scheduler Internals; 中斷處理, Timer; 並行和多執行緒程式設計
8 月 6 日 20:00-21:30 隨堂測驗,問題討論,作業解說
8 月 10 日 19:30-22:30 Atomics 操作和案例分析; 裝置驅動程式案例: vcam; 檔案系統: Everything is a file descriptor; 事件驅動 I/O 模型, kHTTPd, 事件驅動伺服器:原理和實例, timerfd/eventfd, 以 sendfile/splice 達到 Zero-Copy, io_uring
8 月 13 日 20:00-21:30 隨堂測驗、問題討論,第 3 份作業
8 月 17 日 19:30-22:30 Facebook 討論區回顧, coroutine, Linux Kernel Scheduler Internals (CFS), 並行和多執行緒程式設計: lock-free, RCU 同步機制
8 月 20 日 20:00-21:30 隨堂測驗、問題討論,作業解說
8 月 24 日 19:30-22:30 RCU 同步機制; io_uring; 電子書 Linux Kernel Scheduler Internals: Ftrace; Tracing With Ftrace: Critical Tooling For Linux Development; eBPF
8 月 31 日 19:30-22:30 Facebook 討論區回顧; Linux 核心搶佔; Arm 處理器架構; 從 big.LITTLE 到 EAS, Energy Aware Scheduling; Scalability 議題;
9 月 3 日 20:00-21:30 隨堂測驗、RCU 進階,作業回顧