課程名稱 |
系統軟體設計與實作特論 Advanced Topics in Software Systems Design and Implementation |
開課學期 |
110-2 |
授課對象 |
電機資訊學院 資訊網路與多媒體研究所 |
授課教師 |
黎士瑋 |
課號 |
CSIE5374 |
課程識別碼 |
922 U4770 |
班次 |
|
學分 |
3.0 |
全/半年 |
半年 |
必/選修 |
選修 |
上課時間 |
星期二7,8,9(14:20~17:20) |
上課地點 |
資111 |
備註 |
限碩士班以上 總人數上限:45人 |
|
|
課程簡介影片 |
|
核心能力關聯 |
核心能力與課程規劃關聯圖 |
課程大綱
|
為確保您我的權利,請尊重智慧財產權及不得非法影印
|
課程概述 |
This course covers advanced topics in designing and implementing software systems for modern computer hardware. The course consists of two sessions. First, we will offer lectures to introduce the essential software system, the Linux OS kernel, and walk through its design and internals in-depth. The latter part of the course will be composed of a mix of lectures and seminar presentations, covering recent advances in software systems research and developments.
The course will involve kernel programming assignments in C, paper readings, and in-class discussion of classic and new research publications on systems research. The course will cover operating systems, systems security and verification, cloud computing, distributed systems, performance optimization, and programming language.
本課程加簽公告在第一堂課時已公布並截止. 課程開放台大同學旁聽. 有意願旁聽的同學請2/25結束前跟課程助教聯絡. 逾期則不開放登記旁聽.
Thank you! |
課程目標 |
Acquire hands-on Linux kernel programming experience. Develop an understanding of the technologies used to construct modern software systems and impactful and emerging research topics. |
課程要求 |
Operating systems and computer architecture are pre-requisites. Background in computer security is highly recommended. Students interested in registering for the course but do not meet the pre-requisite should contact the lecturer for approval. |
預期每週課後學習時數 |
|
Office Hours |
備註: Mondays: 9:00 - 11:00 am |
指定閱讀 |
|
參考書目 |
|
評量方式 (僅供參考) |
|
週次 |
日期 |
單元主題 |
第1週 |
|
Introduction |
第2週 |
|
Linux: bootstrapping, hardware basics, processes |
第3週 |
|
Linux: isolation, system calls, exceptions, interrupts |
第4週 |
|
Linux: synchronization |
第5週 |
|
Linux: scheduling |
第6週 |
|
Linux: virtual memory, memory management |
第7週 |
|
Linux: memory management, devices, modules, io systems |
第8週 |
|
清明節 (no classes) |
第9週 |
|
Linux: io systems, file systems |
第10週 |
|
Linux: security |
第11週 |
|
operating systems variants (library OS, microkernel, kernel-bypass OS) |
第12週 |
|
google infrastructure |
第13週 |
|
distributed systems |
第14週 |
|
programming language and systems |
第15週 |
|
systems security |
第16週 |
|
systems security |
第17週 |
|
formally verified systems |
|