Course Description:


This course covers fundamental concepts in operating systems for computers, including multiprogramming,
interrupt, processes, kernel, parallelism, critical sections, deadlocks, communication, multiprocessing,
multilevel memory management, binding, name management, file systems, protection, resource allocation,
scheduling. Experience with concurrent programming, synchronization mechanisms, and interprocess
communication.


Textbook:

A. Silberschatz, P. Galvin, and G. Gangne, Operating System Concepts, 10th Edition (International Student
Version), John Wiley & Sons, Inc.


Reference:

EdSim51, https://edsim51.com/
Small Device C Compiler, http://sdcc.sourceforge.net/

Teaching Method:

Three hours of lectures per week, weekly written and programming assignments, one final project with five
checkpoints

Language of Instruction:

English


Syllabus

Chap0: History of OS
Chap1: Introduction
Chap2: System Structures
Chap3: Process Concept
Chap4: Threads
Chap5: Scheduling
Chap6: Synchronization,
Chap7: Synchronization Examples
Chap8: Deadlocks
Chap9: Main Memory
Chap10: Virtual Memory
Chap11: Mass Storage
Chap12: I/O
Chap13, Chap14: File System





Evaluation:


Midterm exam 30%
Final exam 40%
Assignments and Projects 30% (weekly, word problem + python
programming for OS algorithms)


Use of AI

The use of AI is not applicable to this course.


Course Website:

https://elearn.nthu.edu.tw/enrol/index.php?id=25982

If you try to add this course (whether CS342301 or CS342302) by extra selection, fill out
this form.


Attendance is required, whether you are officially enrolled or petitioning to add this course. Between 11:00-
11:15 on the first day of classes, we will give an online quiz, and the link will be posted on Google Meet.
The
quiz system will be closed promptly at 11:15 and will not be reopened. The same quiz will also be
administered in the other OS course by Prof. Jerry Chou. Students petitioning to add either course will only
need to take the quiz once, and the two courses will coordinate in handling the add petitions.

[Note] If you are officially enrolled in either course, you may not drop it and then petition to add so you can
switch instructors. Once dropped, you give up your opportunity to take either OS course this semester.


The actual score on the quiz will ont impact your course grade, but if you do not take the course, points will
be deducted from your course grade. The purpose is to assess the prerequisite knowledge as early feedback
for students to strengthen their background knowledge. Therefore, take the quiz with academic honesty.

Again, a reminder that all students in this course, whether officially enrolled or petitioning to add, are required
to take the prerequisite quiz on the first day.