
The basic software of a computer is called its operating system (OS). The operating system loads other programs to create processes. Programs use the file system, network, and other services provided by the OS. There are many operating systems, including Windows and MacOS, but in this class we will focus on Unix and Linux. The basic concepts of processes, system calls, memory management and virtual
memory, file systems, networking, security and other subsystems will be presented. Because concurrency and parallelism are fundamental, and are becoming increasingly important at the application level, students will write at least one concurrent program.