版本 5517cc84d124648a3c4a2521127b4d21c2a6732d
padaray (陳浩文)
2024 Linux 核心設計 春季班 自我評量
成果發表與貢獻
閱讀文件時做的錯字修訂: * 虛擬攝影機裝置驅動程式:訪問->存取、接口->介面、內存->記憶體
作業與隨堂測驗
期末專題
了解 V4L2 框架、Framebuffer、vcam 程式碼,在 Linux 6.8 版本成功運行 vcam
與授課教師的互動
一對一討論:5月 20日 (星期一)⋅下午6:30 - 7:00
並行程式設計:排程器原理問題討論 1:coroutine 的機制存在,會不會取代 preemptive 機制
Linux 核心的紅黑樹問題討論:AVL tree 和 rbtree 樹高分別是 1.44 × log(𝑛+2) 和 2 × log(𝑛+1) ,1.44 和 2 這兩個常數如何計算而來
[CS:APP 3/e]問題討論:UTF-8 的編碼方式
修課心得
課程的一開始著重在 C 語言資料結構,第一份作業實作 lab-0 時,我就在思考這堂課不是叫做 Linux Kernel 實作嗎,一直寫 C 也沒搞懂甚麼是 Linux Kernel,直到作業六 - Integration 進入核心掛載才對 Kernel 框架有了大致的了解,但也在這時才知道當初課程著重在 C 語言技術的原因,Kernel 框架是由 C 語言技術堆疊而成的,若一開始直接從 Kernel 框架下去看而不熟悉 C 語言,在理解程式碼時就會處處碰壁,讓挫敗感很重。
在學期的開始,老師就有說這是一堂需要花費大量時間的課程,每週至少要花特定時數,因為需要閱讀大量的文件,在學期初較不忙時,還能看完文件後再完成作業要求,但來到作業四時,沒有時間閱讀文件只能先完成作業,這是我要檢討的地方,沒有分配好時間造成學習效果不好。
在這堂課體悟最多是在閱讀 CS:APP 3/e,本來對於讀規格相關的書籍我會感到很無趣,但經過這學期閱讀文件的經驗,我反而能靜下心來好好閱讀,且對這本書的內容感到有興趣,我認為這對以後開發需閱讀文件很有幫助。另外閱讀〈因為自動飲料機而延畢的那一年〉也很有感悟,在修課的過程中不免有想放棄的念頭,畢竟只能盡力完成作業而沒時間看文件,作業完成度也不夠高,讓我感到相當挫折,甚至有了期中退選的想法。但看完這篇文章讓我有了繼續下去的動力。作者在過程中遇到問題都是想著解決問題,而不是放棄,我也因此想向他看齊,盡力修完這門課。
與指導教授的學習回顧
二月回顧:3月8日 週五 下午8:53
- circular doubly linked list 的實作中遇到的問題
- 學習 git commit 撰寫
三月回顧:4月8日 週一 下午9:26
- 補全作業 1 的驗證亂數
- graphviz 視覺化程式碼
- Valgrind 記憶體管理工具
五月回顧: 6月27日 周四 早上8:00
- 閱讀 因為自動飲料機而延畢的那一年
- 閱讀 CS:APP 3/e
自我評量
\((3 \times 8 \times 6 \times 7 \times 8 \times 7) ^ {1/6} = 6.19\)
使用方案 B 計分:\(1 + floor(6.19) = 7\)