Try  HackMD Logo HackMD

2023 年暑期「Linux 核心」課程

全程免費線上課程! 探討最新 Linux 核心技術!
主講人: jserv

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

說明

2023 年暑期「Linux 核心」課程著重於排程器、Linux 核心模組開發、多核和現代處理器、同步機制、scalability,和系統呼叫等議題,希望能引導學員在探索 Linux 核心技術的道路上,得以邁開踏實且堅定的步伐。

注意事項

  1. 全程免費、不用報名!2023 年暑期「Linux 核心」課程大部分教材 (含解說錄影) 可公開存取
    • 部分教材會在學員提交作業並獲得授課教師認同後,才會發放,詳見 8 月 4 日晚間解說
    • 課程直播採用 YouTube,線上討論採用 Google Meet,記得刷新本頁面以取得最新資訊
  2. 繳交作業的學員會收到《Concurrency Primer》和《Demystifying the Linux CPU Scheduler》這二本 尚未公開釋出 的電子書草稿,暑期課程會引導學員研讀,並針對學員的疑惑和建議,予以答覆,歡迎學員改進電子書內容
  3. 請善用 Facebook: 系統軟體系列課程討論區 提問,私人議題則請發訊息到授課教師的 Facebook 粉絲專頁
  4. 歡迎在校生、社會人士,和 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 →
下方表格會依據 Linux 技術發展、學員背景和程式設計掌握度、教材修訂,動態調整課程進度,請留意本頁面的更動。可參照 HackMD: 訂閱筆記更改通知,訂閱本頁面的變更

時段 課程進度
8 月 4 日 20:00-23:00
錄影
課程介紹和須知; 資訊科技詞彙翻譯
C 語言程式設計: C-rusted, alignment, container_of, list, hashtable, rbtree, minmax;
作業系統術語及概念;
檔案系統: timerfd, userfaultfd + slides;
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 →
第 1 份作業 已指派,應於 8 月 13 日前繳交
8 月 7 日 19:30-22:30
錄影
Vim 的作者 Bram Moolenaar (1961 – Aug 3, 2023) 呼籲人們幫助烏干達的貧困兒童並身體力行,樹立程式開發者的榜樣。
Linux 發展動態回顧; Process; 系統呼叫
barco ;
現代處理器關鍵特徵, 多核處理器作業系統, Cortex-A9 MPcore;
並行和多執行緒程式設計: 執行順序;
RISC-V 處理器和系統模擬器: rv32emu, semu
徵求協作者,建構小而美且高效的 RISC-V 系統模擬器,藉由 JIT/AOT 編譯快速執行 RV32/Linux
8 月 10 日 20:00-21:30 隨堂測驗問題討論,檢討第 1 份作業
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 →
第 2 份作業 已指派,應於 8 月 25 日前繳交
8 月 14 日 19:30-22:30
錄影
使用 tokei 統計 Linux 6.5-rc62023 年 8 月 13 日發布: 76541 個檔案,原始程式碼合計 36.2M 行扣除程式碼註解和空白行,則有 27.3M 行
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 →
授課教師會依據第 1 份作業的繳交狀況,在 8 月 15 日中午前發送《Demystifying the Linux CPU Scheduler》書稿若屆時你未收到,請繼續進行「第 1 份作業」並在所有延伸問題充分完成後,發訊息到授課教師的 Facebook 粉絲專頁,提及你的 GitHub 帳號
並行和多執行緒程式設計: 執行順序, Atomics 操作, POSIX Threads, PThread 實作, Ring buffer;
OSDI'23 論文; The Linux Kernel Module Programming Guide: mutex, spinlock, rwlock, atomics; Linux 核心同步機制, 多核處理器, 排程器
8 月 17 日 20:00-21:30 隨堂測驗; 問題討論 + 作業解說
8 月 21 日 19:30-22:30
錄影
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 →
第 2 份作業截止日調整為 8 月 25 日
C and C++ Prioritize Performance over Correctness
Concurrency Bugs; 並行和多執行緒程式設計: Lock-free, Hazard pointer, RCU
8 月 26 日
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 →
指派第 3 次作業,請提交到作業區
截止日期:不限 (越早提交,授課教師越早批改和討論),預計九月安排作業檢討的線上講座
8 月 28 日 19:30-22:30
錄影
並行和多執行緒程式設計: RCU, What Has RCU Done Lately? (2023), userspace RCU;
Linux 核心搶佔, 排程器, 電子書: Demystifying the Linux CPU Scheduler; 中斷處理, ;
8 月 30 日 19:30-22:30
錄影
電子書: Demystifying the Linux CPU Scheduler; Timer
針對事件驅動的 I/O 模型演化
9 月 4 日 19:30-22:30
錄影
Linux scability, KVM