Describe and list operating systems. Characteristics of the operating system

There are several types of operating systems: DOS, Windows, Unix, Macintosh OS, Linux. Other modern OS, such as Linux, Unix, OS / 2, have their advantages and disadvantages. Linux provides the most advanced protection than Windows, and has a more thought out interface; UNIX is used where high reliability of systems is required. A large disadvantage of OS / 2 and UNIX is a pretty poor selection of software, and here Windows wins the remaining operating systems.

The most common is the Windows operating system. There are several versions of Windows: Windows-3.1, Windows-95, Windows-98, Windows-2000, Windows NT. All of them are close to the content. This will consider such an OS as DOS and Windows-95.

MS-DOS is one of the first operating systems and one of the most famous. The peak of the popularity of this operating system falls in the 90s, now this operating system is rarely used. The world's greatest popularity is currently using Microsoft operating systems. Their share is about 90% among all operating systems. The most stable systems of this firm are based on NT technology.

DOS operating system

The DOS operating system consists of the following parts:

1) Basic I / O system (VIOS), which is in permanent memory (constant memory, ROM) computer. This part of the operating system is "built-in" to the computer. Its purpose is to fulfill the most simple and universal services of the operating system related to the implementation of I / O. The basic I / O system also contains a test of computer functioning that checks the memory and computer devices when its power supply is turned on. In addition, the basic I / O system contains a program for calling the operating system loader.

2) The operating system bootloader is a very short program located in the first sector of each floppy disk with the DOS operating system. The function of this program consists in reading another two operating system modules, which complete the DOS boot process.

3) DOS command processor processes commands entered by the user. The command processor is in the disk file! Command.com on the disk from which the operating system is loaded. Some user commands, such as Tour, Dir or Cry), the command processor performs itself. Such teams are called internal. To perform the other (external) user commands, the command processor is looking for a program on the disks with the corresponding name and if it finds it, it loads into memory and transfers control. Upon completion of the program, the command processor deletes a program from the memory and displays a message about the execution of commands (DOS invitation).

External DOS commands are programs supplied with the operating system as separate files. These programs perform attendance, such as diskette formatting, disc check, etc.

Device drivers are special programs that complement the DOS I / O system and provide new or non-standard use of the available devices. For example, with the help of drivers it is possible to work with the "electronic disk" i.e. Part of the memory of the computer with which you can work the same way as with a disc. Drivers are loaded into the computer's memory when loading the operating system, their names are specified in a special config.sys file. Such a scheme makes it easier to add new devices to do this without affecting DOS system files.

Window-95. turned from a graphic superstructure for DOS into a full-fledged operating system. At the very least, it was stated by its developers. In fact, everything was more difficult: a kind of dos was still used as the basis for Windows-95. Slightly upgraded, of course, and not stated as a separate product. However, most consumers satisfied this option. After all, they remained the opportunity to work in the usual DOS mode, without loading the graphic shell of Windows, and, therefore, do not part with the familiar DOS programs.

Also, the window-95 operating system has become 32-bit. All previous versions of DOS and Windows were 16-bit and, it became possible to fully use the possibilities of even the 386 family processors and certainly new Pentium processors. Of course, some inconveniences were wounded in this dignity. Especially under Windows users had to replace all their Windows programs on new 32-bit versions. However, in practice, the transition turned out to be relatively easy. Already during the year, new versions of all popular software products were issued. But the old 16-bit versions could work with a new OS without any problems.

Year after year, the evolution of the structure and capabilities of operating systems. Recently, some of the existing operating systems and new versions of existing operating systems have entered some structural elements that made large changes in the nature of these systems. Modern operating systems meet the requirements of constantly developing hardware and software. They are able to manage the work of multiprocessor systems operating faster than ordinary machines, high-speed network devices and a variety of storage devices, the number of which is constantly increasing. From applications that have an impact on the operating system device, you should mark multimedia applications, Internet access tools, as well as a client / server model.
The steady increase in the requirements for operating systems leads not only to improving their architecture, but also to the emergence of new methods of their organization. In experimental and commercial operating systems, a wide variety of approaches and structural elements were tested, most of which can be combined into the following categories.

  • Microicer architecture.
  • Multithreading.
  • Symmetric multiprocessing.
  • Distributed operating systems.
  • Object-oriented design.

