Autumn 2023
CSE301 Operating System
Course Description
Welcome to CSE301 Operating System! 🦕 This course is one of the core course of computer engineering as operating systems are essential for most computing systems to better utilize hardware resources and run user applications.
Time & Location
Monday 13:30-14:45 @ College of Electronics Information and Applied Science 136
Wednesday 13:30 -14:45 @ College of Electronics Information and Applied Science 136
Objectives
Learn the basic concepts that underlie modern operating systems
Understand how operating systems manage hardware and software
Know how an existing operating system is implemented under the hood
Structure
This course consists of three parts:
Lecture will be given by the instructor, covering the core concepts of operating systems in depth.
Exercise will be released at the end of every part, which contains theoretical questions that may be related to the exams. The exercises will NOT be graded for the final evaluation.
Presentation will be conducted at the end of every part where voluntary students will review modern operating systems and give a 15-min presentation. The presentation topic will be given in advance.
Presentation can be replaced with a 6-page written report with the same topic.
Schedule
Exercise
Part 1. Overview
Date: September 11, 2023
Link: Handout
Part 2. Process Management
Part 3. Process Synchronization
Part 4. Memory Management
Part 5. Storage Management
Part 6. File System
Presentation
Enter your name and date for your preferred topic in Google Sheet. The date must be a day of exercise (please refer to the course schedule). You may change the topic after discussion with the professor if you have a specific topic you want to investigate.
Presentations on 2023.09.27
Topic: Interrupt Handling in Linux, Presenter: 임준표
Topic: System Call Handling in Linux, Presenter: 전민하
Topic: Real-Time Operating Systems, Presenter: 오승훈
Topic: Mutex Lock vs Semphore, Presenters: 유명현, 고도규
Presentations on 2023.10.18
Topic: Operating System Structures, Presenter: 이정민
Topic: Process Management in Linux, Presenters: 백지원, 구태형
Topic: Memory Barrier and Atomic Instructions, Presenter: 강환석
Topic: Banker's Algorithm, Presenter: 김건우
Presentations on 2023.11.13
Topic: Memory Management Unit, Presenter: 방민수
Topic: Translation Look-Aside Buffer, Presenter: 이준희
Topic: Page Table Structure in Linux, Presenter: 양준석, 이우일
Topic: Flash Translation Layer, Presenter: 김민
Topic: Direct Memory Access, Presenter: 김보의
Presentations on 2023.11.22
Topic: Moore's Law and Amdal's Law, Presenter: 최성빈
Topic: BIOS vs UEFI, Presenter: 류승현
Topic: Memory-Mapped I/O, Presenter: 김현성
Topic: Clocks and Timers, Presenter: 임성은, 박현준
Topic: RAID Management in Linux, Presenter: 한상진
Presentations on 2023.12.06
Topic: Process Scheduling in Linux, Presenter: 전재현
Topic: Page Fault Handling in Linux, Presenter: 노명은, 허준수
Topic: Linker and Loader, Presenter: 최진혁
Topic: File Allocation Table (FAT), Presenter: 이준송
Topic: Virtual File System in Linux, Presenter: 전윤민
Evaluation
The grade will be given according to the following grading percentages.
Midterm Exam 35%
Final Exam 35%
Presentation 20%
Attendance 10%
Teaching Assistant
Byungchul Chae, COS Lab, Contact 📧
Literature
Avi Silberschatz, Peter Baer Galvin, and Greg Gagne: Operating System Concepts. John Wiley & Sons, Inc. 2021.