liveBook · Manning

Operating system

As explained in Grokking Concurrency

An operating system is system software that manages computer hardware resources and provides services for application programs.

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

How Grokking Concurrency covers it

How deep it goes
Traces system calls, hardware mediation, task isolation, and process-thread trade-offs without detailing operating-system implementation internals.
Examples
Uses a workshop manager, disk writing, and process-thread comparisons to make OS mediation and multitasking concrete.
What it assumes
Builds from hardware and application tasks toward the OS layer that maps program abstractions onto physical execution resources.
What you can do after
Evaluate concurrency choices by relating application tasks to OS threads, processes, and available hardware.
How it connects
Connects runtime systems with system calls, hardware resources, threads, processes, multitasking, and parallelism.

Also explained in

Compare how 4 books explain operating system →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Grokking Concurrency. The section links point to the parts of the book it draws on.