Try   HackMD

2025q1 Homework1 (ideas)

contributed by < HeatCrab >

shecc

執行人: nosba0957, vacantron
開發紀錄
專題解說影片

  1. 過程中的認知

    1. 需要對編譯器的運作有一定的掌握,像是 Bootstrap 如何運作的 、 Makefile 如何撰寫、 ELF 是什麼等等。
    2. 前任作者的 PR 針對 shecc 增強功能與修復問題,包括:調整記憶體分配限制、支援除法與三元運算子等語法、實現 mallocfree、支援迴圈中的 breakcontinue、新增全域變數初始化、保留 main 函數返回值,以及優化邏輯非與位元運算等,使 shecc 更符合標準 C 編譯器要求,並通過測試驗證。
    3. 執行人使用 SSA 優化 shecc
    4. 執行人改進 shecc,修正邏輯與運算錯誤,符合 C99 標準,實現左到右求值,調整解析流程並使用 phi 函式,解決記憶體與 do-while 迴圈問題,提升流程控制正確性。
  2. 遇到的疑惑

    1. 第一次看到 SSA 這個名詞,沒有任何的基礎概念,所以無法看懂,執行人的改善帶來的影響。
      1. 初步理解 SSA 後發現,這個改動對 SHECC 來說十分巨大,像是改善的 Issue #88 中, SSA 就帶來一定的幫助。
      2. 研究 phi 函數的作用,發現是個由很基礎的概念延伸出巨大作用的函數。依賴這個看似簡單的函數, SSA 可以處理許多複雜的數據,甚至優化。
    2. 很認真,看完前任作者的開發日誌的感想,為什麼有一些感覺很基本的語法在 SHECC 中一開始沒有涵蓋?像是 continuemallocfree 這些很常見的函數。
  3. 如何改進

 

simplefs

執行人: HotMercury, jason50123
開發紀錄
專題解說影片

  1. 過程中的認知

    1. simplefs 是一個檔案系統,有四次的開發紀錄,到目前是第五任開發。
    2. 第一份開發紀錄主要聚焦在 inode 的問題上。
    3. 第二份開發紀錄主要在處理指令與檔案上限的問題。
    4. 承3.,紀錄中沒有看到真的處理了問題的部分,倒是重新用自己的口吻說明了第一任開發紀錄做了什麼,像是 superblockinode
    5. 第三份開發紀錄做得很詳細,一樣科普一下 Linux 系統的 VFS 是什麼,有趣的是,我看到第二份開發紀錄中提到的指令問題在這邊被嘗試解決。
    6. 承5.,嘗試做了許多事情,但是指令的問題仍舊沒有被解決。
    7. 第四份報告的內容很豐富。首先,發現指令的問題被修復了,最後是被官方修復了,執行人嘗試重現,但沒有成功。或許是值得高興的事情?
    8. 承7.,第四份報告做了許多事情,沒有明確改進的事項,但是測試了許多前任遭遇到的問題,並給出自己的解答。
    9. Linux 每次的版本更新不一定有考慮到 simpleFS ,導致往往需要確認是否有哪些地方又出現 bug ,需要開發者們去調整。
    10. 指令與版本問題是 simpleFS 需要攻克的最大難關。
  2. 遇到的疑惑

    1. 除了第一份開發紀錄外,每一份開發紀錄都在嘗試處理指令的問題,據我的理解,可能跟 VFS 或是 Linux 本身比較有關係?儘管 simpleFS 嘗試去兼容,但有可能真正的問題不僅僅是出在 VFS 上,所以前幾任開發者都沒有辦法找到問題?
    2. JBD2 會不會日後形成全新的 bug 來源?
      1. 簡單理解與查詢相關資料後發現,JBD2其實算相對穩定的官方模組,且因為成熟,相對方便維護。
      2. 曾異想天開覺得為何不乾脆自己開發一個「日誌」功能。查了壹下後發現是我低估架構日誌功能的難度了,說不定還會更加不穩定,與花費維護成本。
  3. 如何改進

    1. 開發 simpleFS 自己的日誌功能,防止更多的 bug 要解決
      • 被我自己否決了。
    2. simpleFS 不應該只專注在 VFS 上,而是嘗試去尋找更新時與 VFS 相關的部分?或許問題來源就在核心的其他模組或功能裡?

 

Demystifying the Linux CPU Scheduler

執行人: 執行人: Kuanch, devarajabc
開發紀錄
專題解說影片-1
專題解說影片-2

  1. 過程中的認知

  2. 遇到的疑惑

  3. 如何改進

 

STM32F4 移植和系統初始化流程

執行人: hugo0406
開發紀錄
專題解說影片 - 開發紀錄未提供

  1. 過程中的認知

  2. 遇到的疑惑

  3. 如何改進

 

rhashtable 及核心記憶體管理研究

執行人: SHChang-Anderson
GitHub
開發紀錄
專題解說影片

  1. 過程中的認知

  2. 遇到的疑惑

  3. 如何改進

 

()

  1. 過程中的認知

  2. 遇到的疑惑

  3. 如何改進

 

()

  1. 過程中的認知

  2. 遇到的疑惑

  3. 如何改進