Imagine a workshop receiving orders meant for every business on the street. A manager sorts each request and sends it to the right specialist. An operating system plays that manager between applications and computer hardware, handling work that programs should not manage directly. section 3.4
Programs request hardware services through system calls. To write data to a disk, for example, an application delegates the operation to the OS, which communicates with the disk controller and hides the specific hardware details. section 3.4
The OS supports concurrent programs by:
- Mapping application tasks onto the computer’s physical execution resources. section 4.0
- Providing processes and threads as two ways to organize multiple tasks. section 6.12
- Providing some task isolation and managing how execution abstractions run on hardware. section 6.12
- Making concurrent programming possible even on a single-core system, although concurrency does not create physical parallelism there. section 6.12
Threads versus processes
A multitasking application can use one process containing multiple threads or several processes containing one or more threads. Threads usually switch faster and share an address space, while processes carry more overhead and provide a different isolation boundary. section 6.12



