Skip to main content

C S 345

Operating Systems Design

Computer Science College of Physical and Mathematical Sciences

Course Description

Principles and concepts of operating systems design and the implementation of an operating system.

When Taught

Fall, Winter, Summer

Grade Rule

Grade Rule 8: A, B, C, D, E, I (Standard grade rule)

Min

3

Fixed

3

Fixed

3

Fixed

0

Title

Operating System Basics

Learning Outcome

Describe the basic components of an operating system and their role in implementations for general purpose, real-time, and embedded applications.

Title

Basic Concepts

Learning Outcome

Define the concepts of processes, threads, asynchronous signals and competitive system resource allocation.

Title

Shells

Learning Outcome

Show how a shell works.

Title

Scheduling Algorithms for Multi-Tasking

Learning Outcome

Explain what multi-tasking is and outline standard scheduling algorithms for multi-tasking.

Title

Mutual Exclusion Principles

Learning Outcome

Discuss mutual exclusion principles and their use in concurrent programming, including semaphore construction and resource allocation.

Title

System Memory Management

Learning Outcome

Give an overview of system memory management.

Title

Implementing File Systems

Learning Outcome

Explain how file systems are implemented.

Title

Competing Operating Systems

Learning Outcome

Discuss the features and strengths of various contemporary operating systems.

Title

Implement an Operating System

Learning Outcome

Implement a functional, pre-emptive, multi-tasking operating system written in C, including a shell, scheduler, file manager, memory manager, and synchronization components.