Operating system: purpose and classification of operating systems. General characteristics and main mechanisms of the Windows operating system

The operating system largely determines the appearance of the computing system. Modern computing systems consist of processors, memory, timers, various types of disks, tape drives, printers, network communications equipment, and other devices that require a complex control mechanism. The OS must manage all the resources of the computer in such a way as to ensure maximum efficiency of its functioning. In accordance with this, the main function of the OS is the distribution of processors, memory, other devices and data among the computing processes that compete for these resources. Resource management includes solving the following tasks that do not depend on the type of resource:

resource planning, i.e. determining to whom, when and in what quantity it is necessary to allocate this resource;

resource state control, i.e. maintaining operational information about whether the resource is occupied or not, how much of the resource has already been allocated, and how much is free.

The effectiveness of the entire network OS as a whole largely depends on the effectiveness of the algorithms for managing local computer resources.

Operating systems differ in the implementation features of computer resource management algorithms, areas of use, and many other features. So, depending on the features of the processor control algorithm, operating systems are divided into single-tasking and multi-tasking, single-user and multi-user, single-processor and multi-processor systems, as well as local and network systems.

Single-tasking and multi-tasking operating systems. Operating systems are divided into two classes according to the number of simultaneously executing tasks:

single-tasking(for example, MS DOS, MSX);

multitasking(OS EU, OS/2, Unix, OS of the Windows family), etc.

Single task OS basically perform the function of providing a virtual machine to the user, making the user interface with the computer more simple and convenient. Single-tasking operating systems include peripheral device management tools, file management tools, and user communication tools.



Multitasking OS, in addition to the above functions, manage the sharing of shared resources such as processor, RAM, files, and external devices.

Preemptive and non-preemptive multitasking. The most important shared resource is processor time. The method of distribution of processor time between several computational processes simultaneously existing in the system largely determines the peculiarity of the OS. Among the many existing ways to implement multitasking, two groups of algorithms can be distinguished:

Non-preemptive multitasking (NetWare, Windows 3.x);

Preemptive multitasking (Windows NT, OS/2, Unix).

The main difference between preemptive and non-preemptive multitasking is the degree of centralization of the planning of computing processes. In the first case, the planning of computing processes is entirely assigned to the operating system, and in the second case, it is distributed between the operating system and application programs. In non-preemptive multitasking, an active computational process is performed until the application program itself, on its own initiative, instructs the operating system to select another process ready for execution from the queue. With preemptive multitasking, the decision to switch the processor from one active computing process to another is made by the OS itself, and not by the application program.

Depending on the areas of use, multitasking operating systems are divided into three types:

batch processing systems(for example, OS EU);

time-sharing systems(Unix, VMS, Windows, Linux);

real time systems(QNX, RT/11).

batch processing systems designed to solve problems of a nature that do not require quick results. The main goal and criterion for the effectiveness of batch processing systems is maximum throughput, i.e. solving the maximum number of tasks per unit of time. To achieve this goal, batch processing systems use the following data processing order: at the beginning of work, a batch of tasks is formed, each task contains a requirement for system resources; from this batch of tasks, a set of simultaneously executed tasks is formed. Tasks that have different resource requirements are selected for simultaneous execution. This is done in order to ensure a balanced load of all devices of the computer. For example, it is desirable to have computational tasks and I/O intensive tasks at the same time.

Thus, the choice of a new task from a batch of tasks depends on the internal situation in the system, i.e. the most optimal, “profitable” task is selected. Therefore, in such operating systems it is impossible to guarantee the execution of a particular task within a certain period of time. In batch processing systems, switching the processor from one task to another occurs only if the active task itself gives up the processor, for example, due to the need to perform an I / O operation. It is obvious that such an algorithm of the computational process reduces the efficiency of the user's work in an interactive mode, but remains relevant to ensure high performance when processing large amounts of information to this day, especially in applied information systems.

Time-sharing systems. In time-sharing systems, each task is allocated a small slice of processor time, no task takes the processor for long, and the response time is acceptable. If the quantum is chosen small enough, then this implies the parallel execution of several programs that exist within the same computer system. It is clear that such systems have less throughput than batch processing systems, since every task started by the user is accepted for execution, and not one that is “beneficial” to the system. The criterion for the effectiveness of time-sharing systems is not the maximum throughput of the processor, but the efficiency of the user's work in interactive mode.

