When we talk about the objectives of the operating system then we are referring to how the operating system evolved and what are the goals that it achieved. The objective of the operating system will help us to summarize all the progress that the operating system has made up till now.
The main objectives of the operating system are
Ability to evolve
Let’s talk about each of them in more detail.
The reason for the operating system to exist is that it can make the utilization of computer systems more convenient to the user. The operating system makes use of the hardware resources to provide service to the end-user in a systematic way. These services can be divided into two categories: services that are provided by the operating system to the end-user through various input-output I/O devices such as keyboard, monitor, printer, speaker, mouse, scanner, etc and the services provided to the application program by the operating system which in return provides service to the end-users.
When you observe the layout of the computer system then you will find that the application and utilities are laid above the operating system. The user interacts with the application and for the application to work programmers will require utility software. The utilities are the APIs and the libraries, they provide the functions that are frequently used in the development of the application with which the end-user interacts with.
There are a variety of applications that the end-user uses to operate the computer system. The end-user mainly interacts with the application of the computer system that is designed by the programmers in a computer programming language. For a programmer to develop these applications, the higher the utilities are the easier it is for the programmer to develop the application and the lower the utilities are the more difficult it gets to develop the application. In the worst case, such as in assembly language which is very close to the machine language (native binary) but instead of binary it uses mnemonic code for the instructions, the programmer has to deal with the overwhelming complexity of the assembly language for manipulating the hardware resources. But in contrast, when we see in higher-level languages such as Python and C++ which come with library rich classes and APIs for almost every common function then in these cases it becomes easier for the programmer to use these utilities and develop the desired application programs.
The services that are provided to the end-user by the application program are due to the operating system is able to exploit the services of the hardware resources. Without the hardware resource and its services to provide the operating system will become useless. It depends on the operating system to use the hardware resource and services in a way that it is able to achieve maximum efficiency.
The operating system does not control the hardware but it depends on hardware resources and manages to work with it.
The operating system by nature is a program and therefore it has instructions that require execution by the CPU and the memory to hold the instructions and the values from instruction. So when some program requires to utilities any hardware resource it has to contact the operating system and the operating system provides it access to the hardware and OS leaves it for the execution to complete and later regain the control of the CPU if some other program requires instruction for execution.
By using the facility that is provided by the hardware the operating system is able to schedule and run different processes at different moment and able to exchange data and instructions between each other by memory devices such as primary or secondary memory. This is all programs in the operating system to achieve the highest efficiency.