Operating system (OS): overview, components, history and uses
An operating system manages hardware and software resources, provides common services to programs, and offers user interfaces. This article explains components, functions, types, history and typical uses.
An operating system (OS) is the foundational software that lets a person or program use a computer. It bundles many kinds of programs and services, sometimes collectively called system software, and mediates access to physical resources. Typical OS distributions range from very small projects such as MenuetOS to large commercial systems like Microsoft Windows. At its core an OS presents an organized environment so that applications can run without directly managing hardware.
Image gallery
6 ImagesCore components
Most operating systems are built from a small set of core parts that coordinate computer activity. These usually include:
- Kernel: the central module that schedules the CPU, manages memory and enforces isolation between processes.
- Device drivers: software that converts generic OS requests into commands for particular devices.
- File systems and storage managers that organize persistent data.
- System utilities and services that provide higher-level features to programs and administrators (system utilities).
Main functions and services
An operating system performs several essential roles. It allocates processor time among programs, maps and protects memory regions, and controls input and output to physical devices such as disks, displays and input devices. It also abstracts hardware (hardware) behind standardized interfaces so software need not handle low-level details. Other key services include process and thread management, file and device access, and communication over a network. Many systems also offer a user interface—graphical or text-based—to make interaction easier for people.
History and development
Operating systems evolved from simple monitors and single-task batch systems to multitasking, multiuser platforms. Early development focused on managing scarce CPU and memory resources; later advances added virtual memory, preemptive multitasking and hardware abstraction. Over time the range of OS designs widened to meet diverse needs—from tiny real-time kernels embedded in appliances to general-purpose desktop and server systems.
Types and common examples
Operating systems are tailored to different contexts. Desktop and laptop OSes like macOS and Microsoft Windows emphasize user-friendly interfaces and broad application support. Open-source families such as Linux are widely used on servers, embedded devices and cloud platforms because of their flexibility. Mobile devices run specialized mobile OS variants optimized for touch, power management and wireless networking.
Uses, distinctions and notable facts
Choosing an OS depends on priorities: compatibility and software ecosystem, performance and resource constraints, security and control. Real-time operating systems prioritize predictable timing for industrial and embedded applications, while general-purpose systems prioritize multitasking and user convenience. Many modern systems combine ideas—microkernels separate minimal core duties from additional services, while monolithic kernels centralize them. The OS remains one of the most influential layers of computing because it shapes how hardware and software cooperate.
For further background and technical details consult introductory references and platform documentation: system software overview, device driver models, kernel architectures, computer fundamentals, small OS projects, popular commercial systems, mobile platforms, I/O handling, hardware abstraction, user interfaces, network services, macOS documentation, and Linux resources.


