Introduction to Operating Systems

Schedule

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

Resources

Teaching Assistant

  • Name: 양석우, 황용하
  • E-mail: ta(at)redwood.snu.ac.kr
  • Tel.: 02-880-8370
  • Office location: 944동 8층

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
    Deadlock
    7주 Program Linking and Executable File Generation
    Dynamic Storage Allocation
    8주 Segmentation and Paging [1]
    Segmentation and Paging [2]
    9주 Demand Paging [1] – Why Demand Paging?
    중간고사 5/3(목)
    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주 기말고사  6/15(금)
  • Grading
    Homework 10%
    Midterm Exam 35%
    Final Exam 35%
    Project 20%

Put password

Put password

Put password