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

User/curlyw819

title: curlyw819 (林威仁) categories: User …

22022 年 Linux 核心設計/實作 春季班 自我評量

作業共筆

期末專題

  • sysprog21/bignum 的研究和改進 : HackMD

修課心得

這堂課最大的收穫就是學會了使用了 gnuplot 畫圖,與使用 perf 窺探程式執行的行為過程,了解到哪些地方讓程式花了大半時間在執行,進而有機會能做改進,也學到了如何使用 git 的一些指令。

在 lab0 第一次自己完成了一個 queue interface 的實作,理解了環狀雙向鏈結串列的構造,與學會使用container_of,並且最後在通過自動測試程式時得到了很大的成就感,雖然只是一小步,但很開心。

在 quiz2 補充了許多 bit 操作的知識,但老實說我這份作業有點太混,都只解釋了程式的運作原理,並沒有在做進一步的分析。

在 fibdrv 學到 kernel 如何與 userspace 做溝通,與測量它的 overhead,試著解決費式數列計算的限制,也就是撰寫大數運算的程式(雖然成果不盡理想),同時也透過研讀學長的筆記了解到了 bitwise 是如何同時減少時間與空間的開銷,進一步使程式表現的更好。

在期末專題,我重新審視自己在 fibdrv 表現的不足,比對自己和老師的程式並列舉出差異,同時也觀摩了許多同學的作品,試著了解他們的思路,反觀自己實在是太渺小了。

自我評量 (1 ~ 10)

我給自己 6 分

在學期初我試著跟上課堂的步伐,但每個作業寫不到一半的時後又有了新作業,這種追趕讓我覺得心很累,考試更是沒有答對過半題,因為答案格式不正確無法提交,因此我從來沒交出任何一份考卷。修課的過程一開始免強在進度上時學到了知識而感到開心,但之後上課逐漸聽不懂,加上沒有實質的產出作業,到後來只剩滿滿的挫折,晚上常作被怪物追趕的夢。想要奉勸想修課的學弟妹,就像老師在學期初講的,要好好衡量自己是否有足夠的時間修老師的課,不然會很浪費這些教育資源。

我作業只完成了3個,還都沒寫完,考試一次也沒交過,整堂課下來雖有許多收穫,但比自己期望的少,也和老師教受的知識量不成比例。

而我修完這學期的課程了解到如何寫出更有質量的程式,對 linux 也有更進一步的了解,雖然課堂跟不上,但對老師講解過程的知識點仍留有印象,在往後專題若遇到相關問題,可以有個較明確的切入點去查相關知識並解決,這些是我在本課程的收穫。

綜合以上,我決定給自己6分。

最後感謝老師不辭辛勞的和我一對一討論作業方向。