Course Name: CSU0033 Operating Systems 作業系統 (Spring 2024)
Instructor: Chao Wang 王超
Teaching Assistant: Sheng-Yi Hung 洪盛益
Course Meetings: Mondays 15:30–17:20 and Fridays 10:20–11:10, in classroom B101, Gongguan Campus
Office Hours: Tuesdays and Thursdays, 10:00–noon @ room 511, Applied Science Building, Gongguan Campus; or by appointment
Midterm Exam: Week 8, Friday, in class
Final Exam: Week 16, Friday, in class
配合教育部雙語政策,此課程為 EMI 英文授課。
Contents
Course Syllabus
Operating systems (OS) stand as the core software in virtually every physical programmable 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. We hope students will learn as much as possible from this course, and that means you will need to spend some nontrivial amount of time in both textbook reading and hands-on exercises. The lecture hours will be used to expound key concepts, and both the textbooks and exercises will be the real meat that will take time 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.
This semester we will together read one of the textbooks cover-to-cover, and we will do hands-on assignments and projects, about once every 1.5 weeks, in Linux and in xv6 in QEMU. Those who would like to take this course should have some working knowledge in the C programming language.
Grading:
- Homework Assignments 40%
- Midterm Exam 20%
- Final Exam 25%
- Course Participation and In-Class Written Quizzes 15%
Textbooks
Both of the following two books are required for this course.
-
(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 and 0933-328278 Mr. Lin)
-
(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/
See the following course schedule for the coverage of these books. D stands for the first book (Dinosaur), and C stands for the second book (Comet). For example, C11–14 means Chapters 11 to 14 in the second book. We will mainly follow the development of the Comet book and read through it, while referencing to related sections in the Dinosaur book.
Course Schedule
Week # | Topic | Textbook Coverage |
---|---|---|
1 | Abstraction and Mechanism: The Process | C1–4; D1–2 |
2 | Abstraction and Mechanism: The Process (Cont.) | C5–6; D3 |
3 | Scheduling | C7–10; D5 |
4 | Memory Virtualization and Address Spaces | C11–14; D9–10 |
5 | Memory Virtualization and Address Spaces (Cont.) | C15–17; D9–10 |
6 | Paging | C18–21; D9–10 |
7 | Memory Policies and Systems; Concurrency | C22–26; D4 and D9–10 |
8 | Recaps, Catch-ups, and Midterm Exam | C26–27 |
9 | Locks and Condition Variables | C28–30; D6–8 |
10 | Semaphores, Deadlocks, and Event-Based Concurrency | C31–34; D6–8 |
11 | I/O Devices, HDDs, and RAIDs | C35–38; D11–12 |
12 | File System and Locality | C39–41; D13–14 |
13 | Crash Consistency and Logging | C42–43; D15 |
14 | SSDs and Data Integrity | C44–46; D17 |
15 | Distributed Systems and Case Studies | C47–51; D19 |
16 | Advanced Topics; Final Exam | D16–18 |
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.