Skip to main content

CISC 7310X Operating Systems I

Spring 2018

by Professor Hui Chen, CUNY Brooklyn College

Section R6

Class Meeting: 06:05-08:10PM, Thursday
Classroom: Room 236 Ingersoll Hall Extension (IA-236)

Course Schedule

Topics: provide an overview of the class policy and organization; present an overview of major components of operating systems; and describe the basic organization of computer systems;

Lecture Notes
Assignment
Individual: Practice W01-1_02-01_0: set up a Github repository and make a submission. Due at Github before the class, Thursday, February 8.
Individual: Practice W01-1_02-01_1: set up a Linux virtual machine. Due at Github before the class, Thursday, February 8.
Team: Project 0: set up Github repository and make submissions. Due at Github before the class, Thursday, February 8.
Reading
Chapter 1 of the textbook (Sections 1.1, 1.3, 1.4, 1.5, 1.6, 1.7.5, 1.9)

Topics: Overview of I/O device; I/O port; memory-mapped I/O; busy waiting; interrupted I/O; direct-memory access; experiment environment.

Lecture Notes
Assignment
Team: Project 1: Building Linux Kernel Modules and Character Device Driver. Due at Github before the class, Thursday, February 22.
Reading
Chapter 1.3.4 and Chapter 5.1, 5.2, and 5.3
Additional Resources

Topics: concepts in CPU scheduling, scheduling goals and criteria, scheduling algorithms, scheduling of different types of systems (batch, interactive, and realtime), thread scheduling and some considerations in multiprocessor scheduling

Assignment
Individual: Practice W05-1_03-01: Scheduling Due at Github before the class, Thursday, March 8.
Reading
Chapter 2.4
Resources

Topics: Discuss memory management, direct addressing of physical memory, base and limit registers, concept of relocation, static and dynamic relocation, swapping, and concept of segmentation.

Assignment
Individual: Practice W06-1_03-08: Memory Management Due at Github before the class, Thursday, March 15.
Individual: Review Guide 1 and Take-Home Test 1
Reading
Chapter 3 (Sections 3.1, 3.2, and 3.7.0)

Topics: Virtual memory, paging, and page replacement algorithms

Assignment
Individual: Practice W08-1_03-22_2: Virtual Memory Due at Github before the class, Thursday, March 29.
Reading
Chapter 3 (Section 3.3, 3.4, 3.5, and 3.6)

Topics: synchronization and mutual exclusion; busy-waiting; TSL and XCHG; semaphore; monitor; message passing; barrier

Assignment
Individual: Practice W09-1_03-29_2: Process Coordination Due at Github before the class, Thursday, April 12.
Reading
Chapter 2 (Section 2.3)
Resources
March 30 - April 8, Friday-Sunday, Spring Recess

Topics: Concepts of resource deadlock, communiation deadlock, livelock, and starvation; 4 necessary deadlock conditions; deadlock handling including the Ostrich algorithm, detection ad recovery, avoidance, and preventation, deadlock related modeling and data structures including resource allocation graph and matrix-based approach.

Assignment
Individual: Practice W11-1_04-12_2: Deadlock Due at Github before the class, Thursday, April 19.
Reading
Chapter 6

Topics: Review of memory hierarchy, mass storage devices, improving reliability and performance, RAID, disk arm scheduling, error handling, stable storage

Assignment
Individual: Practice W12-1_04-19_2: Mass Storage. Due at Github before the class, Thursday, April 26.
Reading
Chapter 4 (Section 4.4) and Chapter 5 (Section 5.4)

Topics

Assignment
Team: Project 3. Due at Github before the class and in the class, Thursday, May 10.
Reading
Chapter 4 (Sections 4.1 and 4.2)

Topics

Reading
Chapter 4 (Sections 4.3 and 4.5)
Assignment
Take-Home Test 2 and Review Guide #2

Where and Where: 06:05-08:10PM, Thursday, May 17, Room 236 Ingersoll Hall Extension (IA-236)