Briefly what are the main functions performed by the operating system? Operating system MICROSOFT WINDOWS. Unified information space

Operating system (OS) is a complex of interconnected system programs for organizing user interaction with the computer and executing all other programs. OS refers to the composition of system software and is its main part. Operating systems: MS DOS 7.0, Windows Vista Business, Windows 2008 Server, OS/2, UNIX, Linux.

Main OS functions:

management of computer devices (resources), i.e. coordinated operation of all PC hardware: standardized access to peripheral devices, RAM management, etc.

process management, i.e. execution of programs and their interaction with computer devices.

controlling access to data on non-volatile media (such as a hard drive, CD-ROM, etc.), usually using a file system.

maintaining the file structure.

user interface, i.e. dialogue with the user.

Additional functions:

parallel or pseudo-parallel execution of tasks (multitasking).

interaction between processes: data exchange, mutual synchronization.

protection of the system itself, as well as user data and programs from malicious actions users or applications.

differentiation of access rights and multi-user mode of operation (authentication, authorization).

Operating environment Windows developed by Microsoft for IBM-compatible computers.

Windows performs the following main functions:

  • Convenient, intuitive graphical user interface.
  • Multitasking, i.e. execution of several programs simultaneously.
  • Unification of the use of computer hardware resources.

Windows Features:

  • Rules for writing a program. To work in an environment Windows program must be written according to certain rules that differ significantly from those adopted in MS-DOS.

Windows allows you to run programs written for MS DOS, but the programs cannot take advantage of Windows.

  • Graphical interface user interface in Windows is based on the idea of ​​a window interface, which is also adopted in a number of other modern operating systems (for example, UNIX). Each program has its own window in which messages are exchanged with the user. For clarity, Windows widely uses icons (pictograms) depicting individual programs.

In addition, the Windows interface is largely standardized, making it easier for users to learn new programs.

  • Multitasking. Multitasking mode allows you to run several applications simultaneously, for example, word processor, database, game and switch between them.
  • Exchange data between applications. In addition, data exchange between applications is possible, which allows, for example, information created in a spreadsheet to be transferred to a text document via the clipboard.

The components that make up a computer are called modules. Among all the modules, there are the main modules, without which the computer cannot operate, and the remaining modules that are used to solve various tasks: input and output graphic information, connections to a computer network, etc.

Personal computers usually consist of the following main modules:

System unit.

IN system unit All the main components of the computer are located:

Motherboard;

Electronic circuits(processor, device controllers, etc.);

Power unit;

Disk drives (storage devices).

Characteristics of the main PC modules

Motherboard

Motherboard (system, main) board is the central part of any computer. On the motherboard are located in general case central processor, coprocessor, controllers that provide communication between the central processor and peripheral devices, RAM, cache memory, ROM-BIOS element, accumulator battery, crystal clock oscillator and slots to connect other devices.

Overall Performance motherboard is determined not only clock frequency , but also in quantity data, processed per unit time by the central processor, as well as bus width exchanging data between different devices on the motherboard.

Port– multi-bit input or output in a device.

CPU

In general, a processor is understood as a device that performs a set of operations on data presented in digital form. Applied to computer technology by processor we mean central processing unit, having the ability to select, decode and execute commands, as well as transmit and receive information from other devices.

Production of modern personal computers began when the processor was made as a separate chip.

Processor functions:

1.data processing according to a given program - ALU function;

2. software control of the operation of computer devices - a function of the control unit (control device).

The processor also includes registers - a number of special storage cells.

Registers perform two functions:

Short-term storage of a number or command;

Perform some operations on them.

CPU performance characterized by the following main parameters:

1. clock frequency;

2. degree of integration;

3. internal and external bit depth of the processed data;

4. memory that can be addressed by the CPU.

Memory

The central processor has access to data located in RAM. The computer's work with user programs begins after the data is read from external memory in RAM.

RAM works synchronously with the central processor and has low access time. RAM only stores data when the power is on. A power outage results in irreversible data loss, so users who work with large amounts of data over a long period of time are advised to periodically save intermediate results on external media.

Peripheral devices can be divided into several groups according to their functionality:

1. I/O devices– designed for entering information into a PC, outputting it in the format required by the operator, or exchanging information with other PCs. This type of control unit includes external drives and modems.

2. Output devices– designed to display information in the format required by the operator. This type of peripheral devices includes: printer, monitor, audio system.

3. Input Devices– Input devices are devices through which information can be entered into a computer. Their main purpose is to implement an impact on the machine. This type of peripheral devices includes: keyboard, scanner, Graphics tablet etc.

