Course Code: B62010H-01
Course Name: Operating System (B)
Credits: 3.0
Level: Undergraduate
Pre-requisite: Principle of Computer Engineering, C-language programming
Lecture Time: 15 weeks, 2 sessions/week, 2 hours/session
Instructors: Dr. Yungan Bao, Dr. Mingyu Chen
Course Description
This course is a required course for students with major in computer science and technology. The purpose is to enable students to master the basic principles and realization of operating system. Requirements are: understand basic concept and main module of operating system; develop computer concept (i.e., understand every level of abstraction and implementation); have basic ability of writing operating system kernel.
Topics and Schedule
1.1. Development, categories and function of operating system
1.2. Curriculum
2.1. Structure of Operating System
2.2. Project 1: writing OS boot programming
3.1. Concept and implementation of process and threads (2 hrs)
3.2. Process scheduling (4 hrs)
3.3. Example analysis (4 hrs)
3.4. Project 2: Non-Preemptive Kernel (4 hrs)
4.1. Semaphores, monitor, condition variables and other synchronizations (4 hrs)
4.2. Deadlock (2 hrs)
4.3. Inter-process communication (2 hrs)
4.4. Examples Analysis (4 hrs)
4.5. Project 3: Preemptive Kernel
5.1. Address space and address translation (2 hrs)
5.2. Page management of virtual memory (4 hrs)
5.3. Design of virtual memory (2 hrs)
5.4. Examples Analysis (4 hrs)
5.5. Project 4: Management of virtual memory
6.1. Interrupt (2 hrs)
6.2. Device Drivers (2 hrs)
6.3. Examples Analysis (2 hrs)
6.4. Project 5: Inter-process communication and device drivers
7.1. Magnetic tape, disk, principle of SSD storage medium (2 hrs)
7.2. Basic concepts of file system (2 hrs)
7.3. File organization and directory (2 hrs)
7.4. File performance, network file system (2 hrs)
7.5. Reliability of file system, influence of storage medium to file system (2 hrs)
7.6. Examples Analysis (2 hrs)
7.7. Project 6: File system
8.1. Introduction of current operating system research
Grading
Textbook
Anderw S. Tanenbaum, Modern Operating Systems (English version), 3rd, Machinery Industry Press. ISBN: 9787111265276
Reference textbook:
[1] New Design Team, Art of design of Linux Kernel, 2nd, Machinery Industry Press. ISBN: 9787111421764
[2] Silberschatz, Galvin, and Gagne,Operating System Concepts 9th Edition, ISBN: 9781118063330
Reference