EEE3535-01 Operating Systems (Fall 2023)
Lectures:  Tuesday 1-1:50pm and Thursday 2-3:50pm at Eng-B039

Lectures-labs-credits:  3-0-3


Instructor:  William J. Song (Office: Eng-C410, Email: wjhsong {\at} yonsei {\dot} ac {\dot} kr, Phone: 02-2123-2864)

Teaching assistant:  Hyeonjin Kim (Office: Eng-B705, Email: hyeonjin_kim {\at} yonsei {\dot} ac {\dot} kr, Phone: 02-2123-7290)


Office hours:

  • Instructor:  Thursday 3-4pm, or otherwise by appointment
  • Teaching assistant:  TBD



  • Introduction to C/C++ Programming (or equivalent)
  • EEE2020 or CSI2103 Data Structures and Algorithms in C/C++
  • EEE3530 or CSI3102 Computer Architecture in RISC-V ISA


Class objectives:  This course covers the basic concepts, operations, and structures of operating systems (OS). Class objectives are as follows.

  • Learning the basic concepts of operating systems including processes, scheduling, virtual memory, multi-threading, storage, and I/O sub-systems
  • Programming practices of operating systems


Class rules:

  • Honest and ethical behaviors are expected at all times. All cheating attempts (even suspicious activities) will be seriously penalized, and the incidents will be reported to the university administration to take additional actions. No excuses will be heard. It will be one-strike out.
  • Students should complete all assignments individually but are encouraged to seek help from the instructor or teaching assistant (TA). There will be two hours of office hours every week, one by the instructor and another by the TA. Students are encouraged to use the office hours for troubleshooting of programming assignments or asking questions about class materials.
  • Discussions between students are allowed, but assignment solutions (i.e., source codes) must not be shared.
  • Lectures will be provided only in English. However, students are allowed to use Korean for Q&As.
  • Begging partial credits of assignments or exams will be regarded as cheating attempts, and those students will lose all scores. Ask questions when you think grading is mistaken not when you want extra credits for no valid reasons.



  • Operating Systems:  Three Easy Pieces, Version 1.00, by Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau (Link to Yonsei Library)



  • Attendance: 10%
  • Midterm: 15%
  • Final: 15%
  • Programming assignments:  60% (subject to change)
    • Assignment #0:  Installation
    • Assignment #1:  System Call
    • Assignment #2:  Process
    • Assignment #3:  Shell
    • Assignment #4:  Scheduling
    • Assignment #5:  Paging
    • Assignment #6:  Threading


Course plans:  (subject to change)

Weeks Dates Lectures Notes
1 9/5 9/7 Introduction Assignment #0
2 9/12 9/14 Process
3 9/19 9/21 Process Assignment #1
4 9/26 Scheduling
5 10/5 Scheduling Assignment #2
6 10/10 10/12 Scheduling
7 10/17 10/19 Virtual memory Assignment #3
8 10/26 Midterm
9 10/31 11/2 Virtual memory Assignment #4
10 11/7 11/9 Virtual memory
11 11/14 11/16 Multi-threading Assignment #5
12 11/21 11/23 Multi-threading
13 11/28 11/30 Multi-threading Assignment #6
14 12/5 12/7 File systems
15 12/12 12/14 File systems
16 12/21 Final