版本 d9fc65b604a3103aed1603d3dbd67745017b7d31
Changes from d9fc65b604a3103aed1603d3dbd67745017b7d31 to c7668cc02dc66c039861045143ba8443c5fe6dc5
---
title: nyraa(楊乃昀)
categories: User
---
# 簡介
* 國立成功大學 資訊工程學系 (2022/09 ~)
* GitHub: [`nyraa`](https://github.com/nyraa)
# 2026 年 Linux 核心設計課程自我評量
## 成果發表與貢獻
> 6 分
### 課程教材修改
* [最大公因數特性和實作考量](https://hackmd.io/@sysprog/gcd-impl)
1. 修改[用 C 語言實現的歐幾里得法]((https://hackmd.io/W8BtJFQdSZekR_O53ICTyQ?both=&revisionAfter=1773321315129&diffWithCurrent=#)) `findGCD` 函式中的邏輯錯誤:
並且[回應授課教師對於修正內容的提問](https://hackmd.io/XXOfOMYFRbSz8YMFe4hd8A#%E4%BF%AE%E6%94%B9%E6%9C%80%E5%A4%A7%E5%85%AC%E5%9B%A0%E6%95%B8%E7%89%B9%E6%80%A7%E8%88%87%E5%AF%A6%E4%BD%9C%E8%80%83%E9%87%8F%E6%95%99%E6%9D%90%E5%9B%9E%E6%87%89)
* [Linux 核心原始程式碼的整數除法](https://hackmd.io/z9tbSyjPT0OMIj_UKp3dkA)
1. 修改[特別的除數章節](https://hackmd.io/z9tbSyjPT0OMIj_UKp3dkA?both=&revisionAfter=1774950962578&diffWithCurrent=&revisionAuthorPath=nyraa#):
修正了 `divmod_10` 函式證明中的數值錯誤,並嘗試提出[新的證明](https://hackmd.io/37cd5VesTWynbsF7UQi_sg),因未證明完成,無更新進教材。
* [現代處理器設計: Cache 原理和實際影響](https://hackmd.io/ysFkocN0RreKgzJk_7B-0g)
1. [通過 -> 透過](https://hackmd.io/ysFkocN0RreKgzJk_7B-0g?view=&revisionAfter=1774522231186&diffWithCurrent=&revisionAuthorPath=nyraa#)
2. [地址 -> 位址](https://hackmd.io/ysFkocN0RreKgzJk_7B-0g?view=&revisionAfter=1774528534270&diffWithCurrent=&revisionAuthorPath=nyraa#)
1. 修正用詞 [通過 -> 透過](https://hackmd.io/ysFkocN0RreKgzJk_7B-0g?view=&revisionAfter=1774522231186&diffWithCurrent=&revisionAuthorPath=nyraa#)
2. 修正用詞 [地址 -> 位址](https://hackmd.io/ysFkocN0RreKgzJk_7B-0g?view=&revisionAfter=1774528534270&diffWithCurrent=&revisionAuthorPath=nyraa#)
[修正的理由](https://hackmd.io/@nyraa/SypUgFTqWe#%E4%BF%AE%E6%94%B9%E6%95%99%E6%9D%90)
## 作業與隨堂測驗
> 3 分
在進行作業時,我有謹慎參考[資訊科技詞彙翻譯](https://hackmd.io/@sysprog/it-vocabulary)與 C 語言規格書,在閱讀教材時也會注意其中用詞是否妥當並主動修正。
雖然作業投入時間未達授課教師建議之最低每週 16 小時,但我學習到如何在 C 語言規格書中找到行為的定義並引用的方式,例如 C99 規格書 6.2.4 §2 保證了生命週其中的物件記憶體位置是被保留的,在生命週期外行為是未定義的,這就算不讀規格書學習 C 語言也會知道,但是屬於憑感覺寫程式,並不是負責任的行為,因此我會做一個寫程式負責任的工程師。
雖然作業投入時間未達授課教師建議之最低每週 16 小時,但我學習到如何在 C 語言規格書中找到行為的定義並引用的方式,例如 C99 規格書 6.2.4 §2 保證了生命週其中的物件記憶體位置是被保留的,在生命週期外行為是未定義的,這就算不讀規格書學習 C 語言也會知道,但是屬於憑感覺寫程式,並不是負責任的行為,因此我會查閱文件做一個寫程式負責任的工程師。
* [2026q1 Homework1 (warmup)](https://hackmd.io/@nyraa/Hy0bfk8FWg)
* [2026q1 Homework2 (stdc)](https://hackmd.io/@nyraa/SypUgFTqWe)
* [2026q1 Homework3 (basics)](https://hackmd.io/@nyraa/S1uqhz-6Zg)
## 期末專題
> 2 分
題目:高速網路裝置驅動程式分析和改進
任務原訂分析並改善 RTL8127 網路介面卡表現,但目前尚未達到可發表成果,因此自評 2 分。現階段我只確認在 r8127 驅動程式下存在間歇性掉速現象,尚未定位原因。
### 觀摩學員專案
* [Rust 和 USB Gadget](https://hackmd.io/@sysprog/BJLq292TZe):提出用詞未使用正確詞彙:「進程」與「行程」
## 與授課教師的互動
> 5 分
授課教師指示學員在閱讀教材時記錄下任何疑問,過去我並沒有紀錄至細節,在與授課教師一對一討論時無法及時提出,從本次討論起我就會記錄問題細節。
授課教師指示學員在閱讀教材時記錄下任何疑問,過去我未記錄細節,在與授課教師一對一討論提醒後,從本次討論起我就會記錄問題細節。
我在第九與第十週時主動參與課堂問答,碰到了我當下不會的問題,所以我馬上開始在對應教材中找相關段落並嘗試理解回覆,並且在事後詳細閱讀細節與原理,完成課堂問答追蹤,而非只挑會的內容背誦答案。
### 課堂問答
* [第九週](https://hackmd.io/gdgKXMGYRdaNUgsEBKaypg#nyraa)
* binary gcd:閱讀教材時忽略了實作細節與原理,在問答追蹤時仔細閱讀並理解了原理。
* binary gcd:在問答追蹤時仔細閱讀並理解了 binary gcd 精神與原理。
* [第十週](https://hackmd.io/8MWyJTsDSSOFvpZWBSygvg#nyraa)
* semaphore / mutex:原本比較 binary semaphore 和 mutex 時未有掌握「擁有者」的細節,後續仔細閱讀教材後理解兩者主要差異之一是「擁有者」。
* semaphore / mutex:後續追蹤仔細閱讀教材後理解兩者主要差異之一是「擁有者」。
### 一對一討論
* 2026/6/10 授課教師測驗我對於教材的掌握程度,提及 ring buffer 與 atomic 操作,發現我對於細節的掌握度不足,如 ring buffer 的定義中寫入時空間並沒有「填滿」的時候,而是直接覆寫,此後我重新閱讀教材查閱定義細節。
* 2026/6/10 授課教師測驗我對於教材的掌握程度,提及 ring buffer 與 atomic 操作,發現我對於細節的掌握度不足,如 ring buffer 在繞完一圈後的行為是直接覆寫,此後我重新閱讀教材查閱定義細節。
## 所見所聞所感
> 10 分
* 閱讀〈因為自動飲料機而延畢的那一年〉,認知到完成一個長期專案並非如童話般一路順風,不懼失敗長期投入不一定能順利做完,但因為害怕不投入才會永遠做不完。
* 閱讀[6/2 問答簡記](https://hackmd.io/CZEAQrigR0KL2MHBbK8qnw#Xalestar)中,Xalestar 學員對於孤兒與殭屍行程的實驗方式與細緻程度,能夠參閱教材引用殭屍與孤兒的定義以及手冊定義如何辨別殭屍與孤兒,並且透過實驗發現想像與實際的不同,非常值得學習。
* 閱讀 [6/2 問答簡記](https://hackmd.io/CZEAQrigR0KL2MHBbK8qnw#Xalestar) 中,Xalestar 學員對於孤兒與殭屍行程的實驗方式與細緻程度,能夠參閱教材引用殭屍與孤兒的定義以及手冊定義如何辨別殭屍與孤兒,並且透過實驗發現想像與實際的不同,非常值得學習。
## 分數計算
| 項次 | 名稱 | 分數 |
| ---- | ---- | ---- |
| 1 | 成果發表與貢獻 | 6 |
| 2 | 作業與隨堂測驗 | 3 |
| 3 | 期末專題 | 2 |
| 4 | 與授課教師的互動 | 5 |
| 5 | 所見所聞所感 | 10 |
$$\text{GEOMEAN} = \sqrt[5]{6 \times 3 \times 2 \times 5 \times 10} = \sqrt[5]{1800} = 4.477694926940430446518844328325$$
方案 B:$1 + floor(\text{GEOMEAN}) = 1 + 4 = 5$
自我評量總分:5/10