The operating system provides a proper means to utilize the resources of the computer system. It provides an environment within which other programs can do useful work. To understand the operating system clearly, it is explored with two viewpoints.
User View – The goal of the operating system in this viewpoint is to maximize the work (or play) that the user is performing. Therefore in this viewpoint, the operating system is designed for ease of use of the system for the user. And less attention is paid to the performance of the operating system.
System View – The goal of the operating system in this viewpoint is to maximize the performance. In this viewpoint, the operating system is more involved with hardware services – CPU time, memory space, I/O operation, and so on. The operating system is involved in managing the hardware resources and allocation them to programs and users for maximum performance.
The computer system can be categorized mainly in four components – hardware, operating system, application program, and the user. The hardware is responsible for providing various resources such as memory and register or processing whenever the operating system demands and the operating system will only demand when the application programs that are developed by the software engineer are running on the operating system asking the operating system to demand more memory from the hardware.
The hardware and software consist of more of the system point of view where there is more stress on how the system is performing and if the system can allocate the desired resources efficiently and effectively. The application and user interface are more for the user’s point of view, where the user experience and user interface are given more importance. The look and feel of the application programs influence the user greatly. If we had not focused on the user’s point of view when the computer was improving from the system point of view, then there’s a possibility that might not have been an era of personal computing. Personal computers are existent because they are more dedicated to providing a better user view and making a computer system for the masses.
Abstract View Of Operating System
Example – We can all understand the user view and the system view of the computer system by comparing it to any devices we use today such as smartphones, the smartphone is made for easy and simple to use, and that what’s make the device to reach the hands of common people functionality such as web browsing and smooth scrolling or the top-down menu charts are all made for providing value to the user and create more user satisfaction. Now the same example can be considered from the system point of view, here more value is provided to the system than user such as gaming smartphone where there are as many rams and memory and GPU to boost the performance of the smartphone to run the game smoothly but at the same time it makes the smartphone more weighted and battery to drain faster for the simple process also. This is done for providing more value to the system.
Let’s explore the two viewpoints of the operating system in more detail.
User View in Operating System
The user Viewpoint is all about how the user has to interact with the operating system with the help of various application programs and from the system point of view we will see how the hardware has to interact with the operating system for accomplishing the various tasks.
Single User View Point
Most computer users operate their computer system with the help of a monitor, keyboard, mouse, printer, etc. In such cases, the system is designed for maximizing the work output by one user. And therefore, more attention is given to ease of use and less attention to the allocation of resources. These systems are more designed for the single user experience and to fulfill the requirement from one user point of view where the performance is not given much focus as compared to multiple user systems.
Multiple User View Point
The other example of the user viewpoints where both the importance of user experience and the performance is given is when there are one mainframe computer and the many users one their individual computers who are trying to communicate with their kernels through the mainframe to each other. In such a case the CPU, memory allocation has to be done effectively for a good user experience. Another similar case is the client-server architecture, where many clients can communicate with each other with the help of a remote server and the same conditions of efficient use of the server resource will arise.
Handled User Viewpoint
Also, the era of the touchscreen has brought us the best handheld technology ever. And these smartphones are connected with wireless devices to each other therefore performing various functions but they are not as powerful as a computer interface thus limiting their functionality but their operating system is a great example for creating a device focused on the user’s point of view.
Embedded System User View Point
Some systems even do not have a seeming user point of view such as embedded systems. The remote that you use for turning on or off the TV are all part of an embedded system where the electronic device interacts with the other application where the user viewpoint is not much but then also allows the user to interact with the application.
System View in Operating System
From the user point of view, we have discussed the various applications that involve greater to little user interaction. But from the system point of view, we are more focused on how the hardware has to interact with the operating system than the user. The hardware and the operating interact with each other for the various purpose some of them are
Resource allocation
Many resources are present in the hardware such as register, cache, RAM, ROM, processors, I/O interaction, etc. These are all resources that are demanded by the operating system when it is asked by any application program. This resource allocation has to be done only by the operating system which has used many techniques and strategies such that it brings the most out of its processing and memory space. There are various techniques such as paging, virtual memory, caching, etc. that the operating system uses to make the best out of the hardware resources. And these are especially needed in a multiple user viewpoint because in that case the less resource allocation efficiency can also affect the user viewpoint causing the lag or hang of the user system, therefore decreasing the user experience.
Control Program
The control program is responsible for the interaction of Input and output devices (hardware) with the operating system. The user may request some action that can only be completed with the I/O devices in that case the operating system has to have a proper method of communicating, controlling, error detection, and handling for such devices also.
Frequently Asked Questions (FAQ)
What operating systems do?
The way the computer system can be viewed as a system consisting of software, hardware, and data. The role of operating systems is to provide methods for the proper use of these resources in operation.
What are the views of the operating system?
The Operating System provides an environment for programs and users to interact with hardware resources. To clearly understand the function and services of an operating system we often divide it into two viewpoints – User View and System View.
What is user view of the operating system?
The User view in the Operating system is about maximizing the work that the user is performing. The user view is more focused on ease of use for the users of the operating system. This view is more optimized for the user experience rather than the performance of the operating system.
Aayush Kumar Gupta is the founder and creator of ExploringBits, a website dedicated to providing useful content for people passionate about Engineering and Technology. Aayush has completed his Bachelor of Technology (Computer Science & Engineering) from 2018-2022. From July 2022, Aayush has been working as a full-time Devops Engineer.