Introduction to Operating Systems

Schedule

  • Class hours: 14:00~15:30 (화, 목)
  • Location: 301동 106호
  • Office hours: 15:30~16:00 (목)

Resources

Teaching Assistant

  • Name: 민우영, 신필규
  • E-mail: ta(at)redwood.snu.ac.kr
  • Tel.: 02-880-8370
  • Office location: 301동 853-4호

Syllabus

  • Objectives

  • 본 강의의 목적은 최신 운영체제를 이해하고 활용할 수 있도록, 운영체제의 내부 구조를 학습하고, 운영체제를 구성하는데 필요한 이론과 실제를 공부하는데 있다. 이를 위해 멀티태스킹과 CPU 스케쥴러, 메모리 관리 기법, 입출력 장치 관리자와 파일 시스템 등의 기술적 사항을 학습한다. 학습한 내용을 숙지 할 수 있도록 4단계로 구성된 운영체제 개발 실습 프로젝트를 수행한다.

  • Textbook: "Operating System Concepts (9th Edition)" by Abraham Siberschatz, Peter Baer Galvin and Greg Gagne

  • Prerequisites: C 프로그래밍, 자료구조와 알고리즘, 컴퓨터의 구조를 선수강하고 수강하는 것이 바람직하다.

  • Weekly schedule

  • 차수 수업 내용
    1주 Introduction to OS
    2주 Review of Computer Hardware
    Processes and Threads [1] - Process Concept
    3주 Processes and Thread [2] – Process Implementation
    Processes and Threads [3] – Context Switching
    4주 Processes and Threads [4] - Threads
    CPU Scheduling [1] - Basics
    5주 CPU Scheduling [2] - Scheduling Policies
    Process Synchronization [1] - Semaphores
    6주  Process Synchronization [2] - Monitors
    중간고사
    7주 Deadlock
    Program Linking and Executable File Generation
    8주 Dynamic Storage Allocation
    Segmentation and Paging [1]
    9주 Segmentation and Paging [2]
    Demand Paging [1] – Why Demand Paging?
    10주 Demand Paging [2] – Virtual Memory Management
    Demand Paging [3] – Thrashing and Working Set
    11주 I/O Devices and Device Drivers [1] – I/O Hardware
    I/O Devices and Device Drivers [2] – Device Drivers
    12주 File Systems [1] – Files and Directories
     File Systems [2] – File System Organization
    13주 File Systems [3] – Disk Scheduling
    14주 Review
    15주 기말고사
  • Grading
    Homework 10%
    Midterm Exam 35%
    Final Exam 35%
    Project 20%
     

Put password

Put password

Put password