CMP 426/CMP 697
Operating Systems

Course Information
Course Section Lecture Hours Location
CMP 426/CMP 697 TU & TH, 1 PM - 2:40 PM GI 333
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.


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:

  • 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

Grade Policy:

Your grades will be computed based in the following

  • Homework Assignment: 40 %
  • Midterm Exam 1: 30 %
  • Final Exam: 30 % for Undergradutes and 20 % for graduate students
  • Graduate Students Research Paper: 10%

Exam Schedule:

  • Midterm Exam: Tuesday, October 29th, 2019 1:00 PM – 2:40 PM
  • Final Exam: Thursday, December 19th, 2019 1:30 PM – 3:30 PM

The final exam is comprehensive.

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

Homework Assignments:

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. No late assignments will be accepted.

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 (10-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: November 12, 2019 (2-3 pages of extended abstract with at least 5 academic research papers as references)

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.

Attendance:

Students are expected to attend lectures and labs regularly and promptly. In the event of illness, or injury, students should notify me. Students who miss a class are responsible for learning materials presented in class and reading relevant textbook portions. If you need help, please do not hesitate to contact me or come to my office hours.

Technology, Blackboard and Email

We will be using a Blackboard for much of the class activities. It can be accessed through the Lehman website at www.lehman.cuny.edu. You will also need to have access to your Blackboard account. You can contact the IT Center if you have any problems accessing your account.

We will be communication with you regularly throughout the semester using your email address that is available on Blackboard. Make sure you have access to your email. If you have, any questions about your Lehman email address or your password, or if you have any problems accessing the site please call the computer helpdesk at 718-960-1111.

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.

Classroom Policies

  • Take responsibility for your education and grades – Students have a common myth that because they pay tuition they deserve to receive a passing credit. Students earn grades in accordance with course grading policies.
  • Attend every class and get to class on time.
  • Submit all your work on time.
  • When having any academic difficulties, always seek assistance from your instructor.

Chapter Slides and lecture notes are also available on Blackboard.


Homework Assigments:

Final Exams Announcements:

Operating System Examples

  • UNIX
  • Linux
  • MacOS
  • Windows
  • Android