A distinctive feature of most operating systems today is a large monolithic core. The kernel of the operating system provides most of its capabilities, including planning, work with the file system, network functions, operation of drivers of various devices, memory management and many others. Typically, the monolithic kernel is implemented as a single process, all the elements of which use the same address space. Only the most important functions are allocated in the microiderial architecture, which include work with targeted spaces, ensuring interaction between processes (InterProcess Communication - IPC) and basic planning. The operation of other operating system services provide processes that are sometimes called servers. These processes are started in user mode and microkerbo works with them as well as with other applications.

This approach allows us to divide the task of developing an operating system to develop the kernel and server development. Servers can be configured for specific applications or environments.

The selection of the microker system in the structure simplifies the implementation of the system, ensures its flexibility, and also fits well into the distributed medium. In fact, microkerboys interacts with a local and remote server along the same scheme that simplifies the construction of distributed systems.

Multipleness (MULTITHREADING) is a technology in which the process running the application is divided into several simultaneously performed flows. Below are the main differences between the stream and the process.

Flow. The dispatching unit of work, including the processor context (which includes the contents of the software counter and the stack vertex), as well as its own stack area (to organize the call of subroutines and storing local data). Flow commands are performed sequentially; The stream can be interrupted when switching the processor to the processing of another stream.

Process. A set of one or more streams, as well as related system resources related streams (such as a memory area, which includes code and data, open files, various devices). This concept is very close to the concept of the executing program. By breaking the application into several streams, the programmer receives all the advantages of the application modularity and the ability to control the application-related applications.
Multipleness turns out to be very useful for applications that perform several independent tasks that do not require sequential execution. As an example of such an application, you can bring the database server that simultaneously receives and processes several customer requests. If several streams are processed within the same process, then when switching between different threads, non-production consumption of processor resources is less than when switching between different processes. In addition, the streams are useful when structuring processes described in subsequent chapters, which are part of the operating system core.
Until recently, all personal computers designed for one user and workstations contained one general-purpose virtual microprocessor. As a result of a constant increase in the performance requirements and lowering the cost of microprocessors, manufacturers moved to the release of computers with multiple processors.

To enhance efficiency and reliability, symmetric multiprocessing technology is used (Symmetric Multiprocessing - SMP).

This term refers to the computer hardware architecture, as well as to the image of the operating system, corresponding to this architectural feature. Symmetrical multiprocessing can be defined as an autonomous computer system with the following characteristics.

  1. There are several processors in the system.
  2. These processors, interconnected by a communications bus or some other scheme, share the same basic memory and the same I / O devices.
  3. All processors can perform the same functions (hence the name symmetric processing).

The operating system operating in a system with symmetric multiprocessing distributes processes or streams between all processors. In multiprocessor systems there are several potential advantages compared to single-processor, including the following.

Performance. If the task that the computer must be executed can be organized so that some parts of this task will be performed in parallel, this will lead to an increase in productivity compared to a single-processor system with the processor of the same type. The above position is illustrated in fig. 2.12. In multitasking mode, only one process can be performed in the same time, while the remaining processes are forced to expect their turn. In a multiprocessor system, several processes can be performed simultaneously, each of them will work on a separate processor.

Reliability. With a symmetric multiprocessor processing, one of the processors fails to stop the machine, because all processors can perform the same functions. After such a failure, the system will continue its work, although its performance will decrease somewhat.

Building. By adding additional processors to the system, the user can increase its performance.

Scalability. Manufacturers can offer their products in various, differing costs and performance, configurations designed to work with different number of processors.
It is important to note that the advantages listed above are rather potential than guaranteed. In order to properly implement the potential enclosed in multiprocessor computing systems, the operating system should provide an adequate set of tools and capabilities.

Blocked
- Performed
Fig. 2.12. Multitasking and multiprocessing

Often you can meet a joint discussion of multithreading and multiprocessing, but these two concepts are independent. Multipleness is a useful concept for structuring application and kernel processes even by car with one processor. On the other hand, a multiprocessor system may have advantages compared to single-processor, even if processes are not divided into several threads, because in such a system, several processes can be started at the same time. However, both of these possibilities agree well with each other, and their sharing can give a noticeable effect.

