Course Name: CSU0033 Operating Systems 作業系統 (Spring 2025)
Instructor: Chao Wang 王超
Teaching Assistant: Yung-Tien Lai 賴勇典
Course Meetings: Mondays 15:30–17:20 and Fridays 10:20–11:10, in classroom B101, Gongguan Campus
Office Hours: Wednesdays 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 team players in R&D groups for systems software. 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/).
This is a demanding course. You should expect to spend some nontrivial time in both textbook reading and hands-on tinkering. The lecture hours will be used to expound key concepts, and both the textbooks and assignments will be the real meat for you to digest. Simply put, you will learn little if you spend time only in lecture hours. Nevertheless, and hopefully, those hours spent could help prepare you to master the hard stuff.
We will do intensive code study in a unix-like teaching operating system named xv6, based on RISC-V. Those who would like to take this course should have knowledge in C language and computer architecture. We will do a pre-test during the first semester week. The topics will include C, computer architecture (the required credit course in our department), and some English. The pre-test will have nothing to do with your score in this course, but if you failed on the C and/or computer architecture part of the pre-test, you must strengthen your background before taking this course.
Grading:
- Homework Assignments 40%
- Midterm Exam 15%
- Final Exam 20%
- Course Participation 10%
- Attendance 5%
- In-Class Written Quizzes 10%
Textbooks
The following two books are required for this course:
-
(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/
-
The xv6 book: https://pdos.csail.mit.edu/6.828/2023/xv6.html
The following books are good but optional for this course:
-
The RISC-V Reader: An Open Architecture Atlas http://www.riscvbook.com/
-
(The Dinosaur Book) Operating System Concepts, 10/e global edition, by Silberschatz, Galvin, and Gagne. ISBN 978-11194-5408-3 (Bookstore contact: 02-2311-4027 Mr. Lin)
Course Schedule
See the following course schedule for our coverage of the Comet book. For example, C11–14 means Chapters 11 to 14 therein.
Week # | Topic | Textbook Coverage |
---|---|---|
1 | Abstraction and Mechanism: The Process | C1–4 |
2 | Abstraction and Mechanism: The Process (Cont.) | C5–6 |
3 | Scheduling | C7–9 |
4 | Memory Virtualization and Address Spaces | C11–14 |
5 | Memory Virtualization and Address Spaces (Cont.) | C15–17 |
6 | Paging | C18–20 |
7 | Memory Policies and Systems | C21–22 |
8 | Midterm Exam, and Some Catch-Ups | |
9 | Concurrency and Locks | C26–28 |
10 | Condition Variables, Semaphores, and Concurrency Bugs | C30–32 |
11 | I/O Devices, HDDs, and RAIDs | C35–38 |
12 | File System and Locality | C39–41 |
13 | Crash Consistency, Logging, and SSDs | C41–43 |
14 | Crash Consistency, Logging, and SSDs (Cont.) | C41–43 |
15 | Further Hands-On Study on The xv6 Operating System | |
16 | Final Exam |
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.