CTP203 - Operating Systems
2012 - 2013 Fall

Department of Computer Technology and Programming
(Last updated: 26/02/2008)   (CWPS ver: 2.0.2)
M. Serhat Azgur
Instructors: M. Serhat Azgur
Assistant: Ergem Ozdemir
E-mail: azgur@ctp.bilkent.edu.tr
Lecture: Mon. 13:40-15:30 Lab7 / Wed. 08:40-10:30 GZ-54
Lab: Fri. 10:40 -12:30 Lab7
Grading:    
    Lab Quiz: 30%
    Midterm 1: 20%
    Final: 30%
    Lab: 15%
    Attendance: 5%

Course Description
Introduction to operating system concepts.
UNIX/LINUX environment. Creating and running C-Shell scripts.
Particular emphasis will be given to three major OS subsystems: process management (processes, semaphores, threads, CPU scheduling, synchronization and deadlocks), memory management (main, virtual memories, paging, swapping, segmentation) and file systems (structures, access methods, distributed systems, security).
  • More detailed syllabus for 2007/2008 Spring
    Textbooks and Other Materials:
  • Recommended: "Modern Operating Systems: International Edition, 2/E", Andrew S. Tanenbaum, 2001, ISBN: 0-13-092641-8
  • Recommended: "Weekly In-class Materials", Various
  • Recommended: "Unix - A Students Guide", Harley Hahn
  • Recommended: "Beginning Unix", Chapman&Hall
    Detailed Weekly Course Outline:
    Week Date Lecture Topics Lab
    1 13/09/2012
    17/09/2012
  • Introduction to Operating Systems
  • Computer System Overview
  • History of Operating Systems  
    2 20/09/2012
    24/09/2012
  • Operating System Overview
  • Operating System Concepts
  • Linux Environment. Login and access procedures.  
    3 27/09/2012
    01/10/2012
  • Introduction to UNIX
  • UNIX cmnds, Shell Variables & Constructs
  • Linux Environment. UNIX/LINUX commands (cont.)  
    4 04/10/2012
    08/10/2012
  • UNIX cmnds, Shell Variables & Constructs (cont.)
  • Unix commands. Labwork #1  
    5 11/10/2012
    15/10/2012
  • Operating System Structures
  • Design and Implementation
  • Virtual Machines and System Boot
  • Unix commands. Labwork #2  
    6 18/10/2012
    22/10/2012
  • Process Management
  • Process Scheduling
  • IPC. Sockets, Context Switching, Interrupt Handling
  • Unix commands. Labwork #3  
    7 25/10/2012
    29/10/2012
  • Threads
  • CPU scheduling
  • Process synchronization, semaphores, monitors
  • Unix commands. Labwork #4  
    8 01/11/2012
    05/11/2012
    MIDTERM WEEK MIDTERM WEEK  
    9 08/11/2012
    12/11/2012
  • Deadlocks
  • Conditions, Detection & Recovery
  • Deadlock Avoidance
  • Unix shell programming. Labwork #5  
    10 15/11/2012
    19/11/2012
  • Memory Management
  • Main Memory & Virtual Memory
  • Unix shell programming. Labwork #6  
    11 22/11/2012
    26/11/2012
  • Storage Management
  • File System Concepts
  • Access Methods, Directory Structures, etc.
  • Unix shell programming. Labwork #7  
    12 29/11/2012
    03/12/2012
  • Disk Management
  • I/O Systems Overview
  • Mass Storage Structures
  • Unix shell programming. Labwork #8  
    13 06/12/2012
    10/12/2012
  • Protection and Security
  • Firewalls, Standards (IEEE 802.x)
  • Unix shell programming. Labwork #9  
    14 13/12/2012
    17/12/2012
  • Distributed Systems
  • Distributed System Structure
  • Distributed File Structures
  • Unix shell programming. Labwork #10  
    15 20/12/2012
    24/12/2012
     

    End of CTP203 main page.