4. Additional control points– such as a “mouse” manipulator, which only provides convenient control of the graphical interface of PC operating systems and does not have pronounced functions for input or output of information; WEB cameras that facilitate the transmission of video and audio information to Internet networks, or between other PCs. The latter, however, can also be classified as input devices, thanks to the ability to save photos, video and audio information on magnetic or magneto-optical media.

Graphic editor

Software tools for creating and processing vector graphics include graphic editor(For example Adobe Illustrator, Macromedia Freehand, CorelDraw) and vectorizers (tracers) - specialized conversion packages raster images to vector (for example Adobe StreamLine, CorelTrace). Vector Adobe editor Illustrator is one of the generally recognized leaders among programs in this class. Its special advantage lies in its well-established interaction with other Adobe products, primarily with Photoshop and PageMaker packages. These applications are made in uniform style and form a complete package. Vector editor Macromedia Freehand with a simple and user-friendly interface serves as a convenient tool for beginners. The program is small in size and has good performance. Low requirements for hardware resources allows you to work on mid-level computers. The program's tools are sufficient for developing complex documents and only in some elements are inferior to the more powerful tools of Adobe Illustrator and CorelDraw. The package is specially adapted for working together with the computer layout program QuarkXPress. The vector editor CorelDraw has historically, especially in Russia, been considered the main package for creating and processing vector graphics on the Windows platform. Its advantages include a developed control system and extensive tools for setting tool parameters. In terms of its ability to create the most complex artistic compositions, CorelDraw is noticeably superior to its competitors. However, the program interface is difficult to master. The Adobe StreamLine tracer rightfully occupies a leading position in its class of programs. Although there are more powerful packages, focused on processing drawings, they are very demanding on hardware resources, and are much more expensive. StreamLine allows you to carry out fine tuning vectorization parameters, which improves its accuracy. Vectorization is most convenient for converting drawings, black and white drawings and other simple graphics without halftones. Halftone and color images are processed less well, and the result requires significant modification to be closer to the original. Among the Macintosh-based image creation programs, PixelPaint Pro from Pixel Resources is a bitmap painting and image editing package. Among computer painting programs for Silicon Graphics (SGI) graphics stations, a special place is occupied by Alias ​​Wavefront's StudioPaint 3D package, which allows you to paint with various tools (“brushes”) in real time directly on three-dimensional models. The package works with an unlimited number of image layers and provides 30 levels of undoing the previous action (undo), includes color correction operations and “spline brushes”, the “stroke” of which can be edited point by point like a spline curve. StudioPaint 3D supports a tablet with a sensitive pen, allowing the artist to sketch traditionally by hand, then transfer the drawing into 3D modeling or animation packages and build a 3D model from the sketch. The Kinetix 3D Studio Max program for creating and processing three-dimensional graphics was originally created for the Windows platform. This package is considered "semi-professional". However, its resources are quite sufficient for developing high-quality three-dimensional images of inanimate objects. Distinctive features of the package are support for a large number of 3D graphics hardware accelerators, powerful lighting effects, and a large number of add-ons created by third-party companies. The comparative undemanding nature of hardware resources allows it to work even on mid-level computers. At the same time, in terms of modeling and animation, the 3D Studio Max package is inferior to more developed software.

An operating system is a set of system and utility programs that manages the resources of a computer system and provides a user interface, software, hardware and software interface.

It relies on basic software - the BIOS (Base Input-Output System). Programs running under operating system, are called applications. Computer system resources are understood as the amount of RAM, processor time, amount of external memory, external devices.

The operating system provides the following types interfaces:

1. interface between the user and the computer hardware (user interface);

2. interface between software and hardware (hardware-software interface);

3.interface between different types software (software interface).

All operating systems provide batch and dialog modes of operation.

In batch mode, the operating system automatically executes a given sequence of commands.

Online< операционная система находится в ожидании команды пользователя, получив её, приступает к исполнению, а после завершения возвращает отклик и ждёт очередной команды. Диалоговый режим работы основан на использовании прерываний. Прерыванием называется способность операционной системы прервать текущую работу и отреагировать на события, вызванные пользователем с помощью управляющих устройств.

Based on the way the user interface is implemented, a distinction is made between non-graphical and graphical operating systems.

Non-graphical operating systems use a command line interface. The main control device in this case is the keyboard. Control commands are entered as some words in the command line field, where they can be edited. The execution of the command begins after pressing a certain key, most often.

Graphical operating systems provide a more complex interface that uses a mouse as a control device in addition to the keyboard. The operation of the graphical operating system is based on the interaction of active and passive on-screen controls. The active control element is the mouse pointer, whose movement across the screen is synchronized with the movement of the mouse. Graphical application controls act as passive controls: on-screen buttons, icons, switches, drop-down lists, menus, etc.

