CSCI 4100


None
Course Number:
CSCI 4100

Approved Starting Semester:
Fall 2022

Course Title:
Operating Systems and Architecture

Course Description (Bulletin Description):
This course provides an overview of the principles and practical aspects of operating systems. Students will learn how operating systems provide virtualization, concurrency, and persistent storage and apply these concepts in systems programming assignments.

Prerequisite:
CSCI 3400

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
1. Explain the objectives and functions of modern operating systems. 2. Analyze the tradeoffs inherent in operating system design. 3. Describe how computing resources are used by application software and managed by system software. 4. Describe the need for concurrency within the framework of an operating system. 5. Summarize techniques for achieving synchronization in an operating system. 6. Compare and contrast the common algorithms used for both preemptive and non-preemptive scheduling of tasks in operating systems, such as priority, performance comparison, and fair-share schemes. 7. Summarize the principles of virtual memory as applied to caching and paging. 8. Articulate the need for protection and security in an OS. 9. Describe the choices to be made in designing file systems. 10. Explain the relevance of the terms fault tolerance, reliability, and availability.

Topics Covered (In Outline/Calendar):
modern operating systems, operating system design, computing resource allocation and management, concurrency in operating systems, synchronization techniques, preemptive task scheduling, non-preemptive task scheduling, virtual memory caching and paging, os security, file system design, fault tolerance, reliability, availability

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
  • Apply computer science theory and software development fundamentals to produce computing-based solutions. (SLO6-CS)
Course Coordinator:
Dr. Nicholas Coleman

Instructor-in-charge:
Dr. Nicholas Coleman

Previous Professors:
Dr. Leong Lee, Dr. Nicholas Coleman

Technologies / Skills:
Operating Systems theories

Textbook(s):
Summer/Fall 2025
Title: OPERATING SYSTEMS
Edition: 2ND 14
Author: ANDERSON
Publisher: INGRAM
ISBN: 9780985673529
========================================


Go back to choose another course