--- title: nelson0720j (傅孟楷) categories: User ... # 簡介 * 國立成功大學 資訊工程學所 * GitHub: [`nelson0720j`](https://github.com/nelson0720j) * HackMD: [`woLves-1822`](https://hackmd.io/@woLves-1822) # 2024 Linux 核心設計 春季班 自我評量 ## 作業共筆 * hw1 lab0-c: [HackMD](https://hackmd.io/@woLves-1822/linux2024-homework1) / [GitHub](https://github.com/nelson0720j/lab0-c.git) * hw2 quiz1+2: [HackMD](https://hackmd.io/@woLves-1822/linux2024-homework2) * hw5 assessment: [HackMD](https://hackmd.io/@woLves-1822/linux2024-homework5) * hw6 integration: [HackMD](https://hackmd.io/@woLves-1822/linux2024-homework6) 8分 ## 期末專題 [改進 semu](https://hackmd.io/@sysprog/SkbSCLRBA) 8分 ## 與授課教師的互動 * 2024年5月8日 (星期三) ⋅ 下午7:45 – 下午8:15 討論在閱讀 CS:APP 3/e chapter2 所遇到的問題關於 bitwise 的各項操作,同時給了一個浮點數取絕對值的 bitwise 操作的小測驗,了解到可以透過一個指向整數的指標以整數的方式訪問浮點數的記憶體,就可以避免強制轉型造成浮點數後面的小數資料遺失的問題。 最後,指派期末專題題目,改進 RISC-V 模擬器 ([semu](https://github.com/sysprog21/semu)) 在現有的 MMU 上新增 TLB 。 * 2024年5月31日 (星期五) ⋅ 下午9點 – 下午9:30 實作一次之前學員對 Semu 的各種改進,了解其中的工具與架構,包括 Buildroot 如何建構 Image, 如何掛載套件到 Semu 等。 討論實作中遇到各種狀況,原因發現為 Semu 經過多次改版已無法完全參照之前學員實作的 HackMD 所導致的錯誤。 10分 ## 所見所聞所感 這個課程,為從未接觸過 Linux 核心的我,踏出了第一步。過去僅有課本上教的那些知識,當面臨到實作的部分就可以發現還有許多考量的點不是課本會提及的,當遇到再熟習也不過的鏈結串列,沒想到到了 Linux kernel 卻有這麼多設計上的巧思。透過閱讀程式碼和官方文件,可以更清楚作者的用意和函式的用法,也可以內化成自己的知識,像是這一次的專案,就因為有了之前的練習而可以運用類似 list_head 的結構。 整個過程就像<因為自動飲料機而延畢的那一年>一樣,先有構想再去嘗試,然後發現錯誤,在不斷的想辦法去解決。 10分 ## 學習回顧 * [五月學習回顧] 6月18日 週二 下午2:47 提到 Linux 的記憶體,多核系統,排程器和計時器等課程內容,並且說明現階段專題內容以及進度。 8分 ## 自我評量 1,8,8,10,10,8取幾何平均+1 最後為5分