Current Catalog Description

Process and thread programming models, management, and scheduling. Resource sharing and deadlocks. Memory management, including virtual memory and page replacement strategies. I/O issues in the operating system. File system implementation. Multiprocessing. Computer security as it impacts the operating system. Prerequisites: ECE 201 or (CSE 201 or CSE 202) and CSE 109.

Instructor: Ahmed Hassan (Fall 2022)

Textbook

Thomas Anderson & Michael Dahlin, "Operating Systems: Principles and Practice", 2nd Ed., Recursive Books, 2014, ISBN 978-0985673529

References

None

COURSE OUTCOMES

Students will have:

  1. An understanding of basic operating system concepts
  2. An appreciation computer resource management issues
  3. An understanding of how an operating system solves computer resource competition issues
  4. An understanding of processes as programs in execution and units of allocation
  5. An understanding of threads as units of execution
  6. An understanding of remote procedure calls
  7. An understanding of multiprocessing

Prerequisites by Topic

  • Systems programming in C and/or C++
  • Data types
  • Data Structures
  • Computer architecture
  • Instruction sets
  • Memory and virtual memory
  • I/O subsystems

Major Topics Covered in the Course

  • System calls
  • Processes
  • Threads
  • Interprocess communication
  • Process scheduling
  • Deadlocks
  • Memory management
  • Paging and segmentation
  • I/O software and device drivers
  • File systems
  • Multiprocessor operating systems
  • Operating system security

Assessment Plan for the Course:

The students are given 10 homework assignments, including C shell programming, two tests of one hour and fifteen minutes each, and a three hour final examination. Each test has seven questions, and the final examination typically has 15-16 questions. The assignments are rigorously tracked, and mean scores are computed for each one.

How Data in the Course are Used to Assess Program Outcomes: (unless adequately covered already in the assessment discussion under Criterion 4)

I always include the above data from the assessment plan in my self-assessment of the course. This report is also reviewed by the Curriculum Committee of the CSE Department.