Real time systems(RT OS) are used to control various technical objects (such as a machine tool, a satellite, a scientific experimental facility) or technological processes (galvanic line, blast furnace, etc.). OS RV is also used in banking. The efficiency criterion for real-time systems is their ability to withstand predetermined time intervals between the launch of the program and the receipt of the result (control action). This time is called the reaction time of the system, and the corresponding property of the system is called reactivity. Among the most well-known RT OS for IBM PC are RTMX, AMX, OS-9000, FLEX OS, QNX, etc. Among the listed OS, the QNX RT OS has the most complete set of tools, which executes 32-bit applications and can work together with the OS of the family Unix.

Some operating systems can combine the properties of systems of different types, for example, some tasks can be performed in batch processing mode, and some - in real time or time sharing mode. In such cases, the batch processing mode is often referred to as background mode.

Multiplayer and single player modes. According to the number of concurrent users, operating systems can be divided into single player(MS DOS, Windows 3.x) and multiplayer(Unix, Windows NT, Windows XP, Linux).

The main difference between multi-user systems and single-user is the availability of means of protecting each user's information from unauthorized access by other users. It should be noted that not every multitasking system is multi-user and not every single-user OS is single-tasking.

Multiprocessor and uniprocessor systems. Another important property of the OS is the absence or presence in it of means to support multiprocessing. Nowadays, it is becoming generally accepted to introduce multiprocessing support functions into the OS. Such features are available in Sun's Solaris 2.x, Santa Crus Operations' Open Server 3.x, IBM's OS/2, Microsoft's Windows NT, and Novell's NetWare 4.1.

On a multiprocessor OS system can be divided according to the method of organizing the computational process as follows: asymmetric OS and symmetric OS. Asymmetric OS is completely executed only on one of the processors of the system, distributing application tasks among the remaining processors. Symmetric OS is completely decentralized and uses the entire number of processors, dividing them between system and application tasks.

One of the important features of OS classification is their division on network and local.

Network OS designed to manage the resources of computers connected to a network for the purpose of sharing data.

They provide means of restricting access to information, its integrity and safety, as well as other possibilities for using network resources.

The network operating system is the backbone of any computer network.

On the one hand, each computer on the network is autonomous to some extent, so under network operating system refers to the entire set of operating systems of individual computers interacting for the purpose of exchanging messages and sharing resources according to common rules - protocols.

On the other hand, network OS is the operating system of a single computer that provides it with the ability to work on a network.

In most cases, OSes are installed on one or more sufficiently powerful server computers dedicated exclusively to network and shared resource maintenance.

All other OS will be considered local network and can be used on any PC connected to the network as a workstation. Each workstation runs its own local network operating system, which differs from the OS of a stand-alone computer in the presence of additional tools that allow the computer to work on a network.

Local network OS of this type has no fundamental differences from the OS of a stand-alone computer, but it necessarily contains software support for network interface devices (network adapter driver), as well as tools for remote login to other computers on the network and tools for accessing remote files, however, these additions do not significantly change structure of the operating system itself.

On a network operating system a separate machine can be divided into several parts:

computer local resource management tools: functions of distribution of RAM between planning and dispatching of processes, control of processors in multiprocessor machines, control of peripheral devices and other functions of resource management of local OS;

means of providing own resources and services for common use– the server part of the OS (server). These tools provide, for example, the locking of files and records, which is necessary for their sharing; maintenance of directories of names of network resources; processing requests for remote access to its own file system and database; managing queues of requests from remote users to their peripherals;

means of requesting access to remote resources and services and their use- the client part of the OS. This part performs recognition and redirection to the network of requests to remote resources from applications and users, while the request comes from the application in local form, and is transmitted to the network in another form that meets the requirements of the server. The client side also accepts responses from servers and converts them to a local format, so that local and remote requests are indistinguishable for the application;

OS communication tools used to exchange messages on the network. This part provides addressing and buffering of messages, the choice of a message transmission route over the network, transmission reliability, etc., i.e. is a means of transporting messages.

