Virtualization:
Assume there is one physical CPU in a system (though now there are often two or four or more). What virtualization does is take that single (physical) CPU and make it look like many virtual CPUs to the applications running on the system.
Concurrency:
In multi-threaded applications, where each thread is independently doing things on the program's behalf, suppose that these threads access memory. If we don't coordinate access to memory between threads, the program won't work as expected.
First, the OS must support multi-threaded applications with primitives such as locks and condition variables.
Second, the OS itself was the first concurrent program — it must access its own memory very carefully.
Persistence:
making information persist, despite computer crashes, disk failures, or power outages.
Introduction to Operating Systems
the basics of the Von Neumann model of computing:
a running program: instructions (fetch -> decode -> execute)
1 The role of OS
the primary goal of making the system easy to use -- the operating system (OS)
what an OS actually does:
It takes physical resources, such as a CPU, memory, or disk, and virtualizes them.
It handles tough and tricky issues related to concurrency.
It stores files persistently, thus making them safe over the long-term.