分享到plurk 分享到twitter 分享到facebook

版本 2b36a55f63dfd74f75e622329a23f3dffcadf0ad

ganoliz (陳品崴)

簡介

  • 國立成功大學 資訊工程學所 110 級 (2021 ~ 2023)

  • GitHub: ganoliz

  • HackMD: ganoliz

2022 Linux 核心實作 春季班

作業/隨堂測驗

期末專題

  • 持續改進 fibdrv 以符合效能要求 : hackmd

修課所聞

為了Jserv的課慕名而來,本來想說可以學到很多 Linux Kernel 的各種建置工具與套件(包括網路應用、與作業系統相仿的NachOS 的各式實作) 。但與想像不同,由於自身的不足,因此這學期需要仔細地把 C 寫好。正如 Jserv 老師在一對一討論說的:“這件事情不困難,只是要把它確實做好不容易”。 我研讀了 :

  • 指標篇: 指標的指標的妙用巧思與詳閱規格書的重要
  • 記憶體管理、對齊及硬體特性: 實際上 malloc 本身會做 alignment 以及實驗效能
  • 編譯器和最佳化原理篇: 從ppt重新學習編譯器的原理以及比 parser 更重要的部分:最佳化
  • 前置處理器應用篇: Macro 的效能與 Linux Kernel 為何大量使用的關鍵知識
  • 數值系統篇、bitwise 操作、浮點數運算: 對應於 CS:APP 第二章探討的內容,對於數值運算有更有效的寫法與基礎

有了這些知識,我才能在 Linux Kernel 實際應用的程式碼中讀懂為何要這樣寫,為何結構這樣使用(還沒接觸到皮毛)。

  • Linux檔案系統概念及實作手法 、Linux Timer及其管理機制、Linux 不只挑選任務的排程器

至於在並行程式的設計上面,是這學期課程花最多時間探討的課題。只是我還是未能跟上老師的進度,並沒有鑽研領會到平行運算、並行運算的要點。至於其他套件是隨著作業一併熟悉了 gnuplot 、 Makefile 、gdb 的使用。

自我評量