校際選修

115-1 選課時程

進行中

  • 初選第一階段 6/15/2026
  • 初選第二階段 6/22/2026
  • 校際選修 8/24/2026
  • 初選第三階段 8/31/2026
  • 開學後加退選 9/7/2026
  • 逾期加退選 9/21/2026
選課資源

作業系統總整與實作

Operating Systems Capstone

學期
114-2
學分
3 學分
當期課號
535504
永久課號
CSIC30016
開課單位
資訊科學與工程研究所
授課教師
葉宗泰
校區
光復
類別
選修
上課時間表
週二
週四
7
15:30–16:20
作業系統總整與實作
EC222
3 節連堂
8
16:30–17:20
9
17:30–18:20
A
18:30–19:20
作業系統總整與實作
EC222
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/2026_Spring/IOC5226/outline.html https://nycu-caslab.github.io/OSC2026/ 修課同學需通過第一堂課的作業系統與程式實作能力測試

評分方式

1. Lab exercise, presentation, and term project 6 hands-on lab, each 15%=90% 10% on term project or exam

週次計畫
週次主題
第 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
第 17 週
第 18 週
教科書

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"

Office Hours
時間
TBA