The Operating System is the most important software on a computer. It is the one that manages hardware resources and provides services to other applications. It also performs different functions of vital importance to be able to use the equipment.
Operating system usage block diagram
Operating systems can be present not only on computers. We can also find them in mobile devices such as tablets, phones or smart watches, also in routers, switches, Wi-Fi access points, televisions, multimedia playback equipment, medical equipment, ATMs, smart cars, and in an endless number of devices. the ones we use very often in our daily lives. In almost all computers that include microprocessors in one form or another we will have operating systems.
The operating system provides functions to user applications to interact with it, with other applications or with the hardware, these functions are known as “System Calls” or “System Calls” and these are typical of each operating system.
In general, operating systems work in two modes, user mode and privileged mode. In user mode or restricted mode the microprocessor can execute a reduced set of instructions and in privileged mode or kernel mode the entire set of instructions of the microprocessor is available. Applications run in restricted mode and when they need to access some privileged function, a system call is made and a context switch occurs. The kernel starts running in privileged mode, resolves the system call request and switches back to restricted mode. And returns the result to the application. This process can occur hundreds of times per second.
In a more technical and specific way, we can summarize some of the main functions of a modern operating system in the following list:
In the context of modern operating systems, a fundamental entity is the process, which is the logical form that represents a task (machine code or binary program) in execution and the assigned resources with which said task interacts.
The operating system allows you to manage hardware resources and controls which application can access a resource and, if so, keeps all the statistics regarding their use.
It is the one that controls security, users, groups, privilege levels, security policies, file system permissions, etc.
It also provides hardware and software abstractions for applications and offers simpler and more generic user interfaces for devices. So a programmer of a user application does not have to worry about having to write code to access the disk or partitions according to their operating system. In files, the programmer simply in his code specifies that a file be opened and all the complexity behind that is handled by the operating system, thus facilitating application development.
The operating system makes efficient use of resources which are finite and scarce (Microprocessor, RAM, Hard disk space, hard disk access bus bandwidth, network access and use of available network bandwidth. , etc.)
The OS is in charge of executing the tasks (Processes). For this, it uses techniques such as multiprogramming and multitasking that exchange resources hundreds of times per second between the different tasks, achieving progress little by little in all of them. Concurrently, to simulate that all tasks are being executed at the same time and thus take advantage of the computer’s computing capabilities over time.
It also allows the execution of jobs in batches (script execution)
The operating system facilitates the interaction between the user and the applications through the Shell, which can be in the form of command interpreters or in graphical mode.
A special category of Operating Systems are the so-called Real-Time Operating Systems. They are those in which the user is not important, but the processes. For the most part, their resources are underutilized in order to pay attention to the processes when they require it. They are used in environments where a large number of events are processed. Many real-time Operating Systems are built for very specific applications.
These systems are those used for air traffic control, stock exchanges, refinery control, train control, telecommunications, integrated manufacturing systems, production and distribution of electrical energy, building control and multimedia systems, among others.
Some examples of real-time Operating Systems are: VxWorks, Solaris, Lyns OS and Spectra.
To delve a little deeper into the topic, we recommend the articles listed below.
Evelyn Berezin was a pioneer in the world of computing. She is considered the creator…
When I started researching this woman, I never thought I would find her anecdotes so…
Among the most popular and used content management systems (CMS) on the entire internet is…
Delphi is a RAD (Rapid Application Development) type visual development environment. It is a development…
A web browser, also called an Internet browser or simply a "browser", is a computer…
In this article we will see step by step how to install GNU Linux Debian…