作業系統總整與實作 (英文授課)
Operating Systems Capstone
| 節 | 週四 | 週五 |
|---|---|---|
3 10:10–11:00 | 作業系統總整與實作 (英文授課) EC115 2 節連堂 | |
4 11:10–12:00 | ||
A 18:30–19:20 | 作業系統總整與實作 (英文授課) EC115 3 節連堂 | |
B 19:30–20:20 | ||
C 20:30–21:20 |
* 根據陽明交大上課時間表所列
We explain the details of OS design and implementation based on Linux source codes. Students have to finish a number of hands-on exercise including process management, memory management, I/O device drivers, etc. and can accumulate rich experiences on system level program and large-scale program development.
Introduction to Computer Architecture and Introduction to Operating System
class website: https://people.cs.nycu.edu.tw/~ttyeh/course/2022_Spring/IOC5226/outline.html
1. Lab exercise, presentation, and term project 10 hands-on lab, each 8%=80% 20% on term project and its presentation
| 週次 | 主題 |
|---|---|
| 第 1 週 | Course overview |
| 第 2 週 | Getting started with kernel and kernel debugging |
| 第 3 週 | Hardware basics |
| 第 4 週 | BIOS and kernel booting |
| 第 5 週 | Overview of OS implementation (process and thread, kernel synchronization, memory management) |
| 第 6 週 | Overview of OS implementation (device driver, interrupt handling, top half and bottom half driver design) |
| 第 7 週 | Overview of process design in OS |
| 第 8 週 | Device driver, Network device drivers |
| 第 9 週 | IP-layer protocol stack, TCP/UDP-layer protocol stack, Socket layer protocol stack |
| 第 10 週 | Midterm exam |
| 第 11 週 | Process management design in OS |
| 第 12 週 | Memory management design in OS |
| 第 13 週 | Block device driver |
| 第 14 週 | I/O scheduler |
| 第 15 週 | File system |
| 第 16 週 | Final exam |
OSDI references Andrew S Tanenbaum, and Albert S Woodhull, "Operating Systems Design and Implementation (3rd Edition)" Marshall Kirk McKusick, Keith Bostic, Michael J. Karels, and John S. Quarterman, "The Design and Implementation of the 4.4 BSD Operating System" Linux Kernel Robert Love, "Linux Kernel Development (3rd Edition)" Michael Beck, Harald Bohme, Mirko Dziadzka, Ulrich Kunitz, Robert Magnus, and Dirk Verworner, "Linux Kernel Internals (2nd Edition)" Daniel P. Bovet, and Marco Cesati, "Understanding the Linux Kernel, Third Edition" Network subsystem Klaus Wehrle, Frank Pahlke, Hartmut Ritter, Daniel Muller, and Marc Bechler, "Linux Networking Architecture" Christian Benvenuti, "Understanding Linux Network Internals" Device Drivers Sreekrishnan Venkateswaran, "Essential Linux Device Drivers" Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman, "Linux Device Drivers, 3rd Edition"
- 時間
- TBA