An operating system (OS) is an organized set of programs (systems) that acts as an interface between computer hardware and users. It provides users with a set of tools to facilitate the design, programming, debugging and maintenance of programs and at the same time manages the allocation of resources to ensure efficient operation.

Operating systems (OS) are classified:

    on the features of resource management algorithms - local and network OS. Local operating systems manage the resources of an individual computer. Network operating systems participate in the management of network resources;

    by the number of simultaneously executed tasks - single-tasking and multitasking . Single-tasking operating systems perform the function of providing the user with a virtual computer, providing him with a simple and convenient interface for interacting with the computer, and means for managing peripherals and files. Multitasking OS, in addition to the above functions, manage the sharing of shared resources such as processor, RAM, files and external devices;

    by the number of concurrent users - single player and multiplayer . The main difference between multi-user systems and single-user systems is the availability of means of protecting each user's information from unauthorized access by other users;

    if possible, parallelization of calculations within a single task - multithreading support . A multi-threaded OS divides the processor time not between tasks, but between their separate branches - threads;

    according to the method of distributing processor time between several processes or threads simultaneously existing in the system - non-preemptive multitasking and preemptive multitasking . In non-preemptive multitasking, the process scheduling mechanism is entirely concentrated in the operating system, while in preemptive multitasking it is distributed between the system and application programs. In non-preemptive multitasking, the active process runs until it, on its own initiative, yields control to the operating system to select another ready-to-run process from the queue. In preemptive multitasking, the decision to switch the processor from one process to another is made by the operating system, not by the active process itself;

    by the absence or presence of funds in it multiprocessing support . Multiprocessor operating systems, in turn, can be classified according to the way the computing process is organized in a system with a multiprocessor architecture: asymmetrical OS and symmetrical OS. An asymmetric OS runs entirely on only one of the system's processors, distributing application tasks across the rest of the processors. Symmetric OS is completely decentralized and uses the entire set of processors, dividing them between system and application tasks;

    by Hardware Orientation - Operating Systems personal computers , servers , mainframes , clusters ;

    depending on hardware platforms - dependent and mobile . In mobile operating systems, hardware-dependent places are localized so that when the system is transferred to a new platform, only they are overwritten. A tool that makes it easier to port the OS to another type of computer is to write it in a machine-independent language, for example, in FROM;

    according to the features of the areas of use - OS batch processing , time sharing , real time . Batch processing systems are designed to solve computational problems that do not require fast results. The main goal and criterion for the effectiveness of batch processing systems is the maximum throughput, that is, the solution of the maximum number of tasks per unit of time. In time-sharing systems, each user is provided with a terminal from which he can communicate with his program. Each task is allocated a certain quantum of processor time, so that no task takes the processor for a long time. If the time quantum is chosen to be small, then all users working simultaneously on the same computer have the impression that each of them is using the machine alone. Real-time systems are used to control various technical objects, when there is a maximum allowable time during which one or another object control program must be executed. Failure to complete the program on time can lead to an emergency. Thus, the criterion for the effectiveness of real-time systems is their ability to withstand predetermined time intervals between the launch of the program and the receipt of the result - the control action;

    on the structural organization and concepts underlying:

    according to the method of building the core of the system - monolithic kernel or micronucleus approach . OSes using a monolithic kernel are linked as a single program running in privileged mode and using fast transitions from one procedure to another that do not require switching from privileged mode to user mode and vice versa. When building an OS based on a microkernel operating in privileged mode and performing only a minimum of hardware management functions, higher-level functions are performed by specialized OS components - software servers operating in user mode. With this construction, the OS is slower, since transitions between privileged mode and user mode are often performed, but the system is more flexible and its functions can be modified by adding or excluding user-mode servers;

    for building on the basis object-oriented approach ;

    by availability multiple application environments within a single OS, allowing you to run applications developed for multiple operating systems. The concept of multiple application environments is most simply implemented in an OS based on a microkernel, on which various servers work, some of which implement the application environment of a particular operating system;

    on distribution of operating system functions among computers on the network. In a distributed OS, mechanisms are implemented that provide the user with the ability to represent and perceive the network as a single-processor computer. The features of a distributed OS are the presence of a single reference service for shared resources and a time service, the use of a remote procedure call mechanism for distributing program procedures among machines, multithreaded processing that allows parallelizing calculations within a single task and executing this task simultaneously on several network computers, as well as the presence of other distributed services.