The tempting feature of multiprocessor systems is that the presence of multiple processors is transparent to the user - for the distribution of flows between processors and the synchronization of different processes is responsible for the operating system. This book discusses the planning and synchronization mechanisms that are used so that all processes and processors are visible to the user in the form of a single system. Another higher level task is a representation in the form of a single cluster system from several separate computers. In this case, we are dealing with a set of computers, each of which has its own main and secondary memory and its input-output modules. The distributed operating system creates the visibility of a single space of primary and secondary memory, as well as a single file system. Although the popularity of clusters steadily increases and more cluster products appear on the market, modern distributed operating systems are still lagging behind in development from single and multiprocessor systems. With such systems you will get acquainted in the sixth of the book.

One of the latest innovations in the operating system device was the use of object-oriented technologies. Object-oriented design helps to bring order in the process of adding to the main small kernel of additional modules. At the operating system level, an object-oriented structure allows programmers to customize the operating system without disturbing its integrity. In addition, this approach facilitates the development of distributed tools and full-fledged distributed operating systems.

Operating system (OS) is a program of programs that ensures control of computer resources and processes that use these resources when calculating. Process - This is a sequence of actions prescribed by the program. Resource - This is any logical or hardware component of the computer. The main resources are the processor time and RAM. Resources can belong to one or more external computers to which the operating system refers using the computing network.

Resource Management It consists of two functions: simplify access to the resource and the distribution of resources between competing processes. To solve the first task, operating systems support custom and Software interfaces . To solve, the second operating systems use various virtual memory and processor control algorithms.

Operating systems are characterized by basic signs:

· The number of users simultaneously served by the system (single-user and multiplayer);

· The number of simultaneously performed processes (single-handed and multitasking);

· The type of computing system used (single-processor, multiprocessor, network, distributed).

Example.The Windows98 operating system is multi-tasking, Linux - multiplayer, MS-DOS single and, therefore, single-user. Windows NT and Linux operating systems can support multiprocessor computers. The Novell NetWare operating system is network, built-in networks also have Windows NT and Linux.

Custom and software interfaces.To simplify access to computer resources, operating systems support user and software interfaces. The user interface is a set of commands and services that simplify the user with the computer. The program interface is a set of procedures that simplify the programmer computer control.


Fig. 1. Operating system interfaces