Most modern graphical operating systems are multitasking. They manage the distribution of computing system resources between applications and provide:

1. the ability to simultaneously run several applications;

2. the ability to exchange data between applications;

3. opportunity sharing software, hardware and network resources of a computer system by several applications.


Related information.


operating system

All the variety of programs used on modern computer, is called software - software.

The programs that make up the software can be divided into three groups: system software, programming systems, application software. The core of system software is the operating system (OS).

An OS is an integral part of the software that controls the computer's hardware. An operating system is a program that coordinates the actions of a computer; programs are executed under its control.

Main functions of the operating system:

  • 1. Exchange data between the computer and various peripheral devices (terminals, printers, floppy disks, hard disks, etc.). This data exchange is called "data input/output".
  • 2. Providing a system for organizing and storing files.
  • 3. Loading programs into memory and ensuring their execution.
  • 4. Organizing a dialogue with the user.

An OS is a complex of interconnected system programs, the purpose of which is to organize the user’s interaction with the computer and the execution of all other programs.

Composition of the operating system.

The OS structure is following modules:

basic module(OS kernel) - controls the operation of the program and the file system, provides access to it and exchange of files between peripheral devices;

command processor - deciphers and executes user commands received primarily through the keyboard;

peripheral drivers - software ensures consistency between the operation of these devices and the processor (each peripheral device processes information differently and at a different pace);

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

OS loading. The files that make up the OS are stored on disk, which is why the system is called disk operating system (DOS). It is known that in order to execute them, programs - and, therefore, OS files - must be located in random access memory (RAM). However, in order to write the OS into RAM, you need to run a boot program, which is not in RAM immediately after turning on the computer. The way out of this situation is to sequentially, step-by-step load the OS into RAM.

The first stage of loading the OS. The system unit of the computer contains a read-only memory device (ROM, permanent memory, ROM-Read Only Memory - memory with read-only access), which contains programs for testing computer units and the first stage of loading the OS. They begin to execute with the first current pulse when the computer is turned on. At this stage, the processor accesses the disk and checks for the presence of a very small program - the boot loader - at a certain place (at the beginning of the disk). If this program is detected, it is read into RAM and control is transferred to it.

The second stage of loading the OS. The bootloader program, in turn, searches the disk for the base OS module, rewrites its memory and transfers control to it.

The third stage of loading the OS. The base module includes a main bootloader that searches for other OS modules and reads them into RAM. After the OS has finished loading, control is transferred to the command processor and a system prompt for entering a user command appears on the screen.

Note that the basic OS module and the command processor must be in the RAM while the computer is running. Therefore, there is no need to load all OS files into RAM at the same time. Device drivers and utilities can be loaded into RAM as needed, reducing the required amount of RAM allocated to system software.

First OS task– organization of communication, communication between the user and the computer as a whole and its individual devices. Such communication is carried out using commands that a person communicates to the operating system in one form or another. In early versions of operating systems, such commands were simply entered from the keyboard into a special line. Subsequently, programs were created - OS shells that allow you to communicate not only with the OS, not only in text command language, but using menus (including pictographic ones) or manipulations with graphic objects.

Second OS task– organization of interaction of all computer blocks during the execution of a program that the user has assigned to solve a problem. In particular, the OS organizes and monitors the placement in RAM and disk of the data necessary for the program to operate, ensures timely connection of computer devices at the request of the program, etc.

Third OS task– provision of so-called system work that may need to be performed for the user. This includes checking, “treating” and formatting the disk, deleting and restoring files, organizing the file system, etc. Typically such work is carried out using special programs, included in the OS and called utilities.

The operating system plays a role liaison between the computer hardware, on the one hand, and the programs being executed, as well as the user, on the other hand.

The OS is usually stored in the computer's external memory - on disk. When you turn on the computer, it is read from disk memory and placed in RAM.

This process is called OS loading.

OS features include:

  • - carrying out a dialogue with the user;
  • - input/output and data management;
  • - planning and organizing the program processing process;
  • - resource distribution (RAM, processor, external devices);
  • - launching programs for execution;
  • - all kinds of auxiliary maintenance operations;
  • - transfer of information between various internal devices;
  • - software support for the operation of peripheral devices (display, keyboard, printer, etc.).

The OS can be called a software extension of the computer control device.

Depending on the number of simultaneously processed tasks and the number of users that the OS can serve, there are four main classes of operating systems:

  • 1. single-user single-tasking, which support one keyboard and can only work with one (in this moment) task;
  • 2. single-user single-tasking with background printing, which allow, in addition to the main task, to run one additional task, usually oriented towards printing information.
  • 3. single-user multitasking, which provide one user with parallel processing of several tasks.
  • 4. multi-user multitasking,allowing multiple users to run multiple tasks on one computer.

