CSE 303 Operating System Design (3)

Instructor:

Jason Loew (Fall 2017)

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.

Textbook

Thomas Anderson & Michael Dahlin, "Operating Systems: Principles and Practice", 2nd Ed., Recursive Booksl, 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

RELATIONSHIP BETWEEN COURSE OUTCOMES AND STUDENT ENABLED CHARACTERISTICS

CSE 303 substantially supports the following student enabled characteristics

A. A ability to apply knowledge of computing and mathematics appropriate to the discipline

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 fiftenn 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.

© 2014-2016 Computer Science and Engineering, P.C. Rossin College of Engineering & Applied Science, Lehigh University, Bethlehem PA 18015.