Example.Windows provides the user with a graphical interface that represents (from the user's point of view) a set of rules for a visual control computer. In addition to the main graphical interface, the user also provides a command interface, that is, a set of commands of a particular format. To do this, in the system menu there is an item "Run". A set of system functions in Windows is called API (Application Programming Interface). In this set there are more than a thousand procedures for solving different system tasks. The Linux operating system also has two features for computer management, but, as a rule, preference is given to the commands.

Processor time and organization of memory.To organize a multi-tasking OS mode, it must in some way distribute the time of operation of the processor between simultaneously working programs. Typically, the so-called displacing multitasking mode is used. When displacing mode, each program continuously operates for a strictly defined period of time (time quanta), after which the processor switches to another program. Since the quantum of time is very small, then with sufficient processor performance, the illusion of the simultaneous work of all programs is created.

One of the main tasks of the operating system is to manage memory. When the main memory is missing, all data that is not currently used is written to a special paging file. The memory presented by the paging file is called external page memory. The totality of the main and external page is called virtual memory. However, for the programmer, the virtual memory looks like a single whole, that is, it is considered as an unordered set of bytes. In this case, it is said that a linear memory addressing is used.

Example.Windows and Linux operating systems use linear virtual memory addressing. The MS-DOS operating system used a non-linear addressing of the main memory. The main memory had a complex structure that had to take into account when programming. MS-DOS swap files are not supported.

Structure of the operating system.Modern OS, as a rule, have a multi-level structure. Directly with equipment works nucleus operating system. The kernel is a program or a set of connected programs that use computer hardware features. Thus, the kernel is a machine-dependent part of the operating system. The kernel defines the program interface. At the second level, there are standard operating system programs and a shell that work with the kernel and provide a user interface. Second-level programs are trying to make machine-independent. Ideally, the core replacement is equivalent to replacing the version of the operating system.


Fig. 2. Linux operating system levels

File system.Any data is stored in the external memory of the computer as files. Files need to be managed: Create, delete, copy, change, etc. Such to the user in the form of user and software interfaces provides OS. The way of organizing files and manage them is called the file system. The file system determines, for example, which characters can be used for the file name, what is the maximum file size, which is the name of the root directory, etc. The method of organizing files affects the speed of access to the desired file, to the security of file storage and others.

The same OS can work simultaneously with several file systems. As a rule, the function of the file system is implemented by means of the operating system kernel.

Example.For PEVM uses several types of file systems:

FAT16 - used in Windows95, OS \\ 2, MS-DOS;

FAT32 and VFAT - used in Windows95;

NTFS - used in Windows NT;

HPFS - used in OS \\ 2;

Linux Native, Linux Swap - Used in Linux OS.

FAT file system is most simply arranged. The name of the root catalog always has the form: A: \\, Q: \\, C: \\, etc. The file name consists of three parts: path, actually name, expansion. The path is the name of the directory in which the file is located. The extension indicates the type of file. For example, the full file name C: \\ Windows \\ System \\ Gdi.exe, path - C: \\ Windows \\ System \\, Expansion - EXE, Actually Name - GDI. According to the FAT rules, the file name itself may contain from 1 to 8 characters, and the name extension separated on behalf of the point is up to 3. When named files, capital and lowercase letters do not differ. The full file name includes the name of the logic device on which the file and the catalog name is located in which the file is located. The system stores information about the size of the file and the date of its creation.

VFAT data organization reminds FAT. However, it allows you to use long file names: Names up to 255 characters, full names up to 260. The system also allows you to store the last file access to the file, which creates additional opportunities to combat viruses.

The file system can be implemented in the form of a driver with which all programs read through the operating system are communicating or recorded information to external devices. The file system may include information storage facilities. For example, the NTFS file system has automatic correction of errors and replace the defective sectors. The special mechanism monitors and records all actions performed above the magnetic discs, so in the event of a failure, the integrity of the information is restored automatically. In addition, the file system may have means to protect information from unauthorized access.

Model "Client-server".An important feature of modern operating systems is that the "client-server" model is based on the interaction of the application program. All contacts of the user program (client) to the OS are processed by a special program (server). It uses a mechanism similar to the call to the remote procedure, which makes it easy to move from the interaction between the processes within one computer to the distributed system.

Technology "Plug and Play".Under the technology "Plug and Play" (PNP-technology) means a way to interact between the OS and external devices. The operating system conducts a survey of all peripheral devices and should receive a certain response from each device, from which you can determine which device is connected and which driver is required for its normal operation. The purpose of using this technology is to simplify the connection of new external devices. The user must be relieved of difficult work on setting up an external device that requires high qualifications.

Service systems - software product, changing and complementing user and software interfaces OS. Service systems differ on operating environments, shells and utilities.

Operating environment - system, changing and complementing both user and software interface. The operating environment creates an illusion of work in a full-fledged OS for users and application programs. The appearance of the operating environment usually means that the operating system used does not fully meet the requirements of the practice.



Fig. 3. The role of the operating environment

Protection of information - This is a very big problem. As part of the operation of the OS, under the protection of information, it is implied mainly to ensure the integrity of information and protection against unauthorized access. Ensuring integrity is placed mainly on the file system, and protection against unauthorized access is on the kernel. The usual mechanism of such protection is the use of passwords and privilege levels. For each user, the boundaries of access to files and priority of its programs are determined. The highest priority has a system administrator.

Networks and distributed systems.An integral part of modern OS is funds that allow them to communicate through a computing network with applications running on other computers. For this, OS solves mostly two tasks: ensuring access to files on remote computers and the ability to start the program on a remote computer.

The first task is most naturally solved by using the so-called network file system, which organizes the user's work with remote files as if these files are located on the user's magnetic disk.

The second task is solved using the mechanism for calling a remote procedure, which is implemented by the core tools and also hides the difference from the user between local and remote programs.

The presence of means for managing resources of remote computers is the basis for creating distributed computing systems. Distributed computing system is a combination of several related computers working independently, but perform a common task. Such a system can be considered as multiprocessor.

Shell - System changing user interface. The shell creates an interface for the user, different from the operating system itself. The task of the shell is the simplification of some commonly used actions with the operating system. However, the shell does not replace the OS, and therefore the professional user must also study the command interface itself.

Utilities They have a highly specialized assignment and perform each function. The utilities are performed in the environment of the respective shells and provide users with additional services (mainly for maintenance of disks and files). Most often it is:

Disk maintenance (formatting, ensuring the safety of information, the possibility of its recovery in case of failure, etc.);

Service file and directories (search, view, etc.);

Creating and updating archives;

Providing information about computer resources, on the employment of disk space, on the distribution of RAM between programs;

Printing text and other files in various modes and formats;

Protection against computer viruses.



Fig. 4. The role of the shell

Tool systems - This is a software product that provides for the development of information and software. Tool systems include: programming systems, quick application development systems and database management systems (DBMS).

Programming system Designed to develop applications using a certain programming language. It includes:

· Compiler and / or interpreter;

· Relations editor;

· development environment;

· Library of standard subroutines;

· Documentation.

The compiler is a program that performs the transformation of the source program to the object module, that is, a file consisting of machine commands. The interpreter is a program that directly performs the instructions of the programming language.

The link editor is a program that collects multiple object files to one executable file.

Integrated development environment is a set of programs that includes a text editor, program management file management tools, program debugger, which automates the entire program development process.

Library of standard subroutines - a set of object modules organized into special files that are provided by the programming system manufacturer. In such libraries, there are usually subprograms of I / O files, standard mathematical functions, file management programs. Object modules from the standard library are usually automatically connected by the link editor to user object modules.



Fig. 5. Stages of program development

Quick Application Development Systems represent the development of conventional programming systems. In RAD systems, the programming process itself is largely automated. The programmer does not write the text of the program itself, and with some visual manipulations, it indicates the system which tasks must be performed by the program. After that, the RAD system itself generates the text of the program.

Database Management System- This is a universal software tool intended for organizing the storage and processing of logically interconnected data and provide quick access to them. One of the important features of the computer is the storage and processing of large amounts of information, and not only text and graphic documents (drawings, drawings, photos, geographical maps), but also the web pages of the global Internet, sound and video files, take place on modern computers. Creating databases ensures data integration and the ability to centrally manage them. The database collects information organized according to certain rules that provide for general principles for describing, storing and manipulating data, in order for various users and programs to work with them.

The DBMS enable for programmers and system analysts to quickly develop more advanced data processing software, and end users to directly manage data. The DBMS should provide the user to the user search, modify and save data, operational access, data integrity protection from hardware failures and program errors, delimitation of rights and protection against unauthorized access, supporting the collaboration of multiple users with data. There are universal database management systems used for various applications. When configuring universal DBMSs for specific applications, they must have appropriate means. The process of setting up the DBMS to a specific scope is called the generation of the system. The universal DBMS includes, for example, Microsoft Access, Microsoft Visual Foxpro, Borland Dbase, Borland Paradox, Oracle.

Telecommunication data processing technologies.An important feature of many OS is the ability to interact with each other, through the network, which allows computers to interact with each other, both within the framework of local computing networks (LAN) and in the global Internet.

Modern operating systems, both newly created and updated versions of existing, support a complete set of protocols for working in local and global computer networks. At the moment, the global computer industry develops very rapidly. The performance of systems increases, and therefore the possibilities of processing large volumes of data increase. MS-DOS class operating systems no longer cope with such a data stream and cannot entirely use the resources of modern computers. Therefore, it is not widely used anywhere else. Everyone is trying to go to the more advanced OS, what are UNIX, Windows, Linux or Mac OS.

If you give the definition of the user words, then operating system You can call the most important program that is loaded first when the computer is turned on and due to which communication is becoming possible between the computer and man. The task of the OS is to provide the convenience of working with a computer for a person user. OS manages all devices connected to a computer, providing access to other programs. In addition, the OS is a kind of buffer transmitter between computer glands and other programs, it takes on signals-commands that send other programs, and "translates" them to understand the language of the machine.

It turns out that each OS consists of at least three mandatory parts:

First - nucleus , command Interpreter , "Translator" from the software to "Iron", the language of machine codes.

Second - specialized programs for managing various devices that are part of the computer. Such programs are called drivers - i.e. "drivers" managers. This also includes the so-called "system libraries", used both the operating system itself, as well as in its composition program.

And finally, the third part is a comfortable shell with which the user communicates - interface . A kind of beautiful wrapper in which the boring and not interesting for the user is packed. The packaging comparison is successfully also because it is to pay attention to when choosing an operating system, - about the kernel, the main part of the OS, recalls already. Therefore, such an unstable and unreliable in terms of the OS kernel, like Windows 98 / Me, and used such stunning success - thanks to a beautiful wrapping interface.

Today, the graphical interface is a constant attribute of any operating system, whether Windows XP, Windows NT or Mac OS (operating system for Apple Macintosh computers). The operating systems of the first generations had no graphic, but a text interface, i.e. the commands of the computer were not given by clicking the mouse in the pictogram pattern, but by entering commands from the keyboard. For example, today to start the Microsoft Word text editing program, just click on the icon of this program on the Windows desktop. And earlier, when working in the previous generation OS - DOS, it was necessary to enter the type command

C: \\ Word \\ Word.exe MyBook.doc.

OS are classified by:

· The number of simultaneously working users: single-user (intended for servicing one client) and multiplayer (designed to work with a group of users at the same time behind different terminals). An example of the first can serve as Windows 95/98, and the second is Windows NT. For home use you will need a single-user OS, and for the local office network or enterprise you need a multiplayer OS;

· The number of processes simultaneously performed under the control of the system: discharged , multitasking. Overbalanced operating systems (DOS) can be performed at the same time no more than one task, and multitasking OS are capable of maintaining parallel execution of several programs that exist within one computing system, making a computer power between them. For example, the user can enter text to Word document, listening to music from a favorite CD, and the computer will copy the file from the Internet at the same time. In principle, the number of tasks that your OS can perform is not limited to anything, except for the power of the processor and the capacity of RAM;

· The number of supported processors: single-processor , multiprocessor (support the mode of distribution of resources of several processors to solve this or that task);

· The discharge of the operating system code:

Ø 16-bit (DOS, Windows 3.1),

Ø 32-bit (Windows 95 - Windows XP),

Ø 64-bit (Windows Vista);

The discharge of the OS cannot exceed the discharge of the processor;

· Type of interface: team (Text) and object-oriented
(as, rule, graphic);

· Type of user access to computers:

Ø with batch processing - from programs to be executed, a package of tasks entered into the computer and executed in order of priority with possible prioritization),