An OS for a personal computer oriented for professional use should contain the following main components:

  • - I/O control programs;
  • - programs that manage the file system and schedule tasks for the computer;
  • - a command language processor that accepts, parses, and executes commands addressed to the OS.

Each OS has its own command language, which allows the user to perform certain actions:

  • - access the catalogue;
  • - mark external media;
  • - run programs;
  • - ... and other actions.

Analysis and execution of user commands, including loading ready-made programs from files into RAM and launching them, is carried out by the OS command processor.

An important class of system programs are device drivers.

To control external computer devices, special system programs are used - drivers. Drivers standard devices together form a basic input-output system ( BIOS ), which is usually stored in the computer's permanent storage.

System programs often include antivirus tools, file archiving programs, etc.

The second class of programs are application programs. There is no single point of view about which programs belong to this class. Typically, an application program is any program that allows the user to solve a certain class of problems without programming.

The operating system copes with its responsibilities brilliantly. In practice, one of the main advantages of using an OS is its ease of understanding, despite its functional complexity (That is, the system is designed to perform fairly complex functions).

There are several most common operating systems.

For example, MS-DOS stands for disk operating system. The developer of MS-DOS is Microsoft Corporation.

Short story creation of MS-DOS

The first development of MS-DOS can be considered an operating system for personal computers, created by Seattle Computer Products in 1980. At the end of 1980, the system, originally called QDOS, was modified and renamed 86-DOS. The right to use the 86-DOS operating system was purchased by Microsoft Corporation, which entered into a contract with IBM, pledging to develop an operating system for a new model of personal computers produced by the company. When at the end of 1981 the new IBM computer The PC became widely popular and its operating system was a modified version of the 86-DOS system, called PC-DOS version 1.0.

Soon after the release of the IBM-PC, “PC-like” personal computers began to appear on the market. The operating system of these computers was called MS-DOS, version 1.0. Microsoft Corporation made available to the companies producing these machines an exact copy of the PC-DOS operating system - the now widely used MS-DOS.

Since their release, the PC-DOS and MS-DOS operating systems have evolved in parallel and in similar ways. in 1982, version 1.1 appeared. The main advantage of the new version was the ability to use double-sided floppy disks (version 1.0 only allowed working with single-sided floppy disks), as well as the ability to send printer output to other devices.

In 1983, versions 2.0 were developed. Compared to previous ones, they made it possible to use a hard disk, provided a sophisticated hierarchical disk directory, and included built-in floppy drives and a file management system.

MS-DOS versions 3.0, released in 1984, provided an improved option for servicing the hard drive and connected microcomputers. Subsequent versions, including 3.3 (which appeared in 1987), developed in the same direction.

MS-DOS version 5.0 provides the ability to use memory located above 1M.

In MS-DOS version 6.0, the possibilities for using memory located above 1M have been expanded, a utility for optimizing memory use has been added. A tool has been added to increase effective disk space. The package includes verification utilities and hard optimization disk.

Shells are programs designed to make working with complex software systems, such as, for example, DOS . They transform an awkward command-based user interface into a user-friendly graphical or menu-type interface. Shells provide the user with convenient access to files and extensive services.

The most popular shell among users Norton Commander . It provides:

  • · creating, copying, forwarding, renaming, deleting, searching for files, as well as changing their attributes;
  • · display of the directory tree and the characteristics of the files included in them in a form convenient for human perception;
  • · creating, updating and unpacking archives (groups of compressed files);
  • · viewing text files;
  • · editing text files;
  • · execution of almost all commands from its environment DOS;
  • · launching programs;
  • · issuing information about computer resources;
  • · creating and deleting directories;
  • · support for computer-to-computer communication;
  • · email support.

In the early 90s, the graphical shell became extremely popular all over the world. MS - Windows 3.x , the advantage of which is that it makes the computer easier to use, and its graphical interface, instead of typing complex commands from the keyboard, allows you to select them with the mouse from a menu almost instantly. operating system Windows , working in conjunction with the operating system DOS , implements all the modes necessary for the user’s productive work, including multitasking mode.

Annotation: Operating system functions. Operating system structure. Classification of operating systems. Operating system requirements.

operating system(operating system) - a set of programs that provides the user with a convenient environment for working with computer equipment.

operating system allows you to run user programs; manages all resources of the computer system - processor (processors), RAM, input/output devices; provides long-term storage of data in the form of files on external memory devices; provides access to computer networks.

To more fully understand the role of the operating system, let's consider the components of any computing system (Fig. 1.1).


Rice. 1.1.

All components can be divided into two large classes - programs or software(software) and equipment or Hardware(hardware). Software divided into applied, instrumental and systemic. Let's briefly consider each type of software.

