An operating system is a software programme that is used to manage and control computing devices such as smartphones, tablets, computers, supercomputers, web servers, automobiles, network towers, smartwatches, and other similar devices. It is the operating system which eliminates the requirement to understand a coding language in order to interface with computers. It’s a graphical user interface (GUI) layer that serves as a bridge between the user and the computer hardware. Furthermore, the operating system regulates programme execution and administers the software side of a computer.
Diving into the History of Operating Systems
- In 1956, twenty years after the Z1 computer, which was the first computer to run without an operating system, the first-ever operating system was built to manage tape storage.
- After that, Bell Labs created UNIX, the first multitasking operating system.
- In 1977, Apple Dos 3.3 was released, which was the first disc operating system.
- In 1981, Microsoft was the next company to develop a DOS operating system.
- MS-DOS was combined with Graphics User Interface in 1985. (GUI).
- As of October 2021, the most recent version of Windows for PCs and tablets is Windows 11, version 21H2.
Coming to the functions of the operating system, these are some functions of OS
- PROCESSOR MANAGEMENT: A process is a program in a state of execution. It is a unit of work for the operating system. A process can be created, executed, and stopped. In contrast, a program is always static and does not have any state. A program may have two or more processes running. An operating system’s process management function manages the allocation of resources to processes in an efficient way. During the construction and execution of a process, the allocation of resources required by the process is made.
- FILE MANAGEMENT: One of the most basic and crucial components of every operating system is file management. The operating system of a computer system is used to manage its files. The operating system is in charge of all the files with various extensions.
- BOOTING: Booting is a process that begins when a computer system turns on and runs a limited set of instructions stored in the ROM to configure system hardware, test it, and load the operating system so that the computer system may do additional tasks.
- Device Management: An operating system (OS) controls device connection through drivers. This programme keeps track of all the devices that are linked to the system. The Input/Output controller is software that is responsible for all devices. Determines which processes are allowed access to a device and for how long.
- ERROR DETECTION: The operating system continually monitors the system in order to discover faults and prevent a computer system from failing.
- Coordination Between Other Software and Users: Operating systems also organize and allocate interpreters, compilers, assemblers, and other software to computer users.
Basically, computer software controls computer hardware. Both application software and hardware systems dependent on each other for working
Between hardware and software, operating systems are a middleman. Without an operating system, hardware and software cannot function properly.
The operating system consists of two components:
In a computer system, both of these are utilized to establish communication and operate the system. However, there is a significant distinction between shell and kernel. A shell is a type of interface that connects the kernel and the user. It enables all of the system’s users to communicate with the kernel. A kernel is the fundamental heart of a typical operating system. Its purpose is to manage all of the duties associated with a system.
Shell: It refers to a specific user software or environment that gives a user an interface to access the operating system’s services. A shell runs several programmes based on the input it receives from the user.
Shell commands such as mkdir, ls, and others can be used to ask the operating system to complete a specified action (OS).
Kernel: A kernel is an operating system’s heart (Operating system). Its job is to keep track of the hardware and computer’s operations. By accessing the different resources of a computer, such as the I/O devices, CPU, and several other resources, a kernel simply works as a bridge between any user and the various resources supplied by a system.
Features of the Operating System:
The following are the most important features of the Operating System;
1. Protected and Supervisor Mode
Dual-mode operation is a feature supported by modern CPUs. Protected mode and supervisor mode are two modes available on CPUs with this functionality, allowing the operating system kernel to regulate and modify specific CPU functions. When a computer initially starts up, it is in supervisor mode by default. The BIOS, bootloader, and operating system are the first programs to start on the computer, and they have unrestricted access to hardware. This is necessary since, by definition, initializing a protected environment can only be done outside of one. Programs in protected mode may only have access to a subset of the CPU’s instructions. Only an interrupt can cause control to be given back to the kernel, allowing a user application to exit protected mode. This allows the operating system to keep complete control over things like hardware and memory access. Supervisor mode is used by the operating system for low-level activities that require total access to the system hardware.
Context switching between user mode and supervisor mode is being demonstrated in the above image.
2. Program Execution
Operating systems manage a wide range of tasks, from user applications to system programs such as the printer spooler, name servers, and file servers, among others. Each of these actions is broken down into a series of steps. The entire execution context is included in a process (code to execute, data to manipulate, registers, OS resources in use). The primary activities of an operating system in terms of program management are listed below.
- A program is loaded into memory when this command is executed by the operating system .
- Operating System runs the program and Handles program execution.
- Operating System gives a mechanism for process synchronization
- Operating system also gives a mechanism for process communication.
- Operating System lastly gives a mechanism for deadlock handling.
3. Manipulation of the File System
A file is a container for a group of connected data. For long-term storage, computers can store files on disc (secondary storage). Magnetic tape, magnetic disc. The file system is the component of the operating system that manages files. It provides a means of storing data and gaining access to the contents of files, including data and applications. Some operating systems, such as Ubuntu, regard everything as a file. Some major activities of an operating system with respect to file management are :-
- Program needs to read a file or write a file
- The operating system gives the permission to the program for required operation on the file
- Read-only, read-write, denied, and other permissions are available for the files.
- The user can create/delete folders using the operating system’s interface.
- The operating system offers a user interface for creating and deleting folders.
- An interface is provided by the operating system for creating file system backups.
4. Handling I/O Operations
It is one of the most important functions of an Operating System is to manage various input/output devices such as mice, keyboards, touch pads, disc drives, display adapters, USB devices, Bit-mapped screens, LEDs, Analog-to-Digital Converters, On/Off switches, network connections, audio I/O, printers, and so on. An I/O system must accept an application’s I/O request and send it to the physical device, then receive the device’s answer and give it back to the application.Some major activities of an operating system with respect to Handling I/O operations are:-
- The connection between the user and the device drivers is managed by the operating system.
- The host reads the data-in register to obtain input.
- The host writes the data-out register in order to deliver output.
- The status register contains bits that the host can read.
- The host writes the control register to initiate a command or change the mode of any device.
5. Error Handling
In the operating system, errors can occur at any time and in any location. A bug in the CPU, I/O devices, or memory hardware can all cause problems. An operating system’s key error-handling activities are as follows:
- The Operating System is continually looking for problems such as power failure, connection failure, lack of paper in printers etc.
- In the worst-case situation, the application’s error handling procedures compel the user to log out and the system to shut down.
6. Resource Allocation
When software requires resources, the Operating System allocates them. When a program comes to an end, the resources are de-allocated and redistributed to other programs in need. Within a computer system, operating system resources are the real or virtual components having restricted availability. Resources such as main memory, CPU cycles, and file storage must be allotted to each user or job in multi-user or multi-tasking contexts.
7. Information and Resource Protection
This includes the protection of all data, applications, and the operating system itself. Human mistakes, hostile programmes or individuals, or existing system weaknesses can all result in threats. These attacks would pose a significant risk of data loss. The following measures emphasize the importance of the operating system in protecting data security. Maintaining system integrity, availability, and confidentiality is what computer security is all about. The physical security of the system, the security of the information it carries, and the security of the network in which it functions are all levels of security inside a computer system. The operating system is crucial in maintaining security in all of these domains.
1. Authentication: Authentication is one of the safeguards employed by operating systems to guarantee that the person accessing a program is permitted and valid.
2. Backup and Restore: The operating system includes software components that enable users to create backups or copies of data, as well as restore these backups when necessary. These files can be kept either off-site (which is the safest option) or on-site.
In the 1950s, various operating systems were designed in which computers could only run one application at a time. Operating systems are crucial because they are in charge of everything from memory control and allocation to detecting input from external devices and sending output to computer displays. Later in the decade, computers came with a variety of software packages, known as libraries, that were connected together to form the foundation of today’s operating systems. The majority of today’s operating systems feature graphical user interfaces (GUIs) that accept input from pointing devices. A mouse, as well as a stylus, are examples of pointing devices. An operating system is a piece of software that controls computer hardware and software resources while also providing public services to computer applications. Although software applications and hardware can be directly interfaced, the great majority of apps are developed in an operating system, which allows them to use the public library without having to worry about the individual. Microsoft Windows, Linux, and Mac OS X are the most commonly used operating systems for IBM-compatible personal computers.