Contact PSU | PSU FAQs
future students current students faculty + staff Alumni + Friends
Computer Science
Maseeh College of Engineering and Computer Science
  • contact us
  • Maseeh College
Home Prospective Students
  • Prospective Students
  • Undergraduate Programs
  • Graduate Programs
  • Graduate Admissions Information
  • Biomedical Informatics
  • International Programs
  • Capstone
  • Forms
People
  • People
  • Faculty
  • Staff
  • Grad Students
  • IAB Members
Research
  • Research
  • Theses and Dissertations
  • Technical Reports
Courses Schedules
  • Schedules
  • Archived Schedules
Programs
  • Programs
  • Undergraduate Programs
  • Graduate Programs
  • Biomedical Informatics
  • International Programs
  • Capstone
  • Forms
Resources
  • Advising
  • Employment
  • Directions/Contact Info
  • Support
  • Student Groups
  • Forms
The page you are looking for has moved, please update your bookmark accordingly.

CS 333 Introduction to Operating Systems


Credit Hours: 4
Course Coordinator: Karen Karavanic
Course Description: Introduction to the principles of operating systems and concurrent programming. Operating system services, file systems, resource management, synchronization. The concept of a process; process cooperation and interference. Introduction to networks, and protection and security. Examples drawn from one or more modern operating systems. Programming projects, including concurrent programming. Prerequisite: CS 201, 202.
Prerequisites: CS 201, 202
Goals: To expose students to the fundamental architectural and algorithmic concepts involved in the design and implementation of modern operating systems. This will include the design and coding of concurrent programs.

Upon the successful completion of this course students will be able to:

  1. Read technical material that refers to operating system concepts.
  2. Write system-level code.
  3. Apply synchronization-related concerns when implementing code.
  4. Continue on to study advanced operating systems.
  5. Describe observed application runtime behavior.
Textbooks: Operating System Concept Essentials, by Silbershatz, Galvin, and Gagne, John Wiley & Sons 2011. ISBN 978-0-470-88920-6.
References: The C Programming Language, 2nd ed.Kernighan and Ritchie, Prentice Hall, 1998. ISBN 0131103628;
Practical Guide to Linux Commands, Editors, and Shell Programming, A (2nd Edition) ISBN 0131367366
Major Topics: Processes, inter-process communication, concurrent programming, scheduling, memory management, file systems, synchronization, device management, introductions to protection & security and to networking.
Laboratory Exercises:

CAC Category Credits Core Advanced
Data Structures 0.5
Algorithms 0.5
Software Design 0.5
Computer Architecture 0.5
Programming Languages

Oral and Written Communications: Every student is required to submit at least 1 written report of typically 5 pages.
Social and Ethical Issues: None.
Theoretical Content: Deadlock and resource graph models. 3 hours (out of 40 total)
Problem Analysis: Students must design a shell program based on knowledge of desired shell behavior. They must solve the problem of correct concurrent process synchronization, and be able to analyze their solution for correctness. Additional projects present a more advanced aspect of an Operating System that students must implement and/or study (for example, in the paging study project, students must design and implement a set of performance experiments, then write a report to explain their results.)
Solution Design: Solution design is part of the 2 or 3 projects assigned. One project is a simple Operating System shell, and one varies by course offering, for example, write a simulator to evaluate paging strategies.
  • Give to PSU
  • PSU FAQs
  • Contact PSU
  • Find People
  • Maps/Directions
  • PSU Sitemap
  • © 2010