The best of hi-tech world


Software - for mobile and desktop technology - is the "soul" of any computer or smartphone. OS always turns to face the user, showing him a sleek user interface. But few know that deep in the shell program, are tons of heavy logical and mathematical work of designers. No operating system and software without any technique remains dull piece of furniture.

There are two definitions of the operating system: "a set of programs that control hardware" and "a set of programs that control other programs". Both of them have a precise technical meaning, which is related to the issue, in which cases the operating system.

There are applications of computer technology, for which operating systems are irrelevant. For example, embedded microcomputers, contained in many household appliances, automobiles (sometimes on the top ten in each ), the simplest cell phones constantly perform only one program, run at startup. Many ordinary game consoles - which are also specialized microcomputers - can live without the operating system running when the program recorded on the device is inserted into the "cartridge" or CD-ROM.

Operating systems are needed if:
computer system is used for different tasks, and programs that address these challenges need to be preserved and exchange of data. This implies the need for a universal mechanism for storing data in most cases, the operating system is responsible for its implementation of the file system. Modern systems also provide the ability to direct "link" the output of one program to the input of another, bypassing the relatively slow disk operations;
different programs require execution of the same routine operations. For example, a simple character input from the keyboard and display it on the screen may require performance by hundreds of machine instructions, and disk operation - thousand. In order not to program them anew each time, operating systems provide system libraries of frequently used routines (functions);
between programs and users of the system to distribute power to allow users to protect their data from unauthorized access and possible error in the program did not cause troubles of total;
must be able to simulate the "simultaneous" execution of multiple programs on one computer (even containing a single processor), carried out by a method known as "time-sharing". In this special component called the scheduler divides CPU time for short periods, and provides them one of the various executable programs (processes);
the operator must be able to somehow manage the processes of the individual programs. For this are the operating environment - the shell and sets of tools - they can be a part of the operating system.
Thus, modern versatile operating system can be described primarily as
using file systems (with a universal mechanism for data access),
multiplayer (with the division of powers)
multitasking (time-sharing).