PrevNEXT

How Operating Systems Work

By: Curt Franklin & Chris Pollette

Operating System Functions

At the simplest level, an operating system does two things:

  1. It manages the hardware and software resources of the system. In c omputers, tablets and smartphones these resources include the processors, memory, disk space and more.
  2. It provides a stable, consistent way for applications to deal with the hardware without having to know all the details of the hardware.
The operating system controls every task your computer carries out and manages system resources to optimize performance.
The operating system controls every task your computer carries out and manages system resources to optimize performance.

The first task, managing the hardware and software resources, is very important, as various programs and input methods compete for the attention of the central processing unit (CPU) and demand memory, storage and input/output (I/O) bandwidth for their own purposes. In this capacity, the operating system plays the role of the good parent, making sure that each application gets its necessary resources while playing nicely with all the other applications, as well as husbanding the limited capacity of the system to the greatest good of all the users and applications.

Advertisement

The second task, providing a consistent user interface, is especially important if there is more than one of a particular type of computer using the operating system, or if the hardware making up the computer is ever open to change. A consistent application programming interface (API) allows a software developer to write an application on one computer and have a high level of confidence that it will run on another computer of the same type, even if the amount of memory or the quantity of storage is different on the two machines.

Even when a particular computer is unique, an operating system ensures that applications continue to run when hardware upgrades and updates occur. This is because the operating system — not the application — is charged with managing the hardware and the distribution of its resources. One of the challenges facing developers is keeping their operating systems flexible enough to run hardware from the thousands of vendors manufacturing computer equipment. Today's systems can accommodate thousands of different printers, disk drives and special peripherals in any possible combination.

Featured