Operating Systems (Spring 2020)

News

Schedule

The following schedule is tentative and subject to change without notice. Day Topic Reading 3/17 Course overview (online) Introduction to operating systems (online) 2 3/19 (online) 3/24 Architectural support for OS (online) 6 3/26 Processes (online) 4, 5 3/30 Lab #1 (7:00pm ~, online) 3/31 CPU scheduling (online) 7, 8 4/2 (online) 4/7 Virtual memory (online) 13, 14, 15, 16 4/7 Lab #2 (7:00pm ~, online) 4/9 (online) 4/14 Paging (online) 18 4/16 Page tables (online) 20 4/21 TLB (online) 19 4/21 Lab #3 (7:00pm ~, online) 4/23 Memory mapping (online) 4/28 Swapping (online) 21, 22 4/30 National Holiday 5/5 National Holiday 5/7 Virtual Memory Implementations (online) 23 5/7 Lab #4 (7:00pm ~, online) 5/12 Threads (online) 26, 27 5/14 (online) 5/18 Supplementary Class (7:00pm ~ 9:00pm) (online) 5/19 Locks (online) 28 5/21 Semaphores (online) 31 5/25 Supplementary Class (7:00pm ~ 9:00pm) (online) Condition variables (online) 30 5/26 Hard disk drives (HDDs) (online) 36, 37 5/28 Solid state drives (SSDs) (online) 44 6/1 Supplementary Class (7:00pm ~ 9:00pm) (online) 6/2 (online) 6/4 File systems (online) 39 6/4 Lab #5 (7:00pm ~, online) 6/9 File system implementation (online) 40 6/11 Fast file system (online) 41 6/16 File system consistency (online) 42 6/18 Final Exam Credit: Most of slides for this lecture are based on materials provided by the authors of the textbook and references.

Projects

For project submission and automatic grading, we are running a dedicated server at http://sys.snu.ac.kr. If you want to access the sys server outside of the SNU campus, please send a mail to the instructor. Project #6: Kernel threads A kernel thread is a thread that always runs in the kernel space. Modern operating systems heavily use kernel threads to perform a certain task asynchronously. Currently, xv6 does not support kernel threads, so it’s your task in this project to extend xv6 so that it can support the creation and termination of kernel threads.

Course Information

When 11:00 - 12:15 (Tuesday / Thursday) Where Lecture room #301-203, Engineering Building I Instructor Jin-Soo Kim Professor, Dept. of Computer Science and Engineering, SNU Language Korean Course Description This course covers topics on general operating system concepts such as process management, memory management, I/O systems, and file systems, with the in-depth study on the latest Linux operating system.