Skip to main content

CISC 3320 Operating Systems

Spring 2019

by Professor Hui Chen, CUNY Brooklyn College

Section MW3

Class Meeting: 03:40-04:55PM Monday and Wednesday
Classroom: 4141 Ingersoll Hall

Course Schedule

Topics: overview of class organization; overview of computer organization; overview of computer architecture; overview of oeperating system structures; overview of resources management; overview of computing environments

Lecture Notes
Assignment
  • Complete and submit individual assignments W01-1_01-28_Github and W01-1_01-28_Building_VM by next Monday's class. The descriptions of the assignments are on Blackboard.
Reading
  • Chapter 1
Resources

Topics: OS functions and services; user OS interface; system calls; type of system calls; system calls and library functions; using system calls

Lecture Notes
Reading
  • Sections 2.1 - 2.3
Resources

Topics: System calls and APIs; system programs

Lecture Notes
Assignment
  • Complete and submit individual assignment W02-1_02-04_SysCalls by next Monday's class. The description of the assignment is on Blackboard.
Reading
  • Sections 2.3 - 2.6
Resources

Topics: review of concept of interrupts and interrupt handling; Overview of I/O hardware; I/O schemes; teaming for CISC 3320.

Lecture Notes
Assignment
  • Team: Project 0: Collaboration via Git and Github Due at Github before the class, Wednesday, February 20
Reading
  • Sections 1.2, 1.3
Resources

Topics: I/O hardware, I/O subsystems, I/O performance

Assignment
  • Team: Project 1: Design and Implement a Simple UNIX Shell Due at Github before the class, Monday, February 25.
Reading
  • Sections 12.1, 12.2, 12.3, 12.4, 12.5, 12.7 and 12.8
Resources

Topics: concept of process; concept of threads; concept of process scheduling; process states, transition of process states, process control block; process creation, process termination; multirprocess architecture

Lecture Notes
Assignment
  • Complete and submit individual assignments W03-2_02-20_Kmod by 3:39pm, Wednesday, March 6. The description of the assignment is on Blackboard.
Reading
  • Sections 3.1 - 3.3
Resources

Topics: concept of interprocess communication; motivational example application programs; concepts of shared memory and message passing;

Lecture Notes
Reading
  • Sections 3.4 - 3.6
Resources

Topics: overview of threads; comparison of multiprocess and multithread architectures; introduction to multicore programming; multithreading models; thread libraries; (time permits) operating system thread libraries examples (time permits) implicit threading; (time permits) implicit threading operating systems examples; (time permits) threading issues;

Announcement and Assignment
    Due to inclement weather, the college is closed on March 5, 2019. Students are required to preview the lecture notes, sample programs, and read the textbook (Sections 4.1 - 4.4)
Lecture Notes
Reading
  • Sections 4.4 - 4.8
Resources

Topics: overview of threads; comparison of multiprocess and multithread architectures; introduction to multicore programming; multithreading models (time permits) thread libraries; (time permits) operating system thread libraries examples (time permits) implicit threading; (time permits) implicit threading operating systems examples; (time permits) threading issues;

Lecture Notes
Assignment
    Team: Project 2: Process and Thread: Context Switch. Due at Github before the class, Wednesday, April 3.
    Individual: On-line Quizzes (Released on Blackboard; Due before the midterm exam, i.e., Midnight, March 19.)
Reading
  • Sections 4.1 - 4.7
Resources

Topics: basic concepts regarding multiprogramming; scheduling criteria; scheduling algorithms

Lecture Notes
Assignment
    reminder: team: project 2: process and thread: context switch. due at github before the class, wednesday, april 2.
    Reminder: Individual: On-line Quizzes (Released on Blackboard; Due before the midterm exam, i.e., Midnight, March 19.)
Reading
  • Sections 5.1 - 5.3
Resources

Topics: thread scheduling; scheduling for multiprocessor systems; real-time scheduling; (time permits) operating system CPU scheduling examples; (time permits) algorithm evaluation

Lecture Notes
Assignment
    Team: Project 2: Process and Thread: Context Switch. Due at Github before the class, Wednesday, April 3.
    Reminder: Individual: On-line Quizzes (Released on Blackboard; Due before the midterm exam, i.e., Midnight, March 19.)
