Usage, Needs, Goals, Characteristics and Features of Operating System
{tocify} $title= {Table of Contents}
Introduction
An Operating System acts as a communication bridge (interface) between the user and computer hardware. The purpose of an operating system is to provide a platform on which a user can execute programs conveniently and efficiently. The main goal of the Operating System is to make the computer environment more convenient to use and the Secondary goal is to use the resources most efficiently.
In this article, we are going to explain in detail about Usage of Operating System, Needs of Operating System, Goals, Characteristics and Features of Operating System.
An operating system is a program on which application programs are executed and acts as a communication bridge (interface) between the user and the computer hardware. The main task an operating system carries out is the allocation of resources and services, such as the allocation of memory, devices, processors, and information. The operating system also includes programs to manage these resources, such as a traffic controller, a scheduler, a memory management module, I/O programs, and a file system.
Operating System
An operating system (OS) is the program that, after being initially loaded into the computer by a boot program, manages all of the other application programs in a computer. The application programs make use of the operating system by making requests for services through a defined application program interface (API). In addition, users can interact directly with the operating system through a user interface, such as a command-line interface (CLI) or a graphical UI (GUI).
Uses of Operating System
The main use of an operating system is to ensure that the computer can be used and the user can do the exact same way that the command given by the user needs to be understood by the operating system that is in the computer or the device accordingly Can work. The ability of a single operating system makes everything much easier because the technique does not need to do many different processes that are told.
Operating System is used as a communication channel between the Computer hardware and the user. It works as an intermediate between System Hardware and End-User. Operating System handles the following responsibilities:
- It controls all the computer resources.
- It provides valuable services to user programs.
- It coordinates the execution of user programs.
- It provides resources for user programs.
- It provides an interface (virtual machine) to the user.
- It hides the complexity of software.
- It supports multiple execution modes.
- It monitors the execution of user programs to prevent errors.
The operating system is used everywhere today, such as banks, schools, hospitals, companies, mobiles, etc. No device can operate without an operating system because it controls all the user’s commands.
- LINUX/UNIX operating system is used in the bank because it is a very secure operating system.
- Symbian OS, Windows Mobile, iOS, and Android OS are used in mobile phone operating systems as these operating systems are a lightweight operating system.
An operating system brings powerful benefits to computer software and software development. Without an operating system, every application would need to include its own UI, as well as the comprehensive code needed to handle all low-level functionality of the underlying computer, such as disk storage, network interfaces and so on. Considering the vast array of underlying hardware available, this would vastly bloat the size of every application and make software development impractical.
Instead, many common tasks, such as sending a network packet or displaying text on a standard output device, such as a display, can be offloaded to system software that serves as an intermediary between the applications and the hardware. The system software provides a consistent and repeatable way for applications to interact with the hardware without the applications needing to know any details about the hardware.
As long as each application accesses the same resources and services in the same way, that system software – the operating system – can service almost any number of applications. This vastly reduces the amount of time and coding required to develop and debug an application, while ensuring tat users can control, configure and manage the system hardware through a common and well-understood interface.
Overall, the need of operating system in modern computing cannot be overstated. They play a critical role in managing system resources, providing a platform for software applications, and facilitating user interaction with computers and other digital devices.
Needs of Operating System
An OS is like a mediator between the system hardware and its user. Hence its requirement lies in providing an interface between the users and systems like computer systems, mobile phones, music players, tablets, etc. However, let us briefly discuss these requirements.
Overall, the need of operating system in modern computing cannot be overstated. They play a critical role in managing system resources, providing a platform for software applications, and facilitating user interaction with computers and other digital devices.
- OS as a platform for Application programs:
The operating system provides a platform, on top of which, other programs, called application programs can run. These application programs help the users to perform a specific task easily. It acts as an interface between the computer and the user. It is designed in such a manner that it operates, controls, and executes various applications on the computer.
- Managing Input-Output unit:
Operating System also allows the computer to manage its own resources such as memory, monitor, keyboard, printer, etc. Management of these resources is required for effective Utilization. The operating system controls the various system input-output resources and allocates them to the users or programs as per their requirements.
- Consistent user interface:
Operating System provides the user with an easy-to-work user interface, so the user doesn’t have to learn a different UI every time and can focus on the content and be productive as quickly as possible. Operating System provides templates, and UI components to make the working of a computer, really easy for the user.
- Multitasking:
Operating System manages memory and allows multiple programs to run in their own space and even communicate with each other through shared memory. Multitasking gives users a good experience as they can perform several tasks on a computer at a time.
- Resource Allocation: Since more than one program runs simultaneously on the system and uses the CPU and memory, we need an operating system to manage the resource distribution among the various processes.
- Graphical user interface: It eases the user’s understanding of the system process and enables a smooth interaction between the two.
- File management: It means there are many resources required by a process for its execution, so which resource to allocate and when is the task handled by an operating system.
- Platform: It’s a platform or a link without which the communication between user and system is next to impossible.
- More than one program runs at a time in a computer, and all of them require your computer’s CPU and memory. The operating system manages resources for all those programs. That is why the operating system is required.
- Multitasking is a very critical feature of the OS. With its help, we can run many programs simultaneously.
- The operating system provides a platform to run any application program in the computer. Due to which we can do our work with the help of that application.
- It helps the user in file management. Through this, the user can save the data according to his needs.
- You use your mouse to open the application and click on the menu. All this is possible due to the modern operating system. This operating system allows you to do this with the help of GUI (Graphical user interface).
- The operating system creates a communication link between the user and the computer, allowing the user to run any application program and obtain the required output properly.
- It is almost impossible for a user to use a computer system without an operating system. Many processes run simultaneously when a program is executed, which is not easy for a person to manage.
Goals of Operating System
The primary objective of a computer is to execute an instruction in an efficient manner and to increase the productivity of processing resources attached with the computer system such as hardware resources, software resources and the users. In other words, you can say that maximum CPU utilisation is the main objective, because it is the main device which is to be used for the execution of the programs or instructions. Brief the goals as:
1. The primary goal of an operating system is to make the computer convenient to use.
2. The secondary goal is to use the hardware in an efficient manner.
3. Convenience: An OS makes a computer more convenient to use.
4. Efficiency: An OS allows the computer system resources to be used in an efficient manner.
5. Ability to Evolve: An OS should be constructed in such a way as to permit the effective development, testing and introduction of new system functions without at the same time interfering with service.
Characteristics of Operating System
Huge lines of code, a huge number of unnecessary features aren’t only the good Characteristics of Modern Operating System. So, we have to consider the design concepts before saying that it is a modern operating system. The Characteristics of Modern OS include:
Object-Oriented Design: An object-oriented operating system is an operating system that uses object-oriented design principles. It is used for adding modular extensions to a small kernel. Also it enable programmers to customise an OS without disrupting system integrity.
Microkernel Architecture: Provide a communication facility between the client program and the various services that are also running in user space.
Multi-threading: An application or program is divided into a number of smaller tasks, these tasks are executed by the processor concurrently (at a time). These smaller tasks are called threads. A thread is a lightweight process and dispatchable unit of work. It is a process which can be divided into threads that can run simultaneously. In other words it is the ability of an OS to execute different parts of a program called threads simultaneously by more than one user at a time. A Thread It is a dispatchable unit of work. It includes a processor context program counter stack pointer and its own data storage for the stack. It executes sequentially and is interruptible. It is a light weight process. In other words it is the smallest sequence of program instructions in execution. Threads are managed by OS scheduler. B Process is a collection of one or more threads. Each process have its own address in memory i.e. each process allocates separate memory area. Switching from one process to another require some time for saving and loading registers memory maps updating lists etc.
A thread has some of the characteristics of a process, but the difference is several threads share the same memory space, but the process doesn’t share the memory space. For example, when we type a document in MS Word, typed text can be formatted automatically, and spelling checked automatically, these individual tasks are called threads.
Symmetric Multi-Processing: In this processing stand-alone computers with multiple processors that share the common memory and I/O facilities are connected by a communication bus. All processors can perform the same functions.
Reliability: It is very reliable because no any virus and harmful code can be detected in it.
File Management: It allocates and deallocates resources and decides which program to allocate resources. The operating system manages memory. It has complete knowledge of primary memory; which part of the memory is used by which program. Whenever a program requests, it allocates memory.
Concurrency: An Operating System should be able to handle multiple tasks or processes at the same time, allowing users to multitask and improve system efficiency.
Hardware Abstraction: An operating system should provide hardware abstraction, which means it should provide a uniform interface to hardware devices, making it easier for software applications to interact with hardware devices without having to know the underlying hardware details.
Resource Allocation: An operating system should allocate system resources fairly so that each process gets access to the resources it needs to function correctly. It should also allocate resources dynamically, based on the current system load and user demand.
Virtualization: An operating system create virtual resources i.e. virtual memory and virtual CPUs, in order to enhance the efficiency of system and also to enable multiple processes to run at the same time
Security: It prevents unauthorized access to any program. It uses passwords and other technologies. An operating system’s ability to protect the system from external threats, malware, a viruses that can lead to disruptions in the processing environment. An operating system provides security features like protection against unauthorized access, file encryption of sensitive data, firewalls, and antivirus softwares. It also provides features like backup and recovery to ensure data availability in case of data loss or system failure.
Symmetric Multiprocessing: If a computer has more than one processor, these processors can share the same memory, data path, and I/O facilities, and the processors share the same job for execution, then the system is called symmetric multiprocessing(SMP).
Distributed Operating System: A distributed operating system is an operating system that runs on a network of computers. The operating systems and memory files are shared by the number of users in the same network from the server.
Microkernel Architecture: A microkernel is a minimal operating system that performs only the essential functions of an operating system. System processes perform all other operating system functions. Here the system process means servers. A system that contains the servers is called a client-server model.
Memory Management: The operating system manages memory. It has complete knowledge of primary memory; which part of the memory is used by which program. Whenever a program requests, it allocates memory.
Processor Management: It allocates the program to the processor (CPU) and also deallocates it when a program runs out of the CPU needs.
Device Management: The operating system keeps the information about all devices. It is also called the I/O controller, and the operating system also decides which devices are used to which program, when, and for how long.
Fault Tolerance: An operating system is designed in such a way that it is able to handle hardware and software failures and performs error detection and recovery mechanisms in order to minimize system downtime and data loss.
Scalability: An operating system is capable to scale from small embedded devices to large servers and clusters, providing efficient resource management and performance regardless of the system size.
Compatibility: An operating system is compatible with a wide range of hardware and software devices, allowing software applications to run on different hardware platforms.
Customizability: An operating system should be customizable, enabling users to tailor the system to their needs and preferences, such as changing the UI, adding or removing system features, or modifying system settings.
Ease of Use: An operating system is user-friendly and very easy to use, providing a simple and intuitive interface for users with no or less computer knowledge to interact with the system and run applications.
Concurrency: An Operating System should be able to handle multiple tasks or processes at the same time, allowing users to multitask and improve system efficiency.
Hardware Abstraction: An operating system should provide hardware abstraction, which means it should provide a uniform interface to hardware devices, making it easier for software applications to interact with hardware devices without having to know the underlying hardware details.
Resource Allocation: An operating system should allocate system resources fairly so that each process gets access to the resources it needs to function correctly. It should also allocate resources dynamically, based on the current system load and user demand.
Virtualization: An operating system create virtual resources i.e. virtual memory and virtual CPUs, in order to enhance the efficiency of system and also to enable multiple processes to run at the same time.
Features of Operating Systems
The operating system has many notable features that are developing day by day. The growth of the operating system is commendable as it was developed in 1950 to handle storage tape. It acts as an interface. The features of operating system are given below.
1. An operating system Is a program that acts as an interface between the software and the computer hardware.
2. It Is an integrated set of specialized programs used to manage overall resources and operations of the computer.
3. It is a specialized software that controls and monitors the execution of all other programs that reside in the computer, including application programs and other system software.
4. Error detection and handling
5. Handling I/O operations
6. Virtual Memory Multitasking
7. Program Execution
8. Allows disk access and file systems
9. Memory management
10. Protected and supervisor mode
11. Security
12. Resource allocation
13. Easy to run
14. Information and Resource Protection
15. Manipulation of the file system
16. Provides a platform for running applications
17. Handles memory management and CPU scheduling
18. Provides file system abstraction
19. Provides networking support
20. Provides security features
21. Convenient to use: One of the objectives is to make the computer system more convenient to use in an efficient manner.
22. User Friendly: To make the computer system more interactive with a more convenient interface for the users.
23. To provide easy access to users for using resources by acting as an intermediary between the hardware and its users.
24. For managing the resources of a computer.
25. Controls and Monitoring: By keeping the track of who is using which resource, granting resource requests, and mediating conflicting requests from different programs and users.
26. Providing efficient and fair sharing of resources between the users and programs.
Summary
So, we learned that operating systems manage the work of computers, can execute multiple tasks simultaneously, and control input and output activities. Also, in this article, we understood the operating system and key features of the operating system. The majority of today’s operating systems feature graphical user interfaces (GUIs) that accept input from pointing devices.
An operating system is a program that acts as an interface between the software and the computer hardware. It Is an integrated set of specialized programs used to manage overall resources and operations of the computer. It is a specialized software that controls and monitors the execution of all other programs that reside in the computer, including application programs and other system software. In this article we will get an variety of Usage, Needs, Goals, Features and Characteristics that make them essential components of modern day computer systems. These characteristics and features of operating system play a very crucial role in the performance, security, and usability of computer systems. Hence now you would not have any doubt about the usage, needs, goals, characteristics and features of the Operating System.