版本 af9c8ccf4f8eb344ead2a6b0a9c1a3392c386e6b
Changes from af9c8ccf4f8eb344ead2a6b0a9c1a3392c386e6b to current
---
title: ganoliz (陳品崴)
categories: User
...
# 簡介
* 國立成功大學 資訊工程學所 110 級 (2021 ~ 2023)
* GitHub: [`ganoliz`](https://github.com/ganoliz)
* HackMD: [`ganoliz`](https://hackmd.io/@ganoliz)
# 2022 Linux 核心實作 春季班
## 作業/隨堂測驗
* lab0-c : [github](https://github.com/ganoliz/lab0-c) / [hackmd](https://hackmd.io/@ganoliz/Linux2022q1_HW1)
* fibdrv : [hackmd](https://hackmd.io/@ganoliz/Linux2022q1_HW2)
* quiz1 : [hackmd](https://hackmd.io/@ganoliz/Linux2022q1_quiz1)
* quiz2 : [hackmd](https://hackmd.io/@ganoliz/Linux2022q1_quiz2)
* quiz3 :
* quiz4 : [hackmd](https://hackmd.io/@ganoliz/Linux2022q1_quiz4)
## 期末專題
* 持續改進 fibdrv 以符合效能要求 [hackmd](https://hackmd.io/@ganoliz/Linux2022q1_HW2)
* 持續改進 fibdrv 以符合效能要求 : [hackmd](https://hackmd.io/@ganoliz/Linux2022q1_HW2)
一對一討論時間:
* 1.2022/4/9 關於 bignum 的實作
* 2.2022/5/21 關於整數壓縮效能的改進
## 修課所聞
## 自我評量
為了Jserv的課慕名而來,本來想說可以學到很多 Linux Kernel 的各種建置工具與套件(包括網路應用、與作業系統相仿的NachOS 的各式實作) 。但與想像不同,由於自身的不足,因此這學期需要仔細地把 C 寫好。 Jserv 老師在一對一討論說的:"這件事情不困難,只是要把它確實做好不簡單"。
我研讀了 <你所不知道的C語言系列專欄> :
* 指標篇: 指標的指標的妙用巧思與詳閱規格書的重要
* 記憶體管理、對齊及硬體特性: 實際上 malloc 本身會做 alignment 以及實驗效能
* 編譯器和最佳化原理篇: 從ppt重新學習編譯器的原理以及比 parser 更重要的部分:最佳化
* 前置處理器應用篇: Macro 的效能與 Linux Kernel 為何大量使用的關鍵知識
* 數值系統篇、bitwise 操作、浮點數運算: 對應於 CS:APP 第二章探討的內容,對於數值運算有更有效的寫法與基礎
有了這些知識,我才能在 Linux Kernel 實際應用的程式碼中讀懂為何要這樣寫,為何結構這樣使用(還沒接觸到皮毛)。
* Linux檔案系統概念及實作手法 、Linux Timer及其管理機制、Linux 不只挑選任務的排程器
至於在並行程式的設計上面,是這學期課程花最多時間探討的課題。只是我還是未能跟上老師的進度,並沒有鑽研領會到平行運算、並行運算的要點。至於其他套件是隨著作業一併熟悉了 gnuplot 、 Makefile 、gdb 的使用。
## 自我評量
我應該只能給自己 6 分。我覺得自己很認真的做作業,但無法達到預期,課程也跟不太上,尤其是在並行程式設計上面我還有很多不懂的地方,但教材我都會把第一層看完。
再者由於沒有期中期末考,其實就不太會複習前面的東西,有時候回去翻前面的教材又有些觀念不懂了(沒把範例實做過真的很容易忘記)。
儘管 fib character device 是一個很無聊的東西,但老師總能給我一個大方向來學習(效能分析 大數運算 字串壓縮 cache實做)。
經過這個學期我應該還有研究 Linux 的熱忱,只不過我還需要繼續努力,因此我給自己 6 分(這裡的 6 分並不是指不及格的意思因為我也想 Pass ,指的是我還有很大的進步空間 )。