--- title: 2020 年春季 Linux 核心設計課程作業 —— quiz2 image: https://www.bigdba.org/wp-content/uploads/2019/09/dirty-cow11.jpg description: 檢驗學員對 bitwise operation, bit-field, memory allocation 的認知,推廣到兼具 small string optimization 和 copy-on-write 字串處理的實作機制中 --- # H04: quiz2 ###### tags: `linux2020` > 主講人: [jserv](http://wiki.csie.ncku.edu.tw/User/jserv) / 課程討論區: [2020 年系統軟體課程](https://www.facebook.com/groups/system.software2020/) :mega: 返回「[Linux 核心設計](http://wiki.csie.ncku.edu.tw/linux/schedule)」課程進度表 ## :memo: 預期目標 * 檢驗學員對 [bitwise operation](https://hackmd.io/@sysprog/c-bitwise), [bit-field](https://hackmd.io/@sysprog/c-bitfield), [memory allocation](https://hackmd.io/@sysprog/c-memory) 的認知 * 體驗 CoW ([copy on write](https://en.wikipedia.org/wiki/Copy-on-write)) 的手法 * 探討 [clz](https://en.wikipedia.org/wiki/Find_first_set#CLZ)/[ffs](https://www.kernel.org/doc/htmldocs/kernel-api/API-ffs.html) 的應用案例 ## :penguin: 作業要求 * 重新回答[第 2 周測驗題](https://hackmd.io/@sysprog/linux2020-quiz2),連同附帶的「延伸問題」。 * 比照 [課前測驗參考解答: Q1](https://hackmd.io/s/ByzoiggIb) 和 [Linked list 題目分析](https://hackmd.io/s/HyELy5bTz) 的模式來撰寫共筆,需要詳細分析自己的思路、參閱的材料 (以第一手材料為主,包含 C 語言規格書的章節),以及==進行相關實驗==。 * 將你的共筆加到 [2020q1 Homework2 (作業區)](https://hackmd.io/@sysprog/linux2020-homework2) * 截止日期: * Mar 21, 2020 (含) 之前