Ø with division - Provides simultaneous dialog (interactive) mode of access to the computer of several users on different terminals, which are elapsed by the machine resources, which is coordinated by the OS in accordance with the specified service discipline),

Ø real-time - Provide a specific guaranteed time response time to a user's request to manage them with any external in relation to computer events, processes or objects. OS RV is mainly used in the automation of areas such as the production and transportation of oil and gas, the management of technological processes in metallurgy and mechanical engineering, chemical proceedings, water supply, energy, robot management. Of these, the QNX RV RV is highlighted with its full set of instrumental tools to which the user is used to, working with the UNIX OS.

· Type of resource use: network, local . Network OSs are designed to manage computer resources combined into the network for sharing data, and provide powerful means of distinguishing data access to data as part of ensuring their integrity and safety, as well as many service capabilities using network resources. In most cases, network OS are installed on one or more sufficiently powerful servers computers allocated exclusively for network maintenance and shared resources. All other OS will be considered local and can be used on any personal computer connected to the network as a workstation or client.

Finally, still division - specialization , purpose of a particular OS. After all, no matter what the individual leaders of a separate software corporation speak, universal operating systems do not exist. One more suitable for networking, the other will choose programmers, third - home users. As practice shows, the knowledge of one OS in our time is by no means enough. In your professional work, you will probably have to face not only with Windows, but also with other OS - and it is necessary to prepare for this in advance.

