CMP 426 & CMP 697 - Operating Systems
Spring 2026 Syllabus

Course Information
Course Section Lecture Hours Location
CMP 426 & CMP 697 - 01 Tu & Th 12:00 pm – 1:40 pm GI 333
Contact Information
Instructor: Steven Fulakeza Email: steven.fulakeza(at)lehman.cuny.edu
Phone: NA Office Location: GI 232
Office Hours:
Instructor Availability: I respond to students' emails regularly, but please note that I do not typically check email messages during late hours on weekdays. Additionally, I do not monitor these platforms on weekends, as I reserve and dedicate this time to family, rest, and religious observances. Any messages received during these times will be addressed when I am back online.



CMP 426 Course Description: 4 hours, 4 credits

Operating systems and their role in various types of computer systems; the principles of multiprogramming; algorithms for resource allocation; multiple-computer systems. PREREQ: CMP 334 and CMP 338.

CMP 697 Course Description: 4 hours, 4 credits

A study of the functions and implementation of operating systems for various sizes and types of computers. Processor, storage, and device management. Paging algorithms, thrashing. File systems, concurrency, deadlocking, semaphores, and synchronization.

Course Objectives:

At the end of the course, students should be able to:

  1. use the command line to interact with the operating system
  2. explain operating systems and their role in various types of computer systems
  3. describe the basic structure of an operating system and its components
  4. describe the concept of a process, threads and how processes deal with scheduling, cooperation, and communication with other processes
  5. describe CPU scheduling algorithms and be able to compare them
  6. explain the classical problems in process synchronization and know several different ways to solve such problems, including semaphores, critical regions, and monitors
  7. explain how to characterize and handle deadlocks, including prevention, avoidance, detection, and recovery
  8. understand main memory and virtual memory and describe several different schemes for managing main memory, including swapping, virtual memory, paging, and segmentation
  9. describe file/storage management
  10. discuss how disks are structured and how their space is managed by the operating system

Textbook:

Grade Policy:

Your grades will be computed based on the following:

CMP 426:

Activity Percentages
Participation Activities from the textBook and Brightspace Quizzes 10%
Homework Assignments 20%
Midterm Exam 32%
Final Exam 38%

CMP 697:

Activity Percentages
Participation Activities from the textBook and Brightspace Quizzes 10%
Homework Assignments 20%
Midterm Exam 27%
Final Exam 33%
Research Paper and Presentation (for graduate students only) 10%

Grading Scale CMP 426:

Letter Grade Ranges%
A 93 - 100
A- 90 - <93
B+ 87 - <90
B 83 - <87
B- 80 - <83
C+ 77 - <80
C 73 - <77
C- 70 - <73
D+ 67 - <70
D 63 - <67
D- 60 - <63
F <60

Grading Scale CMP 697:

Letter Grade Ranges%
A 93 - 100
A- 90 - <93
B+ 87 - <90
B 83 - <87
B- 80 - <83
C+ 77 - <80
C 73 - <77
C- 70 - <73
F <73

Make-up and Alternate Exams Policy:

Make-up exams will not be provided unless a student's absence is due to an unavoidable circumstance. In such cases, the student must submit a formal written request along with appropriate documentation to substantiate the reason for their absence.

All exams are scheduled to be taken in person on campus. If you are unable to attend the in-person exam, please consider enrolling in the course during a subsequent semester when your schedule permits.

Exam Schedule:

  • Midterm Exam Date: Friday, 03/31/2026 from 2:00 pm to 3:40 pm
  • Final Exam Date: Friday, 05/26/2026 from 2:00 pm to 4:00 pm

The exams are scheduled to be in person on campus.

Final Exam Policy:

The final exam is comprehensive. If your score on the final exam is higher than your midterm exam score, the final exam score will replace the midterm exam score when calculating your final course grade. This substitution will be applied automatically during final grade calculations.

This policy does not apply to students who:

  • are found to have committed academic dishonesty on any assignment, exam, or other course-related work, or
  • did not take the midterm exam.

Note: Missed final exam = Unofficial Withdraw (WU).

Homework Assignments and Submission

Several homework assignments are given during lectures. Students need to work on the homework for preparing exams but may not need to submit the homework assignments to the instructor. Some selected homework problems will be assigned as formal assignments to be submitted for grading.

Students must work in their own assignments unless I state otherwise. No late assignments will be accepted.

Homework assignments will include the following areas and more:

  • Process creations/executions based on Linux/UNIX API and Win API
  • Message based communications based on Linux/UNIX API
  • Shared memory-based communications between processes based on Linux/UNIX API and WIN API
  • Multithreading based on POSIX API, Win API, Java threads
  • Java nexus IO (memory mapped IO), Windows memory mapped IO
  • Synchronization based on UNIX System V API, POSIX API, Win API
  • Linux kernel module programming/driver programming

Graduate Students Research Paper:

For Graduate Students Only (CMP 697): Research Paper (12 - 15 pages double space in 12 fonts) in various contemporary research areas such as:

  • Threading issues in Linux kernels
  • Fast mutual exclusions
  • Virtualization and cloud computing
  • File systems in solid state devices
  • In-memory file systems
  • in memory DBMS
  • Operating System Support for Mobile Applications

Some details about research paper writing and presentation will be discussed during office hours. Research Paper Proposal Due: March 31, 2026 by 11:59 pm via email (1 page of extended abstract with at least 5 academic research papers as references)