The structure of the OS consists of the following modules:

    base module (OS kernel) - manages the operation of programs and the file system, provides access to it and file exchange between peripheral devices;

    command processor - decrypts and executes user commands that come primarily through the keyboard;

    peripheral device drivers - programmatically ensure the consistency of the operation of these devices with the processor (each peripheral device processes information in a different way and at a different pace);

    additional service programs (utilities) - make the process of communication between the user and the computer convenient and versatile.

In general, the operating system performs the following four functions:

    provides other programs with a certain type of service (through utility programs), such as allocating and assigning memory, synchronizing the calculation process, and organizing the relationship between various processes in a computer system;

    provides protection (to a certain extent) of other programs from the consequences of various special situations that arise during the machine implementation of this program, such as interrupts and machine failures;

    implements, with varying degrees of complexity, the principle of a “virtual machine”, which allows a group of programs to use common computing resources, such as a processor (processors) and main memory;

    organizes and monitors the implementation of management principles in solving such problems as ensuring the protection of data from unauthorized access and the implementation of a system of priorities for program access to computing resources.

    Provides work with long-term memory devices such as magnetic disks, tapes, optical disks, etc.

    Provides standard access to various I/O devices such as terminals, modems, printers.

    Provides some user interface. Some systems are limited to the command line, while others are 90% user interface tools.

More advanced operating systems also provide the following features:

    Parallel (more precisely, pseudo-parallel, if the machine has only 1 processor) execution of several tasks.

    Distribution of computer resources between tasks.

    Organization of interaction of tasks with each other.

    Interaction of user programs with non-standard external devices.

    Organization of machine-to-machine interaction and resource sharing.

    Protection of system resources, user data and programs, running processes and itself from erroneous and malicious actions of users and their programs.

The operating system is designed to manage the execution of user programs, planning and managing computer computing resources.

The operating system, on the one hand, acts as an interface between the computer hardware and the user with his tasks, on the other hand, is designed to efficiently use the resources of the computing system and organize reliable computing.

File management systems are designed to provide more convenient access to data organized as files.

Instead of low-level access to data specifying specific physical addresses, the file management system allows you to use logical access specifying the file name.

Any file management system does not exist by itself - it is designed to work in a specific OS and with a specific file system. That is, the file management system could be attributed to the OS.

But due to the fact that:

  • 1) a number of operating systems allow you to work with several file systems (either with one of several, or with several at once); and an additional file system can be installed (i.e. they are independent);
  • 2) the simplest operating systems can work without file systems; file management systems are allocated to a separate group of system programs.

Note that in the specialized literature, file management systems are often referred to as operating systems.

Operating systems differ in the implementation features of computer resource management algorithms, areas of use.

So, depending on the processor control algorithm, operating systems are divided into:

  • · Single-tasking and multi-tasking.
  • · Single and multiplayer.
  • · Uniprocessor and multiprocessor systems.
  • · Local and network.

Operating systems are divided into two classes according to the number of simultaneously executing tasks:

  • · Single-tasking (MS DOS).
  • · Multitasking (OS/2, Unix, Windows).

In single-tasking systems, peripheral device management tools, file management tools, and user communication tools are used. Multitasking operating systems use all the features that are typical for single-tasking, and, in addition, manage the sharing of shared resources: processor, RAM, files, and external devices.

Depending on the areas of use, multitasking operating systems are divided into three types:

  • · Batch processing systems (OS EC).
  • · Time-sharing systems (Unix, Linux, Windows).
  • · Real time systems (RT11).

Batch processing systems are designed to solve problems that do not require fast results. The main goal of a batch processing OS is to maximize throughput or solve the maximum number of tasks per unit of time.

These systems provide high performance when processing large amounts of information, but reduce the user's efficiency in interactive mode.

In time-sharing systems, each task is given a small amount of time to complete, and no single task takes up the processor for long. If this period of time is selected as minimal, then the appearance of simultaneous execution of several tasks is created. These systems have less bandwidth, but provide a high interactive user experience.

Real-time systems are used to control a technological process or a technical object, for example, an aircraft, a machine tool, etc.