Reading
  • Chapters 5
Resources

Topics: Review for Midterm

Resources
Review guide from the textbook
Review guide posted on Blackboard
Review test posted on Blackboard

Topics: Midterm Examination

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

Lecture Notes
Assignment
    Team: Project 2: Process and Thread: Context Switch. Due at Github before the class, Wednesday, April 3.
    Individual: On-line Quiz (Quiz 7; Released on Blackboard; Due before the class on Monday, April 1)
Reading
  • Sections 9.1 - 9.3
Resources

Topics: structure of page tables, swapping, and concept of segmentation, example paging schemes (Intel and ARM).

Lecture Notes
Reading
  • Chapters 9

Topics: Virtual memory, paging, demand paging, copy-on-write;

Lecture Notes
Assignment
  • Individual: On-line Quiz (Quiz 8; Released on Blackboard; Due before the class on Monday, April 8)
Reading
  • Chapters 10

Topics: page replacement algorithms; trashing, working-set model, (time permits) frame allocation, program structures, (time permits) OS examples and (time permits) others

Lecture Notes
Assignment
  • Individual: On-line Quiz (Quiz 8; Released on Blackboard; Due before the class on Monday, April 8)
Reading
  • Chapters 10
Resources

Topics: Race condition; Critical Section; Peterson's algorithm

Lecture Notes
Assignment
  • Individual: On-line Quiz (Quiz 9; Released on Blackboard; Due before the class on Monday, April 15)
Reading
  • Chapters 6
Resources

Topics: Synchronization on uniprocessor and multiprocessor systems; memory barriers, test-and-set, compare-and-swap; mutex, semaphore, monitor; busy-waiting and non-busy-waiting semaphores

Lecture Notes
Assignment
  • Individual: On-line Quiz (Quiz 9; Released on Blackboard; Due before the class on Monday, April 15)
Reading
  • Chapters 7
Resources

Topics: OS kernel synchronization (Windows and Linux); POSIX synchronization; Java Synchronization; Non-locking solution

Lecture Notes
Assignment
  • Review example programs and programming questions in Chapter 7
Reading
  • Chapters 7
Resources

Topics:

Lecture Notes
Assignment
  • Individual: On-line Quiz (Quiz 10; Released on Blackboard; Due before the class on Wednesday, May 2)
  • Individual: In-Class Exercises and Additional Practice Questions (See Blackboard)
Reading
  • Chapters 8

Topics: April 19-28 Friday-Sunday Spring Recess

Topics : April 19-28 Friday-Sunday Spring Recess

Topics: overview of mass storage; hard disk drives (HDDs); disk/disk arm scheduling algorithms; Non-volatile memory devices (NVM); NVM scheduling; characteristics of HDDs and NVMs; comparison of HDDs and NVMs; other mass storage devices (volatile memory and tapes)

Lecture Notes
Assignment
  • Individual: In-Class Exercises and Additional Practice Questions (See Blackboard)
Reading
  • Sections 11.1, 11.2, and 11.3

Topics:

Lecture Notes
Assignment
  • Individual: In-Class Exercises and Discussion (See Blackboard)
  • Team: Project 3: In-Place Computing Sum of Large Arrays on Multicore Systems. Due before the class, Wednesday, May 15.
Reading
  • Chapters 11

Topics:

Lecture Notes
Assignment
  • Individual: In-Class Exercises and Discussion (See Blackboard)
  • Team: Project 3: In-Place Computing Sum of Large Arrays on Multicore Systems. Due before the class, Wednesday, May 15.
Reading
  • Chapters 13 and 14
Resources

Topics: A few key concepts about system security and protection.

Lecture Notes
Assignment
  • Individual: In-Class Exercises and Discussion (See Blackboard)
  • Team: Project 3: In-Place Computing Sum of Large Arrays on Multicore Systems. Due before the class, Wednesday, May 15.
Reading
  • Chapters 16 and 17
Resources

Topics: Review for the final exma.

Assignment
  • Individual: Review for the final
  • Team: Project 3: In-Place Computing Sum of Large Arrays on Multicore Systems. Due before the class, Wednesday, May 15.

Topics: Based on the college's Undergraduate Finals Exam schedule, Final Examination is to be held 3:30–5:30pm, Wednesday, May 22.