Machine-dependent properties of the OS are:

· Processing of interrupts;

· Process planning;

· Input management-output;

· Real memory management;

· Virtual memory management.

Machine-independent properties of OS are:

· Working with files;

· Ways to plan user jobs;

· Organization of parallel operation of programs;

· Distribution of resources;

· Protection.

The main criteria approach when choosing an operating system.There is a large number of OS and the user must determine which OS is better than others (for one or another criteria). To choose one or another OS, you need to know:

· On which hardware platforms and at what speed operates OS;

· What peripheral hardware provision is supported;

· How fully satisfies the user needs, i.e. What are the functions of the system;

· What is the method of interaction between the OS with the user, i.e. How prominent is convenient, the user interface is understandable and used;

· Are informative tips, built-in directories, etc.;

· What is the reliability of the system, i.e. its resistance to user errors, equipment failures, etc.;

· What opportunities provides an OS to organize networks;

· Does OS provide compatibility with other OS;

· What instrumental tools have an OS to develop applied programs;

· Is the support of various national languages \u200b\u200bin OS;

· What famous application packages can be used when working with this system;

· How is it carried out in the protection of information and the system itself.

Today, a huge part of the world's population on an ongoing basis interacts with computers, someone obliges work, someone is looking for information on the network, and someone just spends time in games. Everyone has their own needs, and therefore the computer must comply with them. And if we are talking about "gland" (technical component of the computer), then everything is less clear: the newer, the better. But here "software" (software) part requires special attention.

