What is an Operating System (OS)?
An operating system (OS) is a program used in computers that manages their resources, more especially, their allocation to other programs. Common resources comprise file storage, computer memory, input/output (I/O) devices, the central processing unit (CPU), and network connections.
Architecture of Operating System
What Does an Operating System Do
Among the most crucial programs running on a computer is an OS. It controls all of the computer’s hardware and software as well as its memory and operations. It also lets you interface with the computer without knowing its language (programming language). An OS mostly handles these chores:
1. Process Management
Process management is a key part of an operating system. It controls how processes are carried out, and controls how your computer runs by handling the active processes. This includes stopping processes, setting which processes should get more attention, and many more. You can manage processes on your own computer too.
2. Memory Management
Memory management in computers is the process of organizing and controlling their primary memory. It guarantees appropriate management and allocation of memory space so that the OS, programs, and other ongoing activities have the memory required for their operations.
3. File System Management
The OS organizes and manages data storage on devices like hard drives and SSDs. It arranges files and folders in a structured manner, enabling quick data retrieval and efficient storage. The OS also manages permissions, ensuring secure access so only authorized users or applications can access specific files.
4. Device Management
Device Management in the Operating system manages all the hardware or virtual devices of a computer or PC. The device management system allocates input/output devices to the process based on priority and deallocated as well either temporarily or permanently depending upon the conditions.
5. User Interface (UI)
A user interface (UI) refers to the part of an operating system, program, or device that allows a user to enter and receive information. A text-based user interface (see the image to the left) displays text, and its commands are usually typed on a command line using a keyboard.
6. Security and Access Control
Access control is a data security process that enables organizations to manage who is authorized to access corporate data and resources. Secure access control uses policies that verify users are who they claim to be and ensures appropriate control access levels are granted to users.
7. Networking
Networking capabilities, allowing them to connect to other computers and the internet. The OS handles networking protocols, data transfers, and network security, making it possible for users to share files, access remote resources, and communicate with other systems.
8. System Calls and API Support
System call provides the services of the operating system to the user programs via the Application Program Interface (API).
9. Resource Allocation and System Efficiency
The OS ensures that all applications receive fair access to resources like processing power, memory, and storage. It optimizes resource allocation to maintain performance, prevent resource conflicts, and manage power usage effectively, especially in mobile and energy-constrained devices.
Key Functions of an Operating System
1. Parallel Processing
In parallel processing, multiple tasks are executed simultaneously, which is especially important in multi-core processors. The OS manages these cores and distributes tasks across them for efficient performance.
2. Performance and Error Detection
This feature helps detect system errors or slowdowns. The OS checks that everything is operating at optimal speed and alerts you when something isn’t right.
3. Backup and Recovery
The OS helps keep data safe by managing backups and, in some cases, assisting with recovery if data is lost.
3. Virtualization
Virtualization allows one OS to run on another, like running a Windows OS within a macOS. It’s ideal for testing, gaming, and other applications where you may want multiple OS environments.
Operating System Types and Examples
1. Batch Operating System
A batch operating system (BOS) is a computer system that allows multiple users to use it simultaneously, but without direct communication between them. In a BOS, jobs with similar requirements are grouped into batches and processed sequentially without human interaction.
Example: Payroll System and Bank Statements
2. Time-Sharing (Multitasking) Operating System
Time sharing OS allows the user to perform more than one task at a time, each task getting the same amount of time to execute. Hence, the name time sharing OS. Multiple jobs are running at the CPU time and also, they use the CPU simultaneously.
3. Real-Time Operating System (RTOS)
An RTOS manages jobs that must be completed quickly and on time. General-purpose operating systems (GPOS) thrive at multitasking and user interaction, but RTOS prioritizes real-time activities.
Examples:
- Defense systems like RADAR.
- Air traffic control system.
- Networked multimedia systems.
- Medical devices like pacemakers.
- Stock trading applications.
4. Mobile Operating System
A Mobile Operating System is a software interface designed to manage hardware components and assist users in utilizing their mobile devices.
Examples: smartphones and tablets
5. Network Operating System (NOS)
The network operating system offers the means to combine all the elements of the network and let several users share the same resources concurrently independent of physical location.
Example: Linux/UNIX and the Microsoft family of Windows Servers
6. Desktop Operating System
A desktop operating system (OS) is a program enabling desktop or laptop computer management by a person. It lets consumers multitask and run several programs at once and controls the memory, hardware, and peripherals of the computer.
Example: For personal computers, three most often used operating systems are Linux, macOS, and Microsoft Windows. Modern OS use a graphical user interface, or GUI.
7. Distributed Operating System
A distributed operating system is one in which several computer systems connect through a single communication channel. Moreover, these systems have their individual processors and memory. Furthermore, these processors communicate through high-speed buses or telephone lines.
Examples:
- Google’s Android (for distributed mobile apps): Android applications that run on a distributed architecture.
- Apache Hadoop: A distributed OS used for processing large data sets across multiple machines in a distributed environment.
8. Embedded Operating System
It might be a part of a big system or an autonomous system. An embedded system is a microcontroller or microprocessor-based device intended for a specific task.
Example: A fire alarm is an embedded system; it will sense only smoke.
9. Hybrid Operating System
Hybrid operating systems combine elements from different architectures to achieve better performance, flexibility, reliability or security.
Example: Windows NT is a hybrid operating system with a monolithic kernel for the drivers and subsystems and a microkernel for its core services.
10. Cluster Operating Systems
To get improved performance, flexibility, dependability or security, hybrid operating systems mix components from several architectures.
Example: Windows NT is a hybrid operating system with a microkernel for its core functions and a monolithic kernel for the drivers and subsystems.
How to Choose the Right Operating System
- Compatibility
- User Experience
- Software Availability
- Performance and Speed
- Security
- Support and Community
- Cost
Popular Operating Systems
- Windows: A widely used OS with extensive software compatibility.
- GNU/Linux: Known for its flexibility and security.
- macOS: Apple’s user-friendly OS, known for high performance.
- Android: The dominant OS for smartphones.
- iOS: Apple’s secure OS for its mobile devices.
Components of an Operating System
1. Shell
The shell is the interface through which users interact with the OS, either through commands or a GUI.
2. Kernel
The heart of the operating system and in charge of handling most important chores is the kernel. It directly interacts with the hardware and offers core services to all other components of the OS.
The kernel deals with various important tasks.
- Process Management
Process management involves scheduling tasks, allowing multitasking, and controlling the operation of processes.
- Memory Management
Memory management provides memory to apps and controls virtual memory to ensure seamless operation.
- Device Management
Device management, in which the kernel coordinates and regulates input and output (I/O) devices to enable data flow between hardware parts.
- System Calls Interfaces
System calls interfaces that let programs to request services from the kernel, making it simpler for software to communicate with the hardware.
3. User Interface (UI)
A UI example refers to a specific instance of user interface design that showcases how visual elements are organized and function to enhance the user experience. It could be anything from buttons and icons to full-page layouts or interaction patterns.
- Command-line interface (CLI)
A command-line interface (CLI) is a text-based user interface (UI) for running applications, computer file management, and computer interaction.
- Graphical User interface (GUI)
A graphical user interface is a way to communicate what you want to a computer application using graphical symbols rather than typing the instructions in. GUIs let you work with picture-like items (icons and arrows for example) to tell the computer what you want from it.
4. System libraries
System libraries are sets of pre-written functions and routines that the operating system and applications employ to accomplish regular tasks quickly. They comprise key capabilities, including as file processing and memory allocation, which are common throughout the OS and its programs. By employing these libraries, the OS reduces duplicated code, resulting to improved performance and better use of system resources.
Conclusion
The foundation of our digital life is operating systems (OS), which let gadgets run and offer seamless user experience. OSs handle memory management and supporting several users, therefore enabling the magic behind the scenes.