NTNU’s logo

Course Name: CSU0033 Operating Systems 作業系統 (Spring 2026)
Instructor: Chao Wang 王超
Teaching Assistant: TBA
Course Meetings: Mondays 15:30–17:20 and Fridays 10:20–11:10, in classroom B101, Gongguan Campus
Office Hours: Tuesdays and Thursdays, 14:00–16:00 @ room 511, Applied Science Building, Gongguan Campus; or by appointment
Midterm Exam: Week 8, Monday, in class
Final Exam: Week 16, Monday, in class

配合教育部雙語政策,此課程為 EMI 英文授課。

Contents

Course Syllabus

Operating systems (OS) stand at the core in virtually every modern computing systems. From Apps developers to firmware engineers, knowledge of how OS works often makes them better players in system development. This one-semester course is designed for third-year undergraduate engineering students, and together we will learn the essentials of operating systems, both theory and practice.

This course will cover topics that are considered standard: processes and their management and synchronization, memory and storage management, and file systems, or put in another way, virtualization, concurrency, and persistence (https://pages.cs.wisc.edu/~remzi/OSTEP/)

We will do intensive code study in xv6, a unix-like operating system running on RISC-V. Those who would like to take this course must have knowledge in C language and computer architecture (those covered in this book: (https://books.google.com.tw/books/about/Computer_Organization_and_Design.html?id=1lD9LZRcIZ8C&redir_esc=y)).

Grading:

  • Homework Assignments 30%
  • Midterm Exam 30%
  • Final Exam 30%
  • In-Class Written Quizzes 10%

Textbooks

The following three books are required for this course:

  1. (The Comet Book) Operating Systems: Three Easy Pieces, by Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau (University of Wisconsin-Madison). Book web site: https://pages.cs.wisc.edu/~remzi/OSTEP/

  2. The xv6 book: https://pdos.csail.mit.edu/6.828/2023/xv6.html. This is very good documentation of xv6.

  3. The RISC-V Reader: An Open Architecture Atlas http://www.riscvbook.com/. All the RISC-V knowledge needed for this course can be found here.

The following books are good reference but optional for this course:

  1. Operating System Concepts, 10/e global edition, by Silberschatz, Galvin, and Gagne. ISBN 978-11194-5408-3 (Bookstore contact: 02-2311-4027 Mr. Lin)

  2. McKusick, Marshall Kirk, George V. Neville-Neil, and Robert NM Watson. The design and implementation of the FreeBSD operating system. Pearson Education, 2015. (find it on amazon.com)

Course Schedule

This semester we will learn the following topics. The tab “Chapter” shows their correspondence to the chapters in the Comet book. For example, C11–14 means Chapters 11 to 14 therein.

# Topic Chapter
1 Abstraction and Mechanism: The Process C1–6
2 Scheduling C7–9
3 Memory Virtualization and Address Spaces C11–17
4 Paging, Memory Policies and Systems C18–22
5 Concurrency and Locks C26–28
6 Condition Variables, Semaphores, and Concurrency Bugs C30–32
7 I/O Devices, HDDs, and RAIDs C35–38
8 File System and Locality C39–41
9 Crash Consistency, Journaling, and Logging C41–43
A Guest Lecture on FreeBSD and Open Source OS Development

Accessibility

Students in need are encouraged to bring their considerations to the instructor.

Academic Integrity

All homework assignments and exams must be completed individually and independently, except as specifically allowed by the instructor.

Academic integrity is a key component of your education, which is for your benefit. Anyone found to be cheating or helping someone else cheat will receive zero score for that homework/exam. Please reflect on the university’s motto: Sincerity 誠, Integrity 正, Diligence 勤, Simplicity 樸.

Homework Assignment

All homework assignments will be announced on Moodle.