2016q1 Homework #4
預期目標
- 複習 / 重新學習後續課程所需要的背景知識
- 延續 2016q1: Homework3 和驗證 2016q1 第 6 週提及的多執行緒設計概念
注意: Homework 4 包含 2 部份,請詳細閱讀
作業要求 (A)
- 在 4 月 17 日前,閱讀指定材料的 2 分之 1 以上,並在「作業區」記錄學習心得和疑惑,涵蓋以下主題:
- 計算機組織結構
- ARM 處理器架構
- 系統程式概念
- C 語言程式設計
- 建議花 4 個整天來進行
- 示範用的 Hackpad 頁面 (請勿直接編輯,而是建立新的 Hackpad 頁面)
- 提及參考資料的標題和超連結
- 提問要標注頁碼,最好附上原本的敘述
- 本作業非常重要,授課教師會斟酌回覆你的提問
計算機組織結構
ARM 處理器架構
系統程式概念
C 語言程式設計
- Deep C (前 246 頁)
作業要求 (B)
- 快速複習 POSIX Thread Tutorial,並研究 C-Thread-Pool 的實做
- 記得一併學習 C-Thread-Pool 提供的 test suite
- 以 lock-free thread pool 改寫 Homework 3 裡頭的 server-framework,並且證實效能的改善
- 指出 server-framework 實做內部對於 semaphore, mutex, condition variables 的調整,並且要指出調整同步處理機制後,對效能的改善
- 自 server-framework 抽出關鍵程式碼,建立 新的 Git repository,確保有一致的功能,然後重新測試效能
- 在 4 月 11 日前完成,並將開發紀錄詳實更新於 Homework 3 的作業區
- 不需要建立新的 hackpad
- 直接在 Homework 3 裡頭 fork 出來的 server-framework 中修改程式碼,若建立新的 git repository,則務必在共筆提及