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