Skip to content

CSC 331: Operating Systems

This course will introduce three fundamental concepts in operating system (OS): Virtualization, Concurrency, and Persistence.

  • In Virtualization, we learn how OS creates abstractions through which programmers can interact with the underlying hardware. Examples of these abstractions include processes, memory spaces, and CPU scheduling.

  • In Concurrency, we learn about how OS supports sharing of physical resources among these abstractions. These include thread, lock, and semaphores.

  • In Persistence, we learn about how OS enables the long term management of information, produced or required by computer programs, in a manner that persists beyond the scope or the duration of these programs.

Understanding how operating systems work will facilitate better understanding about how programs are run by the computer hardware. This will lead to more efficient, stable, and secure programs.