CSCI 5103
Spring 2018

Class Information
Lecture Schedule and Notes
Assignments and Exams
Class Forum (Moodle)
Assignment Submission (Moodle)
Grades (Moodle)
Examples
Useful Resources
 All Lecture Notes are posted on Moodle.
LECTURE  SYLLABUS TOPICS TO BE COVERED 
 January 17
January22
  • Course organization over the semester
  • Topics from Chapter 1: Basic concepts in operating systems - the building blocks
    • Processes
    • Files
    • I/O
  • Historical perspective
  • Overview of computer hardware organization
  • Primary  memory and secondary storage
  • I/O and Buses
  • File systems
  • System calls
  • See Lecture Notes 1 on Moodle
January 24
January 29
  • Chapter 2
  • Concept of process and threads
  • Process States
  • Context switching
  • Process management data in kernel 
  • Lecture Notes 2 on Moodle
January 31,
 February 5

CPU scheduling   and Job scheduling

  • Round-robin, FCFS, Multi-level, priority scheduling schemes
  • Real-time scheduling, Rate Monotonic Scheduling, Earliest Deadline First
  •  Lecture Notes 3 on Moodle
February 7
February 12
  • Concurrent Programming and Interprocess Communication 
  • Critical section problem and Mutual Exclusion
  • Process synchronization using shared data
  • Semaphores and Mutex
  • Lecture Notes 4 on Moodle

February 14

Februrary 19

  • Producer-consumer problem
  • Reader-writer problem
  • Dining Philosophers problem
  • Hoare Monitor
  • Implementations of monitors using semaphores
  •  Lecture Notes 5 on Moodle

February 21
  • Posix  Thread Programming 
  • Lecture Notes 6 on Moodle
February 26
  • Deadlocks
  • Lecture Notes 7 on Moodle
 February 28 First Mid-Term Exam  (during class time)
March 5
March 7
  • Chapter 3
  • Memory management
  • Lecture Notes 8  and 9 on Moodle
March 12
March 14
               SPRING BREAK 
March 19
March 21
  • Chapter 3
  • Virtual Memory
  • Lecture Notes 10 and 11 on Moodle
  • Working set model and WS Clock
  • Virtual Memory discussion from Chapter 3
March 26
  • Virtual Machines
March 28
  • Linux Kernel Modules and Device Driver Programming
  • Synchronization in Linux kernel  (Topics from Chapters 5 and 6 from the O'Reilly Book Linux Device Drivers  (online) )
  • Notes: 1-on-1.pdf , 3-on-1.pdf , 6-on-1.pdf
  • Synchronization in Linux kernel  (Topics from Chapters 5 and 6 from the O'Reilly Book Linux Device Drivers  (online) )
  • Notes: 1-on-1.pdf , 3-on-1.pdf , 6-on-1.pdf
March 28
April 2
  • I/O models: polling, interrrupt driven, DMA
  • Clocks, and Terminal Management
  • Disk Scheduling
  • Disk Formatting -- Interleaving and Skew
  • Chapter 5
  • Notes: 1-on-1.pdf , 3-on-1.pdf ,  6-on-1.pdf ,
April 11 Second Mid-Term Exam   (during class time)
April 4
April 9
April 16
April 18
  • Chapter 4:  File Systems
  • File systems - interfaces and implementation
  • Unix file system operation semantics
  • File system implementation
  • Inodes in Unix and other details of its file system
  • File System Consistency Check
  • Buffering of data in file systems
  • DOS file system
  • Notes: 1-on-1.pdf , 3-on-1.pdf , 6-on-1.pdf ,
April 23
April 25
  • Chapter 9: Security and Protection mechanisms
  • Access Matrix Models
  • ACL and Capabilities
  • Notes: 1-on-1.pdf , 3-on-1.pdf , 6-on-1.pdf,
April 30
May 2
  • Chapter 9
  • User authentication
  • Viruses and worms
  • Digital Signatures
  • Notes: 1-on-1.pdf , 3-on-1.pdf , 6-on-1.pdf,
May 8 FINAL EXAM   (10:30-12:30 )