CMP 426/CMP 697
Operating Systems

Course Information
Course Section Lecture Hours Location
Contact Information
Instructor: Steven Fulakeza Email: steven.fulakeza(at)lehman.cuny.edu
Phone: NA Office Location: GI 232
Office Hours: Mondays & Wednesdays from 12:50 pm to 1:50 pm and 03:50 pm to 4:50 pm
Instructor Availability: I reply to students' emails regularly but please note that I do not typically check email or Slack messages during late hours on weekdays, and I do not check these at all on the weekends in order to devote time to family, rest, and religious observances. Messages received during these times will receive attention once I am back online.

Lecture Schedule: Tuesdays and Thursdays: 4:00 PM - 5:40 PM (GI 333)

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 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:

  • A study of the functions and implementation of operating systems for various sizes and types of computers.
    • Topics include: introduction to computer systems, process and thread concepts, threads/process coordination, memory management, file/storage management, distributed operating system issues, protection and security issues.

Textbook:

A. Silberschatz, P. Galvin, and G. Gagne, Operating System Concepts, 9 th Edition, John Wiley & Sons, 2013. ISBN 978-1-118-06333-0

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.

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.

Graduate Students:

For Graduate Students Only (CMP 697): Research Paper (as a part of assignment) (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; some details about research paper writing and presentation will be discussed during office hours. Research Paper Proposal Due: September 27, 2018 (2-3 pages of extended abstract with at least 5 academic research papers as references)

Grades:

Your grades will be computed based in the following

  • Homework Assignment: 15 %
  • Exam 1: 25 %
  • Exam 2: 25 %
  • Final Exam: 35 % for Undergradutes and 2 % for graduate students
  • Graduate Students Research Paper: 10%

The final exam is comprehensive.

Homework Assigment:

There will be several homework assignment throughout the semester. Students must work on their own assignments. No late assignments will be accepted.

Exam Schedule:

TBA

There are no make-up exams. However, makeup exam might be given if and only if when a student's absence is unavoidable. In such a case, the student must file formal written request with substantial evidence.

Announcements:

TBA

Course Outline:

Overview

  • Chapter 1: An Overview of Operating Systems
  • Chapter 2: Computer System and OS Structures

Process management

  • Chapter 3: Process Concept
  • Chapter 4: Threads
  • Chapter 5: Process and Threads Synchronization
  • Chapter 6: CPU Scheduling
  • Chapter 7: Deadlocks

Memory and Storage Management

  • Chapter 8: Memory Management
  • Chapter 9: Virtual Memory
  • Chapter 10: File System Interface
  • Chapter 11: File System Implementation
  • Chapter 12: IO Systems

Distributed Systems

  • Distributed System Structures
  • Distributed File Systems
  • Distributed Coordination

Protection & Security

  • Chapter 14:
  • Chapter 15

Homework Assigments:

TBA