The purpose of creating a computing system is to solve user problems. To solve a certain range of problems, an application program (application, application) is created. Examples application programs are text editors and processors (Notepad, Microsoft Word), graphic editors (Paint, Microsoft Visio), spreadsheets ( Microsoft Excel), database management systems (Microsoft Access, Microsoft SQL Server), browsers (Internet Explorer), etc. The entire set of application programs is called application software.

Created software using a variety of programming tools (development environments, compilers, debuggers, etc.), the totality of which is called instrumental software. The representative of the tool software is development environment Microsoft Visual Studio.

The main type of system software is operating systems. Their main task is to provide an interface (way of interaction) between the user and applications on the one hand, and hardware on the other. System software also includes system utilities - programs that perform a strictly defined function in maintaining a computer system, for example, diagnosing state of the system, defragment files on the disk, and compress (archive) data. Utilities may be included with the operating system.

The interaction of all programs with the operating system is carried out using system calls - requests from programs for the operating system to perform the necessary actions. A set of system calls forms the API - Application Programming Interface.

Operating system features

The main functions performed by operating systems include:

  • ensuring program execution - loading programs into memory, providing programs with processor time, processing system calls;
  • RAM management – ​​efficient allocation of memory to programs, accounting for free and used memory;
  • external memory management – ​​support for various file systems;
  • I/O management – ​​ensuring work with various peripheral devices;
  • provision user interface;
  • ensuring security – protecting information and other system resources from unauthorized use;
  • organization of network interaction.

Operating system structure

Before studying the structure of operating systems, you should consider the operating modes of processors.

Modern processors have at least two operating modes - privileged (supervisor mode) and user (user mode).

The difference between them is that in user mode, processor commands related to hardware management, RAM protection, and switching processor operating modes are not available. In privileged mode, the processor can execute all possible commands.

Applications running in user mode cannot directly access each other's address spaces - only through system calls.

All components of the operating system can be divided into two groups - those running in privileged mode and those running in user mode, and the composition of these groups varies from system to system.

The main component of the operating system is the kernel. Kernel functions may differ significantly depending on the different systems; but on all systems the kernel runs in privileged mode (often called kernel mode).

The term "core" is also used in different senses. For example, in Windows term"kernel" (NTOS kernel) refers to a combination of two components - the executive system (executive layer) and the kernel itself (kernel layer).

There are two main types of kernels - monolithic kernels and microkernels. The monolithic kernel implements all the main functions of the operating system, and it is, in fact, a single program, which is a set of procedures. In the microkernel there remains only a minimum of functions that must be implemented in privileged mode: thread scheduling, interrupt handling, interprocess communication. The remaining functions of the operating system for managing applications, memory, security, etc. are implemented in the form of separate modules in user mode.

Kernels that occupy an intermediate position between monolithic and microkernels are called hybrid kernels.

Examples of different types of kernels:

  • monolithic kernel – MS-DOS, Linux, FreeBSD;
  • microkernel – Mach, Symbian, MINIX 3;
  • hybrid kernel – NetWare, BeOS, Syllable.

For a discussion of what type of Windows NT kernel is, see [; ]. Windows NT is said to have a monolithic kernel, but because Windows NT has several key user-mode components (such as the environment subsystems and system processes– see Lecture 4 “Windows Architecture”), then Windows NT cannot be classified as a truly monolithic kernel, but rather as a hybrid one.

In addition to the kernel, drivers operate in privileged mode (in most operating systems) - software modules, controlling devices.

The operating system also includes:

  • system libraries (system DLL - Dynamic Link Library, dynamic link library) that convert application system calls into kernel system calls;
  • user shells that provide the user with an interface - a convenient way to work with the operating system.

User shells implement one of two main types of user interface:

  • text interface (Text User Interface, TUI), other names – console interface (Console User Interface, CUI), command line interface ( Command Line Interface, CLI);
  • graphical interface (Graphic User Interface, GUI).

An example of implementing a text interface in Windows is the command line interpreter cmd.exe; An example of a graphical interface is Windows Explorer (explorer.exe).

Classification of operating systems