Each computer runs under the control of a specific operating system, which is a great set, each of which is suitable for certain tasks, accessible equipment and so on. Therefore, an important factor is the choice of this operating system.

There is a sufficiently massive list of operating systems, but in this material it will be about three pillars that strongly influenced the industry and occupy the main share among all operating systems: Windows, MacOS and Linux.

Proprietary operating systems

To begin with, it is necessary to clarify that there are proprietary, those that apply to the manufacturer's license. These include Windows, the list of which is set out below, and MacOS. Despite the fact that both systems can be downloaded in the network (steal), it will be right to purchase a license from the distributor company and activate it.

The advantage of such systems is their development, a huge amount of high-quality software and competent technical support that will help in case of malfunctions.

"Free" operating systems

There is almost the entire Linux family to those, with the exception of some developments with accounting or other professional software. These OS can be downloaded absolutely free and install on any computer without conscience.

Such systems are created by independent developers in conjunction with the community, therefore, in most cases, the quality of programs leaves much to be desired, but such systems are much more protected and work more stable their proprietary competitors.

Windows

Absolutely everyone who has ever dealed with a computer, know Microsoft's product about this. In particular, this concerns the super-spanning release of Windows 7. The list of Microsoft operating systems has already a dozen generations. They are extremely popular around the world and occupy almost 90% of the market. What does not talk about unprecedented leadership.

  • Windows XP;
  • Windows Vista;
  • Windows 7;
  • Windows 8;
  • Windows 10;

The list is deliberately starting with Windows XP, as this is the oldest version remaining until today.

Chrome Os.

The underdeveloped product from Google, which is limited only by web applications and the browser of the same name. This system is not competed in comparison with Windows and Mac, but made with an opportunity for the future when web interfaces can replace the "real" software. By default, installed on all CHROMEBOOK computers.

Installing multiple systems and using virtual machines

Since each platform has its advantages and disadvantages, it is often necessary to work immediately with several. Computer developers know about it, so offer users the ability to install two or three systems at once.

It's just done. Only a system distribution (disk or flash drive with loaded on their installation material) and free hard disk space. All modern operating systems are offered during the installation to distribute the place and create a boot mechanism that will show a list of operating systems when booting a computer. Everything is performed in semi-automatic mode and under the power to any user.

Apple computers have a special utility - Bootcamp, which is designed for simple and seamless installation of Windows next to MacOS.

There is another way - installing a virtual system inside real. This uses programs: VMware and VirtualBox that can emulate a full-fledged computer and run operating systems.

Instead of imprisonment

The list of operating systems for the computer is not limited to the above. There are plenty of products from different companies, but they are all pretty specific and not deserve the attention of the ordinary user. The choice is to do between Windows, MacOS and Linux, as they can close most of the needs and are quite simple in mastering.

Year after year, the evolution of the structure and capabilities of operating systems. Recently, some of the existing operating systems and new versions of existing operating systems have entered some structural elements that made large changes in the nature of these systems. Modern operating systems meet the requirements of constantly developing hardware and software. They are able to manage the work of multiprocessor systems operating faster than ordinary machines, high-speed network devices and a variety of storage devices, the number of which is constantly increasing. From applications that have an impact on the operating system device, you should mark multimedia applications, Internet access tools, as well as a client / server model.

The steady increase in the requirements for operating systems leads not only to improving their architecture, but also to the emergence of new methods of their organization. In experimental and commercial operating systems, a wide variety of approaches and structural elements were tested, most of which can be combined into the following categories.

  • - microker architecture.
  • - multithreading.
  • - symmetric multiprocessing.
  • - Distributed operating systems.
  • - object-oriented design.

A distinctive feature of most operating systems today is a large monolithic core. The kernel of the operating system provides most of its capabilities, including planning, work with the file system, network functions, operation of drivers of various devices, memory management and many others. Typically, the monolithic kernel is implemented as a single process, all the elements of which use the same address space. Only the most important functions are allocated to the kernel microker architecture, including work with targeted spaces, interaction between processes (InterProcessCommunication - IPC) and basic planning. The operation of other operating system services provide processes that are sometimes called servers. These processes are started in user mode and microkerbo works with them as well as with other applications.

This approach allows us to divide the task of developing an operating system to develop the kernel and server development. Servers can be configured for specific applications or environments.

