# 2017年暑期系統軟體課程:台北場次 (時段: July 22-23, 2017) (地點: 台灣大學資訊工程系) 主講人: [jserv](http://wiki.csie.ncku.edu.tw/User/jserv) / 課程討論區: [2017 年系統軟體課程](https://www.facebook.com/groups/system.software2017/) ![](https://hackpad-attachments.s3.amazonaws.com/embedded2016.hackpad.com_Qzx0Rs7icx7_p.537916_1466354634733_os.png) ## 課前測驗參考解答 * [Q1: bit-reverse](https://hackmd.io/s/ByzoiggIb) * [Q2: multiplier](https://hackmd.io/s/r1Z_zPx8-) ## 課堂問答 * [Quiz](https://hackmd.io/s/rk64WObL-) ## 課程進度表 - [ ] 7 月 22 日 * 09:30-10:40 : 系統軟體導論 * [21 世紀的系統軟體](https://hackmd.io/s/BkeL-hLtg) * [深入理解 CPU 和異質運算核心](https://mp.weixin.qq.com/s/ieNYIhGDmBqY_urmH7O3TA) * [AI 晶片如何降低功耗?](https://zhuanlan.zhihu.com/p/25382177) * 10:50-12:00 : 軟體品質 * [軟體缺失導致的危害](https://hackmd.io/s/B1eo44C1-) * [形式化驗證](https://hackmd.io/s/H1xxp3pF0) * 13:30-14:50 : 重新理解二進位 * [重新理解數值](https://hackmd.io/s/BkRKhQGae): 誠實面對自己,你真的懂二進位嗎? * [carryless multiplication 的分析和應用](https://hackmd.io/s/HkQfalnpe) * 14:50-15:10 : 下午茶時間 * 15:10-16:20 : 計算機結構 * [Modern Microprocessors](http://www.lighterra.com/papers/modernmicroprocessors/): 探究 21 世紀的技術,從理解微處理器開始 / [重點提示和解說](https://hackmd.io/s/Hk2CscGcl) * 16:30-17:40 運算模式的巨變 * [在計算機裡頭實踐演算法](https://hackmd.io/s/HyKtIPN0) / [Programming Small](https://hackmd.io/s/HkO2ZpIYe) * [When Prefetching Works, When It Doesn’t, and Why 重點提示和解說](https://hackmd.io/s/HJtfT3icx) * 17:50-18:30 : 並行和平行運算 * [concurrency](https://hackmd.io/s/Skh_AaVix): Concurrency (並行) vs. Parallelism (平行); POSIX Threads; Thread Pool; Lock-free Thread Pool; 對 Linked-List 排序; Producer-Consumer Problem - [ ] 7 月 23 日 * 09:30-10:40 : 並行和平行運算 * [concurrency](https://hackmd.io/s/Skh_AaVix): Concurrency (並行) vs. Parallelism (平行); POSIX Threads; Thread Pool; Lock-free Thread Pool; 對 Linked-List 排序; Producer-Consumer Problem * 案例分析: [MapReduce](https://hackmd.io/s/HJNu64sJZ) * 10:50-12:00 : 編譯器、連結器,和載入器 * [編譯器和最佳化原理](https://hackmd.io/s/Hy72937Me) * [連結器和動態時期的行為](https://hackmd.io/s/HkK7Uf4Ml) * 13:30-14:50 : [虛擬機器設計與實作](https://hackmd.io/s/SkBsZoReb) * 同場加映: [編譯器/虛擬機器和區塊鏈的關聯](https://www.ledger.com/introducing-bolos-blockchain-open-ledger-operating-system) * 14:50-15:10 : 下午茶時間 * 15:10-16:20 : 以 Linux 為師 * [以 Linux 為分析對象](https://hackmd.io/s/B19wKV70x) * [淺談 Semaphore 與 Mutex](https://drive.google.com/file/d/0B-q4G2qfuMOGaDhiSlF1YzBURkU/view) / [錄影](https://www.youtube.com/watch?v=JEXwO_EoyZo) / [練習題](https://docs.google.com/document/d/1HYrW8gzn87ekAhntmrr5Dd00PN0WuRLblxFqvuNlUNg/edit#heading=h.jj4ulvjrppuw) * 16:20-17:30 : 案例分析: [server-framework](https://hackmd.io/s/B1s8hX1yg) * 17:40-18:30 : [ARM 處理器和發展趨勢](http://hackfoldr.org/arm/) ## 報名方式 1. (不限定台大或成大學生,在校學生、在職或待業的朋友都歡迎) 在 7 月 17 日中午前,完成指定的 ==[課前測驗題](https://hackmd.io/s/B1wb8CyHb)== 並提交到 ==[報名表](https://docs.google.com/forms/d/e/1FAIpQLSdLxbQV65qgPJtoS1SR_vE27iVgylwU64TMHHLM_-gK4eFk2w/viewform)==,當天 23:59 前會收到免費參與課程的確認電子郵件通知; 2. 如果無法滿足上述 (1),但仍想參與課程,請捐 NTD $4096 (或更多) 給開放文化基金會的 ==[系統軟體走向國際](http://ocf.tw/p/2017/sysprogram/)== 專案,並在 7 月 21 日 (含) 前將捐款證明寄給授課教師 <`jserv.tw@gmail.com`>; ## 課程注意須知 * 自備考卷 (A3 紙張,至少 4 張,也可到教室付費購買) 和書寫工具到指定教室; * (選擇性) 預先在自己的電腦上安裝 GNU/Linux,建議使用 lubuntu; * 為了讓課程順利進行,請先修以下材料 (提供錄影) * [你所不知道的 C 語言](http://hackfoldr.org/dykc/) * [手機裡頭的 ARM 處理器](http://hackfoldr.org/arm/) * [作業系統概念和文藝復興](http://hackfoldr.org/oscar/) * 針對優秀的在校生,我們提供交通補助,凡是滿足報名條件,且過去貢獻和編譯器、虛擬機器、作業系統、資料庫引擎有關開放原始碼專案的在校學生,請發私人訊息附上前述證明給 [Jserv 與他愉快的小夥伴](https://www.facebook.com/JservFans/) 粉絲專頁聯繫; ## 課程地點和時段 * 地點:台灣大學資訊工程系一樓 104 教室 * 時段:2017 年 7 月 22-23 日 09:30-18:30 ## 致謝 * 感謝「教育部資通訊系統軟體跨校資源中心」和「科技部深耕開源系統軟體研究計劃」贊助 ###### tags: `台灣大學` `系統軟體` `2017年`