Operating systems can be classified in several ways.

  1. According to the method of organizing calculations:
    • batch processing operating systems – the goal is to execute maximum quantity computing tasks per unit of time; in this case, a package is formed from several tasks, which is processed by the system;
    • time-sharing operating systems – the goal is to allow multiple users to use one computer simultaneously; implemented by alternately providing each user with an interval of processor time;
    • real-time operating systems – the goal is to complete each task within a strictly defined time interval for a given task.
  2. By kernel type:
    • systems with a monolithic core (monolithic operating systems);
    • microkernel operating systems;
    • systems with a hybrid core (hybrid operating systems).
  3. By the number of simultaneously solved tasks:
    • single-tasking operating systems;
    • multitasking operating systems.
  4. By the number of concurrent users:
    • single-user operating systems;
    • multi-user operating systems.
  5. By number of supported processors:
    • single-processor operating systems;
    • multiprocessor operating systems.
  6. For network support:
    • local operating systems – autonomous systems not intended to operate on a computer network;
    • network operating systems – systems that have components that allow you to work with computer networks.
  7. By role in networking:
    • server operating systems – operating systems that provide access to network resources and manage the network infrastructure;
    • client operating systems – operating systems that can access network resources.
  8. By license type:
    • open-source operating systems – operating systems with open source code available for study and modification;
    • proprietary operating systems – operating systems that have a specific copyright holder; usually come with closed source code.
  9. By area of ​​application:
    • operating systems of mainframes - large computers (mainframe operating systems);
    • server operating systems;
    • personal computer operating systems;
    • OS mobile devices(mobile operating systems);
    • embedded operating systems;
    • router operating systems.

Operating system requirements

The main requirement for modern operating systems is to perform the functions listed above in the paragraph “Functions of operating systems.” In addition to this obvious requirement, there are others, often no less important:

  • extensibility – the ability of the system to acquire new functions in the process of evolution; often implemented by adding new modules;
  • portability – the ability to transfer the operating system to another hardware platform with minimal changes;
  • compatibility – ability to work together; there may be compatibility of a new version of the operating system with applications written for old version, or compatibility of different operating systems in the sense that applications for one of these systems can be run on another and vice versa;
  • reliability – the probability of failure-free operation of the system;
  • performance – the ability to provide acceptable problem solving time and system response time.

Summary

This lecture provides a definition of an operating system, introduces types of software, and discusses the functions and structure of an operating system. Particular attention is paid to the concept of "core". Also given are various ways of classifying operating systems and the requirements for modern operating systems.

The next lecture will provide an overview of operating systems Microsoft Windows.

Control questions

  1. Define the term "operating system".
  2. Name examples of application, instrumental and system software.
  3. Define the concepts "system call", "API", "driver", "kernel".
  4. What types of kernels do you know? What types of operating system kernels do you know?
  5. How is a kernel different from an operating system?
  6. Give several ways to classify operating systems.
  7. Name the requirements for modern operating systems and explain what they mean.

An operating system is a set of software that provides control of computer hardware and application programs, as well as their interaction with each other and the user. In most computing systems, operating systems are the main part of the system software.

The operating system acts as a link between the computer hardware, on the one hand, and the programs being executed, as well as the user, on the other hand. The operating system is usually stored in the computer's external memory - on disk. When you turn on the computer, it is read from disk memory and placed in RAM. This process is called loading the operating system.

The operating system can be called a software extension of the computer's control device. It hides complex unnecessary details of interaction with the equipment from the user, forming a layer between them. As a result of this, people are freed from the very labor-intensive work of organizing interaction with computer equipment.

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, it is intended for effective use computing system resources and organizing reliable computing.

Main functions of operating systems:

Standardized access to peripheral devices (input/output devices).

RAM management (distribution between processes, virtual memory).

Controlling access to data on non-volatile media (such as HDD, CD, etc.) organized in one or another file system.

User interface.

Network operations, protocol stack support.

Parallel or pseudo-parallel execution of tasks (multitasking).

Interaction between processes: data exchange, mutual synchronization.

Protecting the system itself, as well as user data and programs, from actions of users (malicious or unknowing) or applications.

Differentiation of access rights and multi-user mode of operation (authentication, authorization).

IN various models Computers use operating systems with different architectures and capabilities. They require various resources. They provide varying degrees of service for programming and working with ready-made programs. Depending on the number of simultaneously processed tasks and the number of users that the OS can serve, there are four main classes of operating systems:


Single-user, single-tasking, which supports one keyboard and can only work on one (at the moment) task;

Single-user, single-task with background printing, which allow, in addition to the main task, to launch one additional task, usually focused on printing information. This speeds up work when printing large volumes of information;

Single-user multitasking, which provides one user with parallel processing of several tasks. For example, you can connect several printers to one computer, each of which will work for its “own” task;

Multi-user multitasking, allowing multiple tasks to be run by multiple users on one computer. These operating systems are very complex and require significant machine resources.

The most common operating systems are:

Mac OS is the operating system of Apple Corporation.

OS/2 is an operating system from IBM.

Windows is the operating system of Microsoft Corporation.

Linux is the general name for Unix-like operating systems based on the kernel of the same name and libraries and system programs compiled for it, developed within the GNU project.

