메뉴 닫기

SWE3004 : Operating Systems (Spring 2019)

Class Time : 16:30 – 17:45 (Tue.)
                       15:00 – 16:15 (Thu.)

Room Number : #26108

Official Language : English

Instructor : Prof. Euiseong Seo

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. In addition, students are required to perform several hands-on projects with the Pintos instructional OS.

Textbook : Avi Silberschatz, Peter B. Galvin, and Greg Gagne, Operating System Concepts, 10th Edition, John Wiley & Sons, Inc. 2018.

References :

Grading : Class Attendance 10%, Projects 45% (Project 0 5%, Project 1 10%, Project 2 15%, Project 3 15%, Project 4 10%, Project 5 15%, Project 6 15%, Project 7 15%), Exams 45%

TA : Jongseok Kim (ks77sj@gmail.com), Dongkyu Choi (gmj03003@gmail.com)

Week Topic Reading Projects
Week1 Course overview    
  Introduction to operating systems

Chap. 1

The Evolution of the Unix Time-sharing System

 
 Week2 System structure Chap. 2  
  Processes Chap. 3  
 Week3 Threads Chap. 4  
  Threads (cont’d) Chap. 4  
 Week4 No class due to Conference    
  Synchronization Chap. 6  
 Week5 Synchronization (cont’d) Chap. 6  
  Synchronization (cont’d) Chap. 6  
 Week6 Synchronization (cont’d) Chap. 6  
  CPU scheduling Chap. 4  
 Week7 CPU scheduling (cont’d) Chap. 4  
  CPU scheduling (cont’d) Chap. 4  
 Week8 Midterm exam week    
  Midterm exam week    
 Week9 Deadlocks Chap. 7  
  Memory management Chap. 8  
Week10 Paging Chap. 9  
  Paging (cont’d) Chap. 9  
Week11 Address translation Chap. 9  
  Address translation (cont’d) Chap. 9  
Week12 Page replacement Chap. 9  
  Page replacement (cont’d) Chap. 9  
Week13 I/O & Storage Chap. 13  
  Storage System Chap. 12  
Week14 Solid state storage systems    
  Solid state storage systems (cont’d)    
Week15 File system internals Chap. 10  
  File system internals (cont’d) Chap. 11  
Week16 Advanced topics Chap. 14, 15  
  Final Exam    

[Notice]

  • We are going to proceed with the project description class in Korean, so attendance is not an obligation. Since all materials are in English, there will be no big problems to understand projects. If you have a problem, please send an e-mail to TA at any time.
     
  • All lab classes are uploaded at Icampus.
     
  • Project schedule [last updated 04-04 16:00]
    Green highlight : lab class, Yellow : unavailable, Red : exam period
  • xv6-skku-template

[Projects]

We will use the “xv6” instructional operating system. To successfully complete these projects, you must have excellent C programming skills and be familiar with the Linux platform.

 

Project 0

  • Due: 3/20 (Wed), 11:59 PM
  • Lab class: 3/13 (Wed), 8 PM, #85712
  • reference: Vim & ctags & cscope
  • Project0 Score [updated 04-09 11:30]
  • If you have any questions about score, mail to ks77sj@gmail.com
 

Project 1

  • Due: 3/27 (Wed), 11:59 PM
  • Lab class: 3/20 (Wed), 8 PM, #85702
  • Please contact us by e-mail. We are not in office 3/23~3/31
  • You dont’ have to implement user level program. Just we will check system call function with our user-level code.
  • Also, you don’t have to consider fork() function in this assignment. Default Process’s nice value is just 20. (Even if it was forked)
  • Project1 Score [last updated 04-03 08:30]
  • If you have any questions about score, mail to gmj03003@gmail.com
  • Project1 test file
 

Project 2

  • Due: 4/10 (Wed), 11:59 PM
  • Lab class: 4/3 (Wed), 8 PM, #85712
  • test file
  • To use the test file, you must remove -Werror in the CFLAGS line at Makefile.
  •  I will give a scores using only the files attached below (of course with a document). It will be helpful to refer it before starting project 3
  • Project2 test file
 

Project 3

  • Due: 5/1 (Wed), 11:59PM
  • Lab class: 4/17 (Wed), 8 PM, #85777
  • When double locking the mutex in mutex_lock function, return -3.
  • When argint() fails in sysproc.c, return -1.
 

Project 4

  • Due: 5/8 (Wed), 11:59PM
  • Lab class: 5/1 (Wed), 8 PM, #85712
 

Project 5

  • Due: 5/15 (Wed), 11:59PM
  • Lab class: 5/8 (Wed), 8 PM, #85712
 

Project 6

  • Due: 5/29 (Wed), 11:59PM
  • Lab class: 5/22 (Wed), 8 PM, #85712
 

Project 7

  • Due: 6/12 (Wed), 11:59PM
  • Lab class: 6/5 (Wed), 8 PM, #85712

Xv6

IA-32 & Intel 64 Architectures

QEMU

Linux

Development Tools

Useful Links