校際選修

115-1 選課時程

進行中

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

作業系統設計與實作

Operating System Design and Implementation (OSDI)

學期
106-2
學分
3 學分
當期課號
5235
永久課號
IOC5108
開課單位
資訊科學與工程研究所
授課教師
曹孝櫟
校區
光復
類別
選修
上課時間表
週二
週四
週五
3
10:10–11:00
作業系統設計與實作
EC115
2 節連堂
4
11:10–12:00
7
15:30–16:20
作業系統設計與實作
EC115
A
18:30–19:20
作業系統設計與實作
EC115
3 節連堂
B
19:30–20:20
C
20:30–21:20

* 根據陽明交大上課時間表所列

概述

本課程以Linux 作業系統為基礎來講授作業系統內部的設計與實作方法。課程將透過一系列的實驗模組,來對Linux的行程管理,記憶體管理,檔案系統,輸出入系統進行深入的剖析以及修改。修課學生預計除了累積實際動手修改作業系統的經驗,亦可培養大型程式專案規劃的概念以及大量程式原始碼追蹤(trace)的能力。

先修科目

『計算機組織概論』與『作業系統概論』

評分方式

1. 學期作業、考試、評量 每週上課時數為三小時,並搭配三小時的實驗課,故每週共六小時。實驗項目數量分配為:基礎知識與核心架構(3)、行程與記憶體(3)、檔案系統(3)、網路通訊(3)。實驗課有助教協助,做完實驗即可得分。除實驗之外,有一次期中考與一次期末口頭報告。 成績計算方式為: 十個實驗, 一個實驗8%=80% 期中考(10%) 期末報告(10%)

課程大綱
  • Course overview
  • Getting started with kernel and kernel debugging
  • Hardware basics
  • Booting
  • OSDI basics
  • OSDI basics
  • Process basics
  • Device driver, Network device drivers
  • IP-layer protocol stack, TCP/UDP-layer protocol stack, Socket layer protocol stack
  • Midterm exam
  • Process Management
  • Memory management
  • Block device driver
  • I/O scheduler
  • File system
  • Final Exam
週次計畫
週次主題
第 1 週Overview of OSDI course and lab/lecture arrangement
教科書

以下為參考書目,非教科書: 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
地點
EC426
時間
2EF, 5AB
聯絡方式
sltsao@cs.nctu.edu.tw 03-5712121 ext. 54717