According to the number of simultaneously working users on a computer, operating systems are divided into single-user (MS DOS) and multi-user (Unix, Linux, Windows 95 - XP).

In a multi-user OS, each user customizes the user interface for himself, i.e. can create its own sets of shortcuts, groups of programs, set an individual color scheme, move the taskbar to a convenient place and add new items to the Start menu.

In a multi-user OS, there are means of protecting each user's information from unauthorized access by other users.

Multiprocessor and uniprocessor operating systems. One of the important properties of the OS is the presence in it of means to support multiprocessor data processing. Such facilities exist in OS/2, Net Ware, Widows NT. According to the method of organizing the computing process, these operating systems can be divided into asymmetric and symmetric.

One of the most important features of the classification of computers is their division into local and network. Local operating systems are used on stand-alone PCs or PCs that are used in computer networks as a client.

The local OS includes the client part of the software for accessing remote resources and services. Network operating systems are designed to manage the resources of PCs connected to the network in order to share resources. They represent powerful means of restricting access to information, its integrity and other possibilities for using network resources.

software anti-virus system file

Definition 1 :Operating system is a set of special software tools designed to control the loading, launch and execution of other (user) programs, as well as to plan and manage computer computing resources.

The operating system forms a stand-alone environment that is not associated with any of the programming languages. Any application program is associated with the operating system and can only be used on those computers where there is a similar system environment (or the ability to convert programs must be provided).

There are two approaches to considering the concept of OS.

Operating system as an extended machine : using most computers at the machine language level is difficult, especially for I / O. For example, to read a block of data from a floppy disk, a programmer can use 16 different commands, each of whichrequires13 parameters, such as the block number on the disk, the sector number on the track, etc. When the disk operation is completed, the controller returns 23 values ​​indicating the presence and types of errors that obviously need to be analyzed. Even if one does not get into the real problems of I/O programming, it is clear that there would be few programmers among programmers who would directly deal with the programming of these operations. When working with a disk, it is enough for a user programmer to represent it as a set of files, each of which has a name.

From this point of view, the function of the OS is providing the user with some augmented or virtual machine that is easier to program and work with than directly with the hardware that makes up the real machine.

The operating system as a resource management system: according to the second approach, the OS function is distribution of processors, memory, devices and data between processes competing for these resources. The OS must manage all the resources of the computer in such a way as to ensure maximum efficiency of its functioning.

Resource management involves solving two common tasks that do not depend on the type of resource:

    resource planning - that is, determining to whom, when, and for divisible resources - and in what quantity it is necessary to allocate this resource;

    tracking the state of the resource - that is, maintaining operational information about whether the resource is occupied or not, and for divisible resources - how much of the resource has already been allocated and how much is free.

Classification of operating systems

Let's consider the main functions of the OS for managing processors, memory, and external devices of a stand-alone computer.

1.Support multitasking. According to the number of simultaneously executed tasks, operating systems can be divided into two classes:

    single-tasking (for example, MSDOS, MSX);

    multitasking (OS EU, OS/2, UNIX, Windows 95).

single-tasking OS basically perform the function of providing the user with a virtual machine, making it easier and more convenient for the user to interact with the computer. Single-tasking operating systems include peripheral device management tools, file management tools, and user communication tools.

multitasking The OS, in addition to performing the above functions, manages the sharing of shared resources such as the processor, RAM, files, and external devices.

2. Support for multiplayer mode. According to the number of concurrent OS users, they are divided into:

    on single user (MSDOS, Windows 3.x,);

    multiuser (UNIX, WindowsNT).

    Preemptive and non-preemptive multitasking. The most important shared resource is processor time. The way in which processor time is distributed among several processes (or threads) that simultaneously exist in the system largely determines the specifics of the OS. Among the many existing options for implementing multitasking, two groups of algorithms can be distinguished:

    non-preemptive multitasking;

    preemptive multitasking

    Multithreading support. An important property of the OS is the ability to parallelize calculations within a single task. A multi-threaded OS divides the processor time not between tasks, but between their separate branches (threads).

    Multiprocessing. Another important property of the OS is the absence or presence of multiprocessing support in it - multiprocessing. Multiprocessing leads to the complication of all resource management algorithms.