版本 e4a63eaf5d7b8b8dcf897e70f855bdb4ff3ad222
ericlai1021 (賴右騰)
簡介
- GitHub:
ericlai1021
- HackMD:
ericlai1021
成果發表
作業共筆
測驗共筆
期末專題
- 並行的 fibdrv: HackMD
所見所聞所感
閱讀完 因為自動飲料機而延畢的那一年 一文又讓我再次燃起對工程的熱誠,所謂的工程用簡單一句話來說就是: 實作一個改善方案來解決一個問題。對於我來說從國小開始看到家裡電器或任何器具壞掉就會想試著修修看,過程中一定會遇到各式各樣的問題,也許解決了一個問題後反而又衍生出另一個問題,這難道就是所謂 Top-down 實作嗎(?),不過一旦成功解決了當初的問題那份成就感絕對是加倍豐腴,我想這無非就是做工程的人最單純的追求吧,花了一整個學期投入這堂課給我最大的領悟就是: 從結果來看會是 Bottom-up ,但每一步的過程則是 Top-down。
自我評量
我給自己 9 分
學期初抱持著能跟著老師授課進度一步一步領導我邁進作業系統實作領域,但才過第一周就驚覺怎麼自己完全跟不上進度,授課方式也不是想像中那樣一步一步逐一走訪的方式,這對於我來說絕對是最大的衝擊,以前都太習慣接觸所謂 “軟柿子” 的課程才會導致我下意識就認為應該要手把手的教導才對,但真正好的教育應該是不直接給魚吃而是給他釣竿,於是我在學期初那兩個月平均每天都花8小時觀看課程錄影帶及相關教材,一整個學期下來最能量化我進步幅度的地方在著手 fibdrv 作業的過程,一開始著手該作業我花了接近兩個月才完成建置環境、效能分析及引入 fast doubling 演算法,接著花一個月的時間完成初步大數運算(可正確計算到第一萬項,但執行時間與範例程式 bignum 相差甚遠),最後一個月著實改進大數運算(可正確計算到第一百萬項且效能與 bignum 差不多)並且引入 Linux 核心 hashtable 機制儲存已計算過的數值更進一步加速 fibdrv 的效率。