CSCI 5103
Fall 2018

Class Information
Lecture Schedule and Notes
Assignments and Exams
Class Forum (Canvas)
Assignment Submission (Canvas)
Grades (Canvas)
Examples
Useful Resources

 All Lecture Notes will be posted on Canvas.

LECTURE 

SYLLABUS TOPICS TO BE COVERED 

 September 4, 6

  • 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 Canvas
  • Notes on signal handling

September 11, 13

  • Chapter 2
  • Concept of process and threads
  • Process States
  • Context switching
  • Process management data in kernel 
  • Lecture Notes 2 on Canvas

September 18, 20

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 Canvas

September 25, 27

  • Concurrent Programming and Interprocess Communication 
  • Critical section problem and Mutual Exclusion
  • Process synchronization using shared data
  • Semaphores and Mutex
  • Lecture Notes 4 on Canvas

October 2, 4

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


October 9

  • Posix  Thread Programming 
  • Lecture Notes 6 on Canvas

October 11

  • Deadlocks
  • Lecture Notes 7 on Canvas

 October 18

First Mid-Term Exam  (during class time)

October 16, 23

  • Chapter 3
  • Memory management
  • Lecture Notes 8  and 9 on Canvas

October 25, 30

  • Chapter 3
  • Virtual Memory
  • Lecture Notes 10 and 11 on Canvas
  • Working set model and WS Clock
  • Virtual Memory discussion from Chapter 3

November 1

  • Virtual Machines

November 6, 8

  • 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) )
  • Lecture Notes on Canvas
  • Synchronization in Linux kernel  (Topics from Chapters 5 and 6 from the O'Reilly Book Linux Device Drivers  (online) )

November 13

  • I/O models: polling, interrupt driven, DMA
  • Clocks, and Terminal Management
  • Disk Scheduling
  • Disk Formatting -- Interleaving and Skew
  • Chapter 5
  • Lecture Notes 11 on Canvas

November 15

Second Mid-Term Exam   (during class time)

November 20, 27, 29

  • 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
  • Lecture Notes 12 on Canvas

December 4, 6

  • Chapter 9: Security and Protection mechanisms
  • Access Matrix Models
  • ACL and Capabilities
  • Lecture Notes 13 on Canvas

December 11, 13

  • Chapter 9
  • User authentication
  • Viruses and worms
  • Digital Signatures
  • Lecture Notes 14 on Canvas

December 18

FINAL EXAM   (8:00 – 10:00 AM )