What is an Operating System?
The operating system (OS) is the interface between the user and the computer hardware. An operating system is a software that manages files, memory, processes, input and output and controls peripheral devices, including disc drives and printers.
A computer’s operating system is the software that allows applications to communicate with the computer’s hardware. The software that includes the operating system’s core components is known as the kernel.
The primary functions of the operating system are to allow applications (software) to communicate with an operating system and to handle the system’s hardware and software.
Linux, Windows, VMS, OS/400, AIX and z/OS are examples of well-known operating systems. Almost every device, including mobile phones, personal computers, mainframe computers, automobiles, televisions and toys, contains an operating system today.
Kernel
A Kernel is a privileged programme (akin to your maid) that handles the majority of the tasks (Input/output devices, Random-access memory, Resource Management, Device Management and Memory Management) delegated by the Operating System (The Homemaker).
Some definitions of operating system
We can have a number of definitions of an Operating System. Let’s go through a few of them:
An Operating System is low-level software that supports a computer’s basic functions, such as scheduling tasks and controlling peripherals.
An operating system is a program that acts as an interface between the user and the computer hardware and controls the execution of all kinds of programs.
Following is another definition taken from Wikipedia:
An operating system (OS) is system software that manages computer hardware and software resources and provides common services for computer programs.
What are the features of the Operating system
The operating system has the following features:
- Efficiency: An Operating system allows the computer system resources to be used efficiently.
- Ability to Evolve: The operating system should be designed to facilitate the concurrent development, testing, and introduction of new system functions without interfering with service.
- Convenience: Operating system makes a system more suitable to use.
- Throughput: An Operating system should be formed so that It can give maximum throughput (Number of tasks per unit of time).
Functions of the Operating System
Memory Management
It is the administration of primary memory. The operating system must keep track of how much and by whom memory has been used. It must determine which processes require memory space and in what quantity. The OS must also allocate and deallocate memory.
Storage Management
The mechanism of the file system is used to manage storage. NIFS, CFS, CIFS, NFS, etc., are some file systems. The storage manager oversees the storage of all data on various tracks of hard discs. It contained Hard Disk.
Process Management
It includes various tasks such as process scheduling and termination. It is performed using CPU Scheduling algorithms.
Resource Management
When parallel accessing occurs in the operating system, it signifies that when different users are accessing data, the OS functions as a Resource Manager. It is responsible for providing the user with hardware. It decreases the system’s load.
Security/Privacy Management
The operating system also provides privacy via passcodes so that unauthorised access applications cannot access programmes or data. Windows, for instance, uses Kerberos authorization to prevent unauthorised data access.
Types Of Operating Systems
Batch Operating System
Because early computers were so expensive, we could not spend unnecessary processor time, so simple batch systems were developed to make the most of processors. The key component of simple batch systems is a software called monitor, which communicates with processors directly and prevents users from directly accessing processors.
The computer operator received input from the user and assembled related tasks into a batch (a collection of tasks of a similar nature) to be used by the monitor. When a programme has finished processing, it is designed to branch back to the monitor. The following programme now automatically starts loading on the monitor.
A batch operating system alternates between running the user’s programme and the monitor during processor times. However, the monitor now has some main memory and uses some processor time. These are both different types of overhead. Simple batch systems increase processor utilisation despite this overhead.
Time-sharing operating System
It was created to enable direct user interaction with the computer. Since we used to include JCL (Job control commands) with the job in batch multiprogramming. However, we required user interaction for things like transaction processing. Time-sharing has thus been introduced as a concept. A system clock in this produced interrupts at a rate of about one 0.2 seconds per second.
The operating system regains control at each clock interruption and may give the processor to a different user. Time slicing is the name of this technique. If n users use the same computer, each will only be able to access, on average, 1/n of its actual capacity. As a result, another user would be loaded in and the existing user would be preempted at regular intervals.
The old user data and programs were saved to disc before the new user programmes and data were read in order to preserve the status of the old user programme for later continuation.
When that programme was given a turn again later, the previous user program’s code and data were restored in the main memory. The main goal of time-sharing systems was to maximise resource utilisation by enabling multiple users to share the available computer resources.
Distributed operating System
Distributed different computers that are connected to one another can communicate with one another using a common communication network. For quick computation, each machine has a separate processor and memory unit. These are also known by the name “distributed systems.”
Multi-programmed Batch Systems
Despite the Simple Batch OS’s automatic job sequencing, the processor is frequently idle. The issue is that I/O devices were unable to match the speed of processors. I/O devices are, therefore, slow. Multi-programmed batch systems’ main principle is that when a job or task needs to wait for I/O, the OS can switch to another job or task and begin executing it; once the I/O devices have finished, it can switch back to the first job and resume execution where it left off.
Network operating system
Computers with various operating systems can join a network (used for security purposes).
Real-time operating system
Since there is very little time between an input request and an output in a real-time system, these systems can be used in places where there are time constraints, such as military software systems and space software, among other things.
Mobile Operating System
Mobile operating systems are created specifically for mobile devices like watches, tablets and smartphones. Some well-known mobile operating systems include Android, iOS, watchOS, and more.
Examples Of Operating Systems
There are many operating systems on the market, both paid and free. Here are a few of the most well-known operating systems as examples.
Windows
This one is one of Microsoft’s most well-known and widely used commercial operating systems. It is available in a variety of versions, the majority of which are paid, including Windows 8, Windows 10 and others.
Linux
The most popular operating system, based on Unix, was first made available by Linus Torvalds on September 17, 1991. There are currently more than 30 variations of it, including Fedora, OpenSUSE, CentOS, Ubuntu and more. Although you can get their enterprise versions by paying a small licence fee, the majority of them are free to use.
macOS
This is yet another type of Unix operating system that Apple Inc. has created and marketed since 2001.
iOS
This is a mobile operating system that Apple Inc. exclusively designed and developed for its own mobile devices, such as the iPhone, iPad, etc.
Android
This is a mobile operating system that is primarily intended for touchscreen mobile devices like smartphones and tablets. It is centred on a revised method of the Linux kernel and other open-source software.
Solaris, VMS, OS/400, AIX, z/OS and other venerable but still widely used operating systems are a few others.
Advantages of Operating System
- Makes it faster for an application to start up.
- The Operating System encourages abstraction by keeping users from seeing unimportant details about computer hardware.
- Make the system run better by using the processor as much as possible.
- Protects memory by making sure that no other processes can change the memory area where the monitor is.
- It takes care of everything that needs to be done to set up an application to run.
- Offers a way for clients and users to connect to the system.
- It also comes up with programmes called utilities that help programmers make application programmes.
Disadvantages of Operating System
- It has increased the number of ways to get to memory, such as page table queries.
- Using Translation Lookaside Buffer could be better.
- It needed page tables that were protected. The memory board needs more memory.
- The language that is used to make the Operating System work makes it harder to understand.
- Virtual memory size needs to be tied to the Page Table Length Register.
- Staggered page tables and different page sizes needed to be improved in a bigger way.
- Some Operating Systems are very expensive, which makes them cost more.
- Another problem with the Operating System is that it is not unified.