1. Organizing (providing) a convenient interface between applications and users, on the one hand, and computer hardware, on the other. Instead of real computer hardware, the OS presents the user with an expanded virtual machine that is more convenient to work with and easier to program. Here is the list basic services provided by typical operating systems.

  1. Software development: The OS presents to the programmer various instruments application development: editors, debuggers, etc. He does not need to know how various electronic and electromechanical components and devices of a computer function. Often the user does not even know the processor's instruction set, since he can make do with the powerful high-level functions that the OS provides.
  2. Program Execution. To run a program, you need to perform a number of actions: load the program and data into main memory, initialize I/O devices and files, and prepare other resources. The OS does all this grunt work for the user.
  3. Accessing I/O Devices. Each device uses its own set of commands to control it. The OS provides the user with a uniform interface that hides all these details and allows the programmer to access I/O devices using simple read and write commands. If a programmer worked directly with computer hardware, then to organize, for example, reading a block of data from a disk, he would have to use more than a dozen commands specifying many parameters. After the exchange is completed, the programmer would have to provide an even more complex analysis of the result of the operation performed.
  4. Controlled file access. When working with files, control by the OS requires not only a deep consideration of the nature of the I/O device, but also knowledge of the data structures written in the files. Multi-user operating systems also provide a protection mechanism when accessing files.
  5. System access. The OS controls access to the shared or public computing system as a whole, as well as to individual system resources. It protects resources and data from unauthorized use and resolves conflict situations.
  6. Error detection and handling. During the operation of a computer system, various failures can occur due to internal and external errors in hardware, various kinds software errors(overflow, attempt to access a memory cell to which access is prohibited, etc.). In each case, the OS takes actions to minimize the impact of the error on the operation of the application (from a simple error message to a program crash).
  7. Resource Usage Accounting. A good OS has tools for accounting for the use of various resources and displaying performance parameters of the computer system. This information is important for tuning (optimizing) the computing system to improve its performance.

As a result, a real machine, capable of performing only a small set of elementary actions (machine commands), is transformed by the operating system into a virtual machine that performs a wide range of much more powerful functions. Virtual machine is also controlled by commands, but by commands of a higher level, for example: delete a file with a certain name, launch an application program, increase the priority of a task, print the text of a file, etc. Thus, the purpose of the OS is to provide the user (programmer) with some advanced virtual machine, which is easier to program and work with than directly with the hardware that makes up real computer, system or network.

2. Organization of efficient use of computer resources. The OS not only provides users and programmers with a convenient interface to computer hardware, but is also a kind of computer resource manager. The main resources of modern computing systems include processors, main memory, timers, data sets, disks, magnetic tape drives (ML), external memory drives (CD/DVD/Blu-Ray/USB), printers, network devices etc. These resources are distributed by the operating system between executing programs. Unlike the program, which is static object, an executing program is a dynamic object, it is called a process and is a basic concept of modern operating systems.

Resource management computing system in order to use them most effectively is the second purpose of the operating system. Performance criteria, according to which the OS organizes resource management computer may be different. For example, in some systems such a criterion as throughput computing systems, in others - its reaction time. Often, operating systems must satisfy several, conflicting criteria, which causes serious difficulties for developers.

Resource management includes the solution of a number of general tasks that do not depend on the type of resource:

  1. resource planning– determination of which process, when and in what capacity (if the resource can be allocated in parts) this resource should be allocated;
  2. satisfying resource requests– resource allocation to processes;
  3. status tracking and resource usage accounting– maintaining operational information about resource occupancy and its distributed share;
  4. conflict resolution between processes, claiming the same resource.

To solve these common resource management problems, different operating systems use different algorithms, the features of which ultimately determine the appearance of the operating system as a whole, including performance characteristics, scope, and even the user interface. Thus, resource management constitute an important purpose of the OS. Unlike the functions of an extended virtual machine, most resource management functions are performed automatically by the operating system and are not available to the application programmer.

3. Facilitation of the processes of operating hardware and software of the computer system. A number of operating systems include sets of utility programs that provide backup, data archiving, checking, cleaning and defragmentation disk devices and etc.

In addition, modern operating systems have a fairly large set of tools and methods for diagnosing and restoring system functionality. These include:

  • diagnostic programs to identify errors in the OS configuration;
  • means of restoring the last working configuration;
  • means of restoring damaged and missing system files and etc.

One more purpose of the OS should be noted.

