CSCI 5103
Fall 2021

Class Information
Lecture Schedule and Notes
Schedule for Quizzes, Assignments, and Exams
Calendar of Important Dates
Canvas Coursepage

 

LECTURE 

SYLLABUS TOPICS TO BE COVERED 

 September 7, 9

See Overview Presentation, Lecture Notes 1 on Canvas

  • Course introduction and organization over the semester Course
  • Topics from Chapter 1: Basic concepts in operating systems - the building blocks
    • Processes
    • Files
    • I/O
  • Overview of computer hardware organization
  • Memory, I/O and Buses, Secondary storage
  • Supervisor and User modes of execution and the notion of System calls
  • Historical perspective on operating system developments

September 14, 16

Concept of process and threads Chapter 2 (Lecture Notes 2)

  • Lecture Notes 2
  • Process States
  • Context switching
  • Process management data in kernel 

September 21

CPU scheduling  and Job scheduling(Chapter 2)

  • Lecture Notes 3
  • Round-robin, FCFS, Multi-level, priority scheduling schemes
  • Real-time scheduling, Rate Monotonic Scheduling, Earliest Deadline First

September 23, 28

Concurrent Programming and Interprocess Communication (Chapter 2)

  • Lecture Notes 4
  • Critical section problem and Mutual Exclusion
  • Process synchronization using shared data
  • Semaphores and Mutex

September 30

October 5

Concurrent Programming and Interprocess Communication (Chapter 2)

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

SELF STUDY ASSIGNMENT:

  • Posix Thread Programming 
  • Lecture Notes 6 on Canvas


October 7

System Deadlocks (Chapter 6)

  • Lecture Notes 7
  • Necessary conditions for deadlocks
  • Graph model for system state representation
  • Deadlock prevention, avoidance, and detection

Banker's Algorithm

October 12, 14

Memory management (Chapter 3)_

  • Lecture Notes 8 and 9 
  • Memory management
  • Contiguous and Paged Memory Management management

October 19, 21

Virtual Memory management (Chapter 3)

  • Lecture Notes 9 
  • Virtual Memory concepts
  • Page replacement techniques

October 26, 28

Virtual Memory management (Chapter 3)

  • Lecture Note 10
  • Page replacement techniques

November 2, 4

Virtual Memory management (Chapter 3)

  • Lecture Note 10
  • Page replacement techniques

·         Working set model and WS Clock

Input-Output (Chapter 5)

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

November 4 and 5

Midterm Exam (TAKE HOME) to be handed out in the later afternoon on November 4 and it will be due on November 5 by noon, 12 pm)

November 9, 11

Linux Device Driver Programming

  • Lecture Notes on Linux Device Driver Programming
  • 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) )

November 16, 18

File Systems (Chapter 4)

  • Lecture Note 12
  • 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


November 23

File Systems (continuation of discussion) Chapter 4: 

  • Lecture Note 12
  • Inodes in UNIX and other details of its file system
  • UNIX file system operation semantics
  • File System backup and consistency check

November 30

December 2

Security and Protection mechanisms (Chapter 9)

  • Lecture Note 13
  • Access Control Models
  • ACL and Capabilities

December 7, 9

Security and Protection mechanisms (Chapter 9)

  • Lecture Note 13
  • User authentication
  • Viruses and Worms
  • Digital Signatures

December 14

Security and Protection mechanisms (Chapter 9)

  • Lecture Note 13
  • Digital Signatures
  • UNIX Security Model (SetUID)

December 21

Take-home Final Exam (Due by noon, 12 om)

It will be handed on December 20 in the afternoon.