NTNU’s logo

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.

  1. (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)

  2. (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.