OMSE 514 Computing Foundations

Introduction to the building blocks of a basic computing machine including the central processing unit, data transfer buses, registers, program counters, various types of memories, and instruction sets. A range of processor architectures and organizations including pipelining, virtual memory and caching are explored. Also explores the principles of operating systems and how they relate to the underlying hardware structures as well as concurrency, process synchronization, process scheduling, memory management, interrupt handling, and device management. Basic understanding of C or C++ required.