--- title: 2025 年 Linux 核心設計課程作業 —— quiz3+4 image: https://i.imgur.com/robmeiQ.png description: 檢驗學員對 hash table 和 bitwise 的認知 tags: linux2025 --- # N04: quiz3+4 > 主講人: [jserv](http://wiki.csie.ncku.edu.tw/User/jserv) / 課程討論區: [2025 年系統軟體課程](https://www.facebook.com/groups/system.software2025) :mega: 返回「[Linux 核心設計](http://wiki.csie.ncku.edu.tw/linux/schedule)」課程進度表 ## :memo: 預期目標 * 檢驗學員對於 [bitwise 操作](https://hackmd.io/@sysprog/c-bitwise)及 [rbtree](https://hackmd.io/@sysprog/linux-rbtree) 的熟悉程度 * 檢驗學員對於 [CS:APP 第二章](https://hackmd.io/@sysprog/CSAPP-ch2)的掌握:別忘了課程指定的教科書 * 引導學員接觸 Linux 核心原始程式碼及解說應用案例 ## :penguin: 作業要求 * 重新回答[第 3 周測驗題](https://hackmd.io/@sysprog/linux2025-quiz3)^從測驗一到測驗三^和[第 4 周測驗題](https://hackmd.io/@sysprog/linux2025-quiz4)^從測驗一到測驗三^ (採用 3 月 13 日晚間定案的題目),附帶的「==延伸問題==」也需要完成 * 解釋程式運作原理時,應提供對應的 [Graphviz](https://graphviz.org/) 圖例,可參照 [Linked List 題目 1 + 分析](https://hackmd.io/@sysprog/linked-list-quiz) * 比照 [課前測驗參考解答: Q1](https://hackmd.io/s/ByzoiggIb), [Linked list 題目分析](https://hackmd.io/s/HyELy5bTz) 和 [參考題解](https://hackmd.io/@RinHizakura/BysgszHNw) 的模式來撰寫共筆,需要詳細分析自己的思路、參閱的材料 (以第一手材料為主,包含 C 語言規格書的章節),以及==進行相關實驗==。 * [HackMD](https://hackmd.io/) 筆記作為開發紀錄,規範如下: * 標題格式固定為 ==2025q1 Homework4 (quiz3+4)==,其中 "quiz3+4" 是小寫,**2025q1** 表示「2025 年第 1 季」 * 共筆內容的第二行則為 **contributed by < `你的GitHub帳號名稱` >** * 確保你的 GitHub 帳號是有效的 * 無論標題和內文中,**中文和英文字元之間要有空白字元** (對排版和文字搜尋有利);文字訊息請避免用圖片來表示,否則不好搜尋和分類 * [共筆示範](https://hackmd.io/@sysprog/linux2022-sample-lab0) $\leftarrow$ 務必詳閱 [HackMD 教學](https://hackmd.io/s/quick-start-tw) * 共筆書寫請考慮到日後協作,避免過多的個人色彩,用詞儘量中性 * 不要在筆記內加入 `[TOC]` : 筆記左上方已有 Table of Contents (TOC) 功能,不需要畫蛇添足 * 不要變更預設的 CSS 也不要加入任何佈景主題: 這是「開發紀錄」,主要作為是評分和接受同儕的檢閱,不是彰顯「個人風格」的地方 * 當[在筆記中貼入程式碼](https://hackmd.io/c/tutorials-tw/%2Fs%2Fhow-to-use-code-blocks-tw)時,避免非必要的行號,也就是該手動將 `c=` 或 `cpp=` 變更為 `c` 或 `cpp`。行號只在後續討論明確需要行號時,才要出現,否則維持精簡的展現。可留意「[你所不知道的 C 語言: linked list 和非連續記憶體](https://hackmd.io/@sysprog/c-linked-list)」裡頭程式碼展現的方式 * 留意科技詞彙的使用,請參見「[資訊科技詞彙翻譯](https://hackmd.io/@sysprog/it-vocabulary)」 * 避免過多的中英文混用,已有明確翻譯詞彙者,例如「鏈結串列」(linked list) 和「佇列」(queue),就使用該中文詞彙,英文則留給變數名稱、人名,或者缺乏通用翻譯詞彙的場景。 * 在中文敘述中,使用全形標點符號,例如該用「,」,而非 "," * 撰寫的過程中,可善用 ChatGPT 一類的工具,但需要明確標示並指出裡頭謬誤和不精確之處。搭配 [ChatGPT cheatsheet](https://quickref.me/chatgpt) * 填寫 [Google 表單](https://docs.google.com/forms/d/e/1FAIpQLSfMxp3V9CDfzroGrGjtmUVUMqTHKA2L8oiPlPpusNP7IswXBQ/viewform?usp=dialog),提交開發紀錄,當系統檢查完畢時,預期將在 :rocket: [作業區](https://hackmd.io/@sysprog/linux2025-homework4)見到登記的 HackMD 超連結 * :warning: 不用等到作業完成才填寫表單,當你開始進行作業時,即可填寫表單,系統會進行必要的檢查工作。 * 截止日期: * Apr 15, 2025 (含) 之前
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.