Research Paper Due Date: May 19, 2026, by 11:59 pm via email

Research Paper Presentation Date: May 19, 2025 at the beginning of class

Survey Research Paper Structure

  1. Title, name, date, course number
  2. Abstract: This is a brief summary that describes your entire paper. Your abstract should contain 150 - 300 words. You have to write this last.
  3. Introduction: Your introduction should provide the background problem you are researching.
  4. Body of the paper and discussion
  5. Conclusion that summarizes the paper and describes future work for the research
  6. References: ACM = Association of Computing Machinery

Honor Code

Students are encouraged to study together. However, you must do your own work for all your homework assignments, projects and exams. You should never copy code or antwork from the internet or another student. You are responsible for knowing and following Lehman's academic integrity code (available from the Undergraduate Bulletin, Graduate Bulletin, or the Office of Academic Standards and Evaluations). All incidents of cheating will be reported to the Vice President of Student Affairs.

Expectations

Students are expected to learn both the material covered in class and the material in the textbook and other assigned reading. Completing homework is an essential part of the learning experience. Students should review topics from prior courses as needed using old notes and books.

Blackboard & Communication

I will be communicating with you on a regular basis throughout the semester using the email address listed on Blackboard for this course. You are required to make sure that the email address on Blackboard is your current Lehman email address and you must check it on a regular basis. There will be no acceptable excuse for missing an email announcement.

Accommodating Disabilities:

Lehman College is committed to providing access to all programs and curricula to all students. Students with disabilities who may need classroom accommodations are encouraged to register with the Office of Student Disability Services. For more info, please contact the Office of Student Disability Services, Shuster Hall, Room 238.
Phone number: 718-960-8441
Email: disability.services@lehman.cuny.edu
Webpage: http://www.lehman.edu/student-disability-services


Tentative Schedule:

Week Day Date Topic Reading Materials
1101/27/2026Introduction, Syllabus, Chapter 1Syllabus & Chapter 1
1201/29/2026Chapter 1Chapter 1
2302/03/2026Chapter 2 - OS Structures: OS Services, User and OS Interface, Shell, Kernel, System callsChapter 2
2402/05/2026Chapter 2 - OS Structures: System calls, System Services, Linkers and Loaders Chapter 2
3502/10/2026Chapter 2 - OS Structures: Operating-System Design and Implementation, Operating-System StructureChapter 2
3X02/12/2026No Classes - College is Closed - Lincoln Birthday
4X02/17/2026No Classes Scheduled
4602/19/2026Chapter 3 - Processes: Process concept, Process state, process control block, Process scheduling, Operations on ProcessesChapter 3
5702/24/2026Chapter 3 - Processes: Write a program to create and execute a process using the fork() system callChapter 3
5802/26/2026Chapter 3 - Processes: Interprocess Communication, Asynchronous, Synchronous communicationChapter 3
6903/03/2026Chapter 3 - Processes: Sockets, PipesChapter 3
61003/05/2026Chapter 4 - Threads & Concurrency: Threads, relationship to processes, creation/terminationChapter 4
71103/10/2026Chapter 4 - Threads & Concurrency and Chapter 5 - CPU SchedulingChapter 4 & 5
71203/12/2026Chapter 5 - CPU SchedulingChapter 5
81303/17/2026No Classes Scheduled
81403/19/2026Chapter 5 - CPU SchedulingChapter 5
91503/24/2026Chapter 6 - Synchronization Tools: Critical sections, Peterson's, Atomic hardware solutionsChapter 6
91603/26/2026Exam ReviewRead & Review Chapters 1 through 5
101703/31/2026Midterm examRead & Review Chapters 1 through 5
101804/02/2026Spring recess
111904/07/2026Spring recess
112004/09/2026Spring recess
122104/14/2026Chapter 6 - Synchronization Tools: Mutexes, spinlocks, SemaphoresChapter 6
122204/16/2026Chapter 7 - Synchronization Examples: Producer-Consumer, Readers-Writers, Dining Philosophers and Chapter 8 - Deadlocks: Deadlocks, Deadlock detection, AlgorithmsChapter 7 & Chapter 8
132304/21/2026Chapter 8 - Deadlocks: Algorithms, Recovery from DeadlockChapter 8
132404/23/2026Chapter 8 - Deadlocks: Algorithms, Recovery from DeadlockChapter 8
142504/28/2026Chapter 9 - Memory Management - Contiguous memory allocationChapter 9
142604/30/2026Chapter 9 - Memory Management - Relocation and Paging, Hierarchical PagingChapter 9
152705/05/2026Chapter 9 - Memory Management - SwappingChapter 9
152805/07/2026Chapter 10 - Virtual Memory - Demand Paging, COWChapter 10
162905/12/2026Chapter 10 - Virtual Memory - Page Replacement, Thrashing, Working setChapter 10
163005/14/2026Chapter 11 - Storage Management - HDD Scheduling and RAID StructureChapter 11
173105/19/2026Chapter 11 - Storage Management - HDD Scheduling and RAID Structure and Exam ReviewChapter 11
173205/21/2026Study for your Final Exam
183305/26/2026Final Exams

Operating System Examples

  • UNIX
  • Linux
  • MacOS
  • Windows
  • Android