4. Opportunity for development. Modern operating systems are organized in such a way that they allow efficient development, testing and implementation of new system functions without interrupting the process normal functioning computing system. Most operating systems are constantly evolving (visually Windows example). This happens due to the following reasons.

  1. Updating and emergence of new types of hardware. For example, early versions UNIX and OS/2 did not use memory paging mechanisms (we'll look at what that is later) because they ran on machines that did not have the appropriate hardware.
  2. New services. To satisfy users or the needs of system administrators, the OS must constantly provide new features. For example, you may need to add new tools for monitoring or assessing performance, new data input/output tools (speech input). Another example is support for new applications that use windows on the display screen.
  3. Corrections. Every OS has bugs. From time to time they are discovered and corrected. Hence the constant appearance of new versions and editions of the OS. The need for regular changes imposes certain requirements on the organization of operating systems. It is obvious that these systems (as, indeed, other complex program systems) must have a modular structure with clearly defined intermodular connections (interfaces). Good and complete documentation of the system plays an important role.

Let's move on to consider the composition of the components and functions of the OS. Modern operating systems contain hundreds and thousands of modules (for example, W2000 contains 29 million lines source code in C language). OS functions are usually grouped either according to the types of local resources that the OS manages or according to specific tasks that apply to all resources. Sets of modules that perform such groups of functions form operating system subsystems.

The most important resource management subsystems are the process, memory, file, and external device management subsystems, and the subsystems common to all resources are the user interface, data security, and administration subsystems.

Process management. The process control subsystem directly affects the functioning of the computing system. For each program that runs, the OS organizes one or more processes. Each such process is represented in the OS by an information structure (table, descriptor, processor context) containing data about the process’s resource needs, as well as the resources actually allocated to it (RAM area, amount of CPU time, files, I/O devices, etc. ). Moreover, in this information structure Data is stored that characterizes the history of the process in the system: current state (active or blocked), priority, state of registers, program counter, etc.

In modern multi-program OSes, several processes can exist simultaneously, generated at the initiative of users and their applications, as well as initiated by the OS to perform their functions (system processes). Since processes can simultaneously claim the same resources, the process management subsystem plans the order of execution of processes and ensures that they necessary resources, ensures interaction and synchronization of processes.

Memory management. The memory management subsystem performs the allocation physical memory between all processes existing in the system, loading and deleting program codes and process data into their allocated memory areas, setting address-sensitive parts of process codes to the physical addresses of the allocated area, as well as protecting memory areas of each process. The memory management strategy consists of sampling strategies, placement and replacement of a block of program or data in main memory. Accordingly, various algorithms are used to determine when to load the next block into memory (on demand or proactively), in which memory location to place it, and which program or data block to remove from main memory to make room for new blocks.

One of the most popular ways to manage memory in modern operating systems is virtual memory. Implementation of the mechanism virtual memory allows the programmer to consider that he has a homogeneous RAM, the scope of which is limited only by the addressing capabilities provided by the programming system.

An important function of memory management is memory protection. Memory protection violations are associated with processes accessing memory areas allocated to other processes of application programs or programs of the OS itself. Memory protection measures must prevent such access attempts by crash offending program.

File management. File management functions are concentrated in the OS file system. operating system virtualizes a separate set of data stored on an external drive as a file - a simple unstructured sequence of bytes with a symbolic name. For ease of working with data, files are grouped into directories, which, in turn, form groups - directories of a higher level. File system converts symbolic names of files that the user or programmer works with into physical addresses of data on disks, organizes sharing to files, protects them from unauthorized access.

Managing external devices. External device control functions are assigned to the external device control subsystem, also called the input/output subsystem. It is the interface between the computer core and all devices connected to it. The range of these devices is very extensive (printers, scanners, monitors, modems, manipulators, network adapters, ADCs of various kinds, etc.), hundreds of models of these devices differ in the set and sequence of commands used to exchange information with the processor and other parts.

The program that controls specific model external device and taking into account all its features is called a driver. Availability large quantity suitable drivers largely determine the success of the OS in the market. Drivers are created by both OS developers and companies that produce external devices. The OS must support a well-defined interface between drivers and the rest of the OS. Then developers of I/O device manufacturing companies can supply drivers for a specific operating system along with their devices.

Data protection and administration. The security of computer system data is ensured by OS fault tolerance measures aimed at protecting against hardware failures and failures and software errors, as well as by means of protection against unauthorized access. For each user of the system, a logical login procedure is required, during which the OS makes sure that a user authorized by the administrative service is entering the system. The computer system administrator determines and limits the ability of users to perform certain actions, i.e. determines their rights to access and use system resources.

An important means of protection is the OS audit function, which consists of recording all events on which the security of the system depends. Support for fault tolerance of the computing system is implemented on the basis of redundancy ( disk RAID arrays, backup printers and other devices, sometimes redundancy of central processors, in early OS - dual and duplex systems, systems with a majority authority, etc.). In general, provision system fault tolerance- one of the most important responsibilities of a system administrator, who uses a number of special tools and tools for this [