The selection of the microker system in the structure simplifies the implementation of the system, ensures its flexibility, and also fits well into the distributed medium.

Multipleness (MULTITHREADING) is a technology in which the process running the application is divided into several simultaneously performed flows. Below are the main differences between the stream and the process.

Flow:The dispatching unit of work, including the processor context (which includes the contents of the software counter and the stack vertex), as well as its own stack area (to organize the call of subroutines and storing local data). Flow commands are performed sequentially; The stream can be interrupted when switching the processor to the processing of another stream.

Process: A set of one or more streams, as well as related system resources related streams (such as a memory area, which includes code and data, open files, various devices). This concept is very close to the concept of the executing program. By breaking the application into several streams, the programmer receives all the advantages of the application modularity and the ability to control the application-related applications.

Multipleness turns out to be very useful for applications that perform several independent tasks that do not require sequential execution. As an example of such an application, you can bring the database server that simultaneously receives and processes several customer requests. If several streams are processed within the same process, then when switching between different threads, non-production consumption of processor resources is less than when switching between different processes. In addition, the streams are useful when structuring processes described in subsequent chapters, which are part of the operating system core.

Until recently, all personal computers designed for one user and workstations contained one general-purpose virtual microprocessor. As a result of a constant increase in the performance requirements and lowering the cost of microprocessors, manufacturers moved to the release of computers with multiple processors.

To improve efficiency and reliability, symmetric multiprocessing technology is used (SymmetricMultiProcessing - SMP).

This term refers to the computer hardware architecture, as well as to the image of the operating system, corresponding to this architectural feature. Symmetrical multiprocessing can be defined as an autonomous computer system with the following characteristics.

  • - There are several processors in the system.
  • - These processors, interconnected by a communication bus or some other scheme, share the same basic memory and the same input-output devices.
  • - All processors can perform the same functions (hence the name symmetric processing).

The operating system operating in a system with symmetric multiprocessing distributes processes or streams between all processors. In multiprocessor systems there are several potential advantages compared to single-processor, including the following.

Performance. If the task that the computer must be executed can be organized so that some parts of this task will be performed in parallel, this will lead to an increase in productivity compared to a single-processor system with the processor of the same type. The above position is illustrated in fig. 2.12. In multitasking mode, only one process can be performed in the same time, while the remaining processes are forced to expect their turn. In a multiprocessor system, several processes can be performed simultaneously, each of them will work on a separate processor.

Reliability. With a symmetric multiprocessor processing, one of the processors fails to stop the machine, because all processors can perform the same functions. After such a failure, the system will continue its work, although its performance will decrease somewhat.

Building. By adding additional processors to the system, the user can increase its performance.

Scalability. Manufacturers can offer their products in various, differing costs and performance, configurations designed to work with different number of processors.

It is important to note that the advantages listed above are rather potential than guaranteed. In order to properly implement the potential enclosed in multiprocessor computing systems, the operating system should provide an adequate set of tools and capabilities.

Figure 4 Multitasking and multiprocessing

Often you can meet a joint discussion of multithreading and multiprocessing, but these two concepts are independent. Multipleness is a useful concept for structuring application and kernel processes even by car with one processor. On the other hand, a multiprocessor system may have advantages compared to single-processor, even if processes are not divided into several threads, because in such a system, several processes can be started at the same time. However, both of these possibilities agree well with each other, and their sharing can give a noticeable effect.

The tempting feature of multiprocessor systems is that the presence of multiple processors is transparent to the user - for the distribution of flows between processors and the synchronization of different processes is responsible for the operating system. This book discusses the planning and synchronization mechanisms that are used so that all processes and processors are visible to the user in the form of a single system. Another higher level task is a representation in the form of a single cluster system from several separate computers. In this case, we are dealing with a set of computers, each of which has its own main and secondary memory and its input-output modules. The distributed operating system creates the visibility of a single space of primary and secondary memory, as well as a single file system. Although the popularity of clusters steadily increases and increasingly cluster products appear on the market, modern distributed operating systems are still lagging behind in the development of withdrawal and multiprocessor systems. With such systems you will get acquainted in the sixth of the book.

One of the latest innovations in the operating system device was the use of object-oriented technologies. Object-oriented design helps to bring order in the process of adding to the main small kernel of additional modules. At the operating system level, an object-oriented structure allows programmers to customize the operating system without disturbing its integrity. In addition, this approach facilitates the development of distributed tools and full-fledged distributed operating systems.