Developmental Stages
The development of computer operating systems ran and still runs parallel to the development and performance of available hardware: Both lines were mutually dependent and enabled or required further developments on the 'other' side. The development proceeded partly in small, sometimes in larger leaps:
Punched card processing systems (applies mutatis mutandis to punched tape) are now (since the early 1970s) a thing of the past. However, they are a good starting point for considering system development: In these spatially relatively large systems, there were no external electronic storage media yet. The programs were available (in machine language) in the form of stacks of punched cards and were 'read' into the internal memory by the operator via the punched card reader. After the 'end card', the application program was started, which also had to read its input data via the card reader, depending on the task (hence the term batch processing, queued systems) and output its results directly via a printer and/or via the card punch. Upstream and downstream, capture, mixing and sorting processes were necessary, carried out with the aid of electro-mechanical devices (card punchers, mixers, sorters). Already at this time, the internal processing was much faster than the input/output devices; reading a stack of punched cards (cardboard box with 2000 cards) took about 5-10 minutes, the working memory sizes of such machines were about 16 to 64 kB (example see System/360).
These machines had no conventional operating system, as it is common today. Only a control program (resident monitor) was kept in memory and ensured smooth operation by passing control to the programs currently being executed. The computer could only run one program at a time.
A further development - Multiprogrammed Batch Systems - could support additional devices (magnetic tape units, first magnetic disks with e.g. 7.25 MB storage volume), execute several programs simultaneously (e.g. in 3 'partitions') and hold programs and data on external memories. Faster processing was possible as the time required to read and issue stacks of cards was eliminated - and processors became faster. Here, mechanisms such as spooling (intermediate output of printer data to magnetic tape with delayed printing possible in parallel) and the possibility of offline operation were already used extensively. However, a program was needed to take care of the tasks of I/O management, memory management and, above all, CPU scheduling, etc. From this point on, one could speak of the first operating systems.
The next steps were then consequences of the respective tasks that were assigned to the systems. The following systems were developed and are still in use today: Parallel systems, distributed systems, personal computer systems, time-sharing systems, real-time systems and, more recently, personal digital assistants and smartphones.
In the PC sector, the most widely used operating systems are currently the different variants of Windows from Microsoft (leading in systems with GUI), BSD incl. macOS from Apple (most widely used desktop Unix) and GNU/Linux (leading in servers). For special applications (example: industrial control), experimental operating systems are also used for research and teaching purposes.
In addition to the classic variants, there are also special operating systems for distributed systems in which a distinction is made between the logical system and the physical system(s). The logical computer consists of several physical computer units. Many mainframes, number crunchers and the systems from Cray work according to this principle. One of the best known operating systems in the field of distributed systems is Amoeba.
See also: List of operating systems
Tasks
The tasks of an operating system usually include:
- Memory management
- Management of the system resource main memory.
- Logging of memory usage.
- Reservation and release of memory.
- (Process) management
- Monitoring of memory accesses and, if necessary, termination of processes in the event of a protection violation.
- Creation of new processes (either at the request of the operating system or at the request of other already existing processes) and reservation of the memory required by the processes.
- Communication and synchronization of processes among each other (inter-process communication)
- Device and file management
- Efficient allocation of input/output devices and switching units (data channels, control units), avoidance of conflicts
- Initiation, monitoring of execution, scheduling of input/output operations.
- Management of the file system. Creation of a namespace with associated storage objects and, if necessary, further objects.
- Rights management
- Independent users/programs must not interfere with each other.
- Abstraction
- Hiding the complexity of the machine from the user
- Abstraction of the machine concept (after Coy):
- Real machine = central unit + devices (hardware)
- Abstract machine = Real machine + Operating system
- User machine = abstract machine + application program
For historical reasons, a device from the point of view of an operating system is everything that is addressed via input/output channels. These are not only devices in the conventional sense, but now also internal extensions such as graphics cards, network cards and others. The (sub)programs for initializing and controlling these "devices" are collectively referred to as device drivers.
Questions and answers
Q: What is an operating system?
A: An operating system (OS) is a group of computer programs that allow people to interact with a computer and manage computer hardware and software resources.
Q: What are the components of an operating system?
A: The components of an operating system include device drivers, kernels, and other software that provide common services for computer programs.
Q: Can an operating system be small or large?
A: Yes, an operating system can be small (like MenuetOS) or large (like Microsoft Windows).
Q: What are some examples of operating systems?
A: Some examples of operating systems are macOS, Linux, and Microsoft Windows.
Q: What are the different uses for operating systems?
A: Different operating systems can be used for different purposes, such as personal computers, mobile operating systems, or specialized work.
Q: What jobs does an operating system perform?
A: An operating system makes sure that all programs can use the CPU, system memory, displays, input devices, and other hardware. Additionally, some give the user an interface to use a computer and are responsible for sending data to other computers or devices in a network.
Q: What is the importance of an operating system?
A: An operating system is essential because it allows people to interact with their computers, manages computer hardware and software resources, and provides common services for computer programs. It also ensures that all programs can use the hardware and sends data to other computers or devices on a network.
Related articles
Author
AlegsaOnline.com Operating system (OS): overview, components, history and uses Leandro Alegsa
URL: https://en.alegsaonline.com/art/72809
Sources
- cs.rutgers.edu : "Operating Systems"