In the 90s, almost all operating systems that occupied a prominent place on the market became network-based. The OS received tools to work with all major local technologies (Ethernet, Fast Ethernet, Token Ring, FDDI) and global (ISDN, ATM) networks. Particular attention has been paid to enterprise network operating systems over the past decade. They are distinguished by their ability to work well and stably in large networks, which are typical for large enterprises, and their ability to work smoothly on various hardware platforms. The three leaders in the corporate OS class are Novell NetWare 4 and 5.0, Microsoft Windows NT 4.0 and Windows 2000, as well as UNIX systems from various hardware platform manufacturers.

For a corporate OS, it is very important to have centralized administration and management tools that allow, in a single database, to store accounts of tens of thousands of users, computers, communication devices and software modules available on the corporate network.

Requirements for modern operating systems

The main requirement for an operating system is that it perform the basic functions of effective resource management and provide a convenient interface for the user and application programs. A modern OS typically must support multi-program processing, virtual memory, a multi-window graphical user interface, and many other necessary functions and services. In addition to these functions of functional completeness, no less important operational requirements are imposed on the OS:

Extensibility. While computer hardware becomes obsolete within a few years, useful life OS can be measured in decades. An example is the UNIX OS. Therefore, operating systems always change evolutionarily over time. Changes to the OS usually involve the acquisition of new properties, for example, support for new types of external devices or new network technologies. If the OS code is written in such a way that additions and changes can be made without violating the integrity of the system, then such an OS is called extensible.

Portability. Ideally, OS code should be easily portable from one type of processor to another type of processor, and from one type of hardware platform (which differs not only in the processor type, but also in the way the entire computer hardware is organized) to another type of hardware platform. This property of the OS is also called multi-platform.

Compatibility. There are several “long-lived” popular operating systems (varieties of UNIX, MS-DOS, Windows Z.x, Windows NT, OS/2), for which a wide range of applications has been developed. Therefore, for a user switching from one OS to another for one reason or another, the opportunity to run a familiar application on the new OS is very attractive. If an OS has the means to run application programs written for other operating systems, then it is said to be compatible with these operating systems.

Reliability and fault tolerance. The system must be protected from both internal and external errors, failures and failures. Its actions should be predictable, and applications should not be able to harm the OS. The reliability and fault tolerance of an OS are primarily determined by the architectural solutions underlying it, as well as the quality of its implementation (code smoothness).

Performance. The OS should be as fast and responsive as the hardware platform allows. OS performance is influenced by the OS architecture, variety of functions, quality of code programming, and the ability to run the OS on a high-performance (multiprocessor) platform.

Safety. A modern OS must protect data and other computer system resources from unauthorized access. In order for the OS to have security properties, it must have authentication tools - determining the legality of users, authorization ~ granting legal users access rights to resources, auditing - recording all events suspicious for the security of the system. The security property is especially important for network operating systems.

conclusions

The history of the OS goes back about half a century. It was and is largely determined by the development of the element base and computing equipment

The first digital computers, which appeared in the early 40s, worked without operating systems, all tasks of organizing the computing process were solved manually by each programmer from the control panel

The prototype of modern operating systems were monitor systems of the mid-50s, which automated the operator’s actions to complete a package of tasks

In the period 1965-1975. Almost all the basic concepts inherent in modern operating systems were implemented: multiprogramming, multiprocessing, multi-terminal mode, virtual memory, file systems, access control and networking

Since the mid-70s, the widespread use of UNIX began, an OS unique for that time, which was relatively easily portable to various types of computers.

The beginning of the 80s is associated with the advent of personal computers. This required the development of a “user-friendly interface”. Personal computers have contributed to the rapid growth of local networks, and as a result, support for network functions has become a prerequisite for personal computer operating systems.

In the 90s, almost all operating systems that occupied a prominent place on the market became network-based. The OS received tools for working with all major technologies of local (Ethernet, Fast Ethernet, Token Ring, FDDI) and global (ISDN, ATM) networks.

Particular attention has been paid to enterprise network operating systems over the past decade. They are distinguished by their ability to work well and stably in large networks, which are typical for large enterprises, and the ability to work seamlessly on various hardware platforms.

Along with OSes that are aimed at a very specific type of hardware platform, there are operating systems that are specially designed so that they can be easily transferred from one type of computer to another type of computer, the so-called mobile OS. The most striking example of such an OS is the popular UNIX system. In these systems, hardware-dependent places are carefully localized, so that when the system is transferred to a new platform, only they are rewritten. A means to make it easier to port the rest of the OS is to write it in a machine-independent language, such as C, which was developed for programming operating systems.

Features of areas of use

Multitasking operating systems are divided into three types in accordance with the efficiency criteria used in their development:

  • systems batch processing(for example, OC EC),
  • time sharing systems (UNIX, VMS),
  • real-time systems (QNX, RT/11).

Batch Processing Systems were intended to solve problems mainly of a computational nature that do not require quick results. The main goal and criterion for the effectiveness of batch processing systems is maximum throughput, that is, the solution maximum number tasks per unit of time. To achieve this goal, batch processing systems use the following operating scheme: at the beginning of work, a batch of tasks is formed, each task contains a requirement for system resources; from this package of tasks a multiprogram mixture is formed, that is, many simultaneously performed tasks. For simultaneous execution, tasks are selected that have different resource requirements, so as to ensure a balanced load on all devices of the computer; for example, in a multiprogram mixture, the simultaneous presence of computational tasks and I/O-intensive tasks is desirable. Thus, the choice of a new task from a package of tasks depends on the internal situation in the system, that is, a “profitable” task is selected. Consequently, in such operating systems it is impossible to guarantee the completion of a particular task within a certain period of time. In batch processing systems, switching the processor from running one task to running another occurs only if the active task itself abandons the processor, for example, due to the need to perform an I/O operation. Therefore, a single task can occupy the processor for a long time, making it impossible to complete interactive tasks. Thus, the user’s interaction with the computer on which the batch processing system is installed boils down to the fact that he brings a task, gives it to the dispatcher-operator, and at the end of the day, after completing the entire batch of tasks, he receives the result. Obviously, this arrangement reduces the user's efficiency.

Time sharing systems are designed to correct the main drawback of batch processing systems - the isolation of the user-programmer from the process of performing his tasks. Each user of the time sharing system is provided with a terminal from which he can conduct a dialogue with his program. Since time-sharing systems allocate only a slice of CPU time to each task, no single task takes up the processor for very long, and response times are acceptable. If the quantum is chosen small enough, then all users simultaneously working on the same machine have the impression that each of them is solely using the machine. It is clear that time-sharing systems have lower throughput than batch processing systems, since each task launched by the user is accepted for execution, and not the one that is “beneficial” to the system, and, in addition, there is the overhead of computing power for more frequent switching processor from task to task. The criterion for the effectiveness of time sharing systems is not maximum throughput, but the convenience and efficiency of the user.

Year after year, the structure and capabilities of operating systems evolve. Recently, new operating systems and new versions of existing operating systems have included some structural elements that have brought major changes to the nature of these systems. Modern operating systems meet the requirements of constantly evolving hardware and software. They are capable of managing multiprocessor systems that run faster than conventional machines, high-speed networking devices, and a wide variety of storage devices, the number of which is constantly growing. Applications that have influenced the design of operating systems include multimedia applications, Internet access tools, and the client/server model.
The steady increase in requirements for operating systems leads not only to improvements in their architecture, but also to the emergence of new ways of organizing them. A wide variety of approaches and building blocks have been tried in experimental and commercial operating systems, most of which can be grouped into the following categories.

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

A distinctive feature of most operating systems today is a large, monolithic kernel. The operating system kernel provides most of its capabilities, including scheduling, working with file system, network functions, the operation of various device drivers, memory management and many others. Typically, a monolithic kernel is implemented as a single process, all of whose elements share the same address space. In a microkernel architecture, the kernel is assigned only a few of the most important functions, which include working with address spaces, interprocess communication (IPC), and basic scheduling. Other operating system services are provided by processes that are sometimes called servers. These processes start in user mode and the microkernel works with them in the same way as with other applications.

This approach allows you to divide the task of developing an operating system into kernel development and server development. Servers can be configured to meet the requirements of specific applications or environments.

The inclusion of a microkernel in the system structure simplifies the implementation of the system, ensures its flexibility, and also fits well into a distributed environment. In fact, the microkernel interacts with the local and remote server using the same scheme, which simplifies the construction of distributed systems.

Multithreading is a technology in which the process running an application is divided into several simultaneously executing threads. Below are the main differences between a thread and a process.

Flow. A dispatchable unit of work that includes a processor context (which includes the contents of the program counter and stack pointer), as well as its own stack area (for organizing subroutine calls and storing local data). Thread commands are executed sequentially; a thread can be interrupted when the processor switches to process another thread.

Process. A collection of one or more threads, and the system resources associated with those threads (such as an area of ​​memory that contains code and data, open files, various devices). This concept is very similar to the concept of a running program. By splitting an application into multiple threads, the programmer takes full advantage of the application's modularity and the ability to control application-related timing events.
Multithreading is very useful for applications that perform multiple independent tasks that do not require sequential execution. An example of such an application is a database server that simultaneously receives and processes multiple client requests. If multiple threads are being processed within the same process, then switching between different threads requires less CPU overhead than switching between different processes. Threads are also useful in structuring processes that are part of the operating system kernel, as described in later chapters.
Until recently, all single-user personal computers and workstations contained a single virtual microprocessor general purpose. As a result of ever-increasing performance requirements and decreasing costs of microprocessors, manufacturers have moved toward producing computers with multiple processors.

To increase efficiency and reliability, symmetric multiprocessing (SMP) technology is used.

This term refers to architecture hardware computer, as well as the way the operating system behaves according to this architectural feature. Symmetric multiprocessing can be defined as a self-contained computer system with the following characteristics.

  1. The system has several processors.
  2. These processors, interconnected by a communications bus or some other circuit, share the same main memory and the same input/output devices.
  3. All processors can perform the same functions (hence the name symmetrical processing).

An operating system running on a symmetric multiprocessing system distributes processes or threads across all processors. Multiprocessor systems have several potential advantages over single-processor systems, including the following.

Performance. If a job to be performed by a computer can be arranged so that parts of the job are executed in parallel, this will result in improved performance compared to a single-processor system with the same type of processor. The position formulated above is illustrated in Fig. 2.12. In multitasking mode, only one process can be running at a time, while other processes are forced to wait their turn. In a multiprocessor system, multiple processes can be running simultaneously, each running on a separate processor.

Reliability. In symmetric multiprocessing, the failure of one processor will not stop the machine because all processors can perform the same functions. After such a failure, the system will continue to operate, although its performance will decrease slightly.

Extension. By adding additional processors to the system, the user can improve its performance.

Scalability. Manufacturers can offer their products in various configurations that vary in price and performance, designed to work with different numbers of processors.
It is important to note that the benefits listed above are potential rather than guaranteed. To properly realize the potential contained in multiprocessor computing systems, the operating system must provide an adequate set of tools and capabilities.

Blocked
- Performed
Rice. 2.12. Multitasking and multiprocessing

You can often see multithreading and multiprocessing discussed together, but the two concepts are independent. Multithreading is a useful concept for structuring application and kernel processes, even on a single processor machine. On the other hand, a multiprocessor system can have advantages over a single-processor system, even if the processes are not threaded, because it is possible to run multiple processes at the same time. However, both of these possibilities are well consistent with each other, and their joint use can have a noticeable effect.

An attractive feature of multiprocessor systems is that the presence of multiple processors is transparent to the user - the operating system is responsible for distributing threads between processors and synchronizing different processes. This book examines the scheduling and synchronization mechanisms that are used to ensure that all processes and processors are visible to the user as unified system. Another task is more high level- representation as a single cluster system of several individual computers. In this case, we are dealing with a set of computers, each of which has its own main and secondary memory and its own input/output modules. A distributed operating system creates the appearance of a single primary and secondary memory space, as well as a single file system. Although the popularity of clusters is steadily increasing and more and more cluster products are appearing on the market, modern distributed operating systems still lag behind single- and multiprocessor systems in development. You will become acquainted with such systems in the sixth part of the book.

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

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

Operating systems (OS) are classified:

    on the features of resource management algorithms – local And network OS. Local OSes manage the resources of an individual computer. Network operating systems are involved in managing network resources;

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

    by the number of simultaneously working users - single-user And multi-user . The main difference between multi-user systems and single-user systems is the availability of means to protect each user’s information from unauthorized access by other users;

    if possible, parallelize calculations within one task - multithreading support . A multi-threaded OS divides processor time not between tasks, but between their individual branches - threads;

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

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

    by hardware orientation - operating systems personal computers , servers , mainframes , clusters ;

    depending on hardware platforms – dependent And mobile . In mobile operating systems, hardware-dependent places are localized in such a way that when the system is transferred to a new platform, only they are rewritten. A means to facilitate the transfer of an OS to another type of computer is to write it in a machine-independent language, for example, WITH;

    by specific areas of use - OS batch processing , time sharing , real time . Batch processing systems are designed to solve computational problems that do not require quick results. The main goal and criterion for the effectiveness of batch processing systems is maximum throughput, that is, solving the maximum number of tasks per unit of time. In time-sharing systems, each user is provided with a terminal from which he can conduct a dialogue with his program. Each task is allocated a slice of processor time, so that no single task takes up the processor for too long. If the time slice is chosen to be small, then all users simultaneously working on one computer have the impression that each of them is solely using the machine. Real-time systems are used to control various technical objects when there is a maximum permissible time during which a particular object control program must be executed. Failure to complete the program on time can lead to an emergency. Thus, the criterion for the effectiveness of real-time systems is their ability to withstand predetermined time intervals between launching a program and obtaining a result - a control action;

    on the structural organization and concepts underlying:

    according to the method of constructing the core of the system - monolithic core or microkernel approach . OSes using a monolithic kernel are compiled as one program, running in privileged mode and using fast transitions from one procedure to another, without requiring switching from privileged to user mode and vice versa. When building an OS based on a microkernel that operates in privileged mode and performs only a minimum of hardware management functions, higher-level functions are performed by specialized OS components - software servers, running in user mode. With this design, the OS works more slowly, since transitions between privileged mode and user mode are often performed, but the system is more flexible and its functions can be modified by adding or excluding user mode servers;

    based on object-oriented approach ;

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

    By distribution of operating system functions among computers on the network. A distributed OS implements mechanisms that provide the user with the ability to imagine and perceive the network as a single-processor computer. Signs of a distributed OS are the presence of a single help service for shared resources and a time service, the use of a remote procedure call mechanism to distribute software procedures across machines, multi-threaded processing, which allows you to parallelize calculations within one task and perform this task simultaneously on several computers on the network, as well as the presence of other distributed services.

The OS structure consists of the following modules:

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

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

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

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

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

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

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

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

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

    Enables operation with long-term memory devices such as magnetic disks, ribbons, optical discs etc

    Provides standard access to various input/output devices such as terminals, modems, printers.

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

More advanced operating systems also provide the following features:

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

    Distributing computer resources between tasks.

    Organizing the interaction of tasks with each other.

    Interaction user programs with non-standard external devices.

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

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

Today, Microsoft's Windows operating system in all its forms is undoubtedly considered the most common operating system on PCs: there are more than 150 million IBM PC-compatible computers in the world, and Windows is installed on 100 million of them. Obviously, familiarization with a PC must begin with familiarization with Windows, because without it, working on a PC is unthinkable for most users. Knowledge of the Windows system is a necessary brick in the wall of PC knowledge. Operating systems, developing along with computers, have come a long way from the simplest programs in machine code, several kilobytes long, to monsters written in high-level languages, the size of which amounts to tens of megabytes. This significant increase in the size of operating systems is mainly due to the desire of developers to “decorate” the operating system, expand its capabilities, add features that were initially unusual for operating systems, and also make the user interface intuitive. All these attempts yielded results, both positive and negative (complicating setup and software interface while simplifying the user experience).

The graphical user interface was initially unusual for non-game programs, however, being designed to facilitate user communication with the computer and the program, it took root well on the IBM PC and became an integral part of any self-respecting operating system.

The Microsoft Windows shell was not originally an operating system, and even now cannot be considered a full-fledged operating system, since in some shells it exists “on top” of an operating system like MS-DOS. It arose in the form of a standardizer GUI and took root solely because the user wanted to see the program with which he often has to work beautiful, practical, convenient and easy to learn and use.

operating system is a program that loads when you turn on your computer. It carries out a dialogue with the user, manages the computer, its resources (RAM, disk space, etc.), and launches other (application) programs for execution. The operating system provides the user with application programs convenient way communication (interface) with computer devices.

The main reason for the need for an operating system is that the basic operations for working with computer devices and managing computer resources are very low level, so the actions required by the user and application programs consist of several hundred or thousands of such elementary operations.

First Windows version was published in the late 80s and went completely unnoticed. A similar fate befell the next version - only version Windows 3.0 (1992) managed to make its way into the hearts of users and become “product of the year.” And two years later, versions 3.1 and 3.11 were born (the latter included such a significant element as full multimedia support and work in local network- that’s why it had a clarifying name Windows For Workgroups), which finally established the dominance of Windows on the Olympus of operating systems.

However, Windows 95 was not a completely 32-bit program. It contained large chunks of 16-bit assembly code (as well as some 32-bit) and continued to use the MS-DOS file system, with almost all of its limitations. The only significant change to the file system was the addition of long file names to the 8+3 character names allowed in MS-DOS.

Even in the release Windows 98 in June 1998, MS-DOS was still present (now called version 7.1) and consisted of 16-bit code. Although even more features had now been transferred from the MS-DOS part of the system to the Windows part, and support for large disk partitions had become standard, Windows 98 was not very different in its design from Windows 95. The main difference was the user interface, which was more integrated contains the Internet and the user's desktop. It was this integration that attracted the attention of the US Department of Justice, which then brought a lawsuit against Microsoft Corporation, accusing Microsoft Corporation of violating the law on monopolies. Microsoft vehemently denied any wrongdoing. In April 2000, the US Federal Court agreed with the government. In addition to the fact that the Windows 98 OS kernel contained a large piece of 16-bit assembly code, this system also had serious problems First, although this system was multitasking, the kernel itself was not reentrant. If a process was busy managing some data structure in the kernel and then its time slice ran out and another process started, the new process could obtain the data structure in an inconsistent manner. condition. To prevent this problem from occurring, most processes entering the kernel first acquired a giant system-wide mutex before doing anything. While this approach eliminated the potential threat of inconsistent data structures, it also eliminated much of the benefit of multitasking, since processes often had to wait until another process had left the kernel to enter the kernel.

Second, each process had a 4GB address space, with the first 2GB entirely owned by the process. However, the next 1GB was shared (writable) by all processes on the system. The bottom 1MB was shared among all processes so that they could all access MS-DOS interrupt vectors. This opportunity was taken full advantage of by the majority Windows applications 98. As a result, a bug in one program could corrupt key data structures used by unrelated processes, causing all of those processes to crash. To make matters worse, the last 1GB was shared (writable) between processes and the kernel and contained some critical data structures. Any program that wrote any garbage over these structures (intentionally or not) could crash the entire system. The obvious solution of not putting kernel data structures in user space was not applicable, since older programs written for MS-DOS would then not be able to run on Windows 98.

In 2000, Microsoft released a slightly modified version of Windows 98 called Windows Me(Windows Millennium Edition - Windows, edition of the millennium). Although this version fixed some bugs and added new features, underneath the outer shell it was still the same Windows 98. The new features included improved organization capabilities and sharing images, music, and movies, better supported home networking and multiplayer gaming, and included more Internet-related features such as support instant messages and broadband connections (cable modems and ADSL). One interesting new feature was the ability to restore the previous computer settings after setting any parameters incorrectly. If the user reconfigured the system (for example, changed the screen resolution from 640x480 to 1024x768), and after that the system stopped working, he could now return to the last working configuration.

Following NT 4.0 it was planned to release NT 5.O. However, in 1999, Microsoft changed its name to Windows 2000, mainly due to attempts to find a neutral name that looked like a logical continuation for both Windows 98 and NT users. Thus, Microsoft expected to have a single operating system built on reliable 32-bit technology, but using the popular Windows 98 user interface.

Because the Windows 2000 operating system is actually NT 5.0, it inherits many of the features of NT 4.0. It is a fully 32-bit (planned to move to 64-bit) multitasking system with individually protected processes. Each process has its own 32-bit (will be 64-bit) virtual address space. The operating system runs in kernel mode, while user processes run in user mode, which provides complete security (unlike Windows 98). Processes can have one or more threads that are visible and managed by the operating system. It meets DoD Level C2 security requirements for all files, directories and processes, and other objects that may be shared (at least if floppy disk removed and the network is turned off). Finally, it has full support for symmetric multiprocessor systems with 2 to 32 processors.

The fact that Windows 2000 is really NT 5.0 is evident in many ways. For example, the system directory is called \winnt , and the operating system binary file (in the directory \winnt\system32 ) called ntoskrnl.exe. If you click on this file right click mouse and look at its properties, we will see that its version number represents 5xxx.yyy.zzz , where 5 means NT 5, xxx- issue number, uuu - build (compilation) number, a zzz- additional number versions. In addition, many files in the directory \winnt
and its subdirectories contain the letters nt in their names, such as the MS-DOS virtual emulator ntz'dm.

The Windows 2000 operating system is not just an improved version of NT 4.0 with the Windows 98 interface. To begin with, it contains many other features that were previously only found in Windows 98. These include full support for plug-and-play devices, USB bus , IEEE 1394 (FireWire), IrDA (Infrared Data Association) and power management, among others. In addition, several new features were added that were not previously present in other Microsoft operating systems, including a directory service Active Directory, Kerberos security, smart card support, system monitoring tools, better laptop integration and desktop computers, system administration infrastructure and work objects. Another new file feature NTFS systems is a type of copy-on-write link that allows two users to share a single linked file. As soon as one of the users starts writing to this file, a copy of the file is automatically created.

Another significant improvement is internationalization. The NT 4.0 operating system was shipped in separate versions for different languages ​​because text strings were embedded in the program code.

The only thing Windows 2000 doesn't have is MS-DOS. It simply is not here in any form (just as it was not in the NT). There is an interface command line, but this is a new 32-bit program that includes the functionality of the old one MS-DOS systems, as well as some new features.

Despite numerous features that contribute to system portability in terms of programs, hardware, languages, etc., in one respect the Windows 2000 operating system is less portable than NT 4.0. It runs only on two platforms - Pentium and Intel IA-64. The NT operating system originally supported additional platforms, including PowerPC, MIPS, and Alpha, but over the years Microsoft stopped supporting these processors one by one for commercial reasons.

operating system Microsoft Windows XP(from the English eXPerience - experience), also known under the code name Microsoft Codename Whistler, is a new OS of the Windows family, created on the basis of NT technology. Initially, Microsoft Corporation's plans included the development of two independent next-generation operating systems. The first project received the working name Neptune, this OS was supposed to become the next Windows update Millennium Edition new system Windows 9X line. The second project, called Odyssey, involved creating an OS based on Windows platform NT, which was supposed to come to change Windows 2000. However, Microsoft management considered it inappropriate to disperse resources to promote two different operating systems, as a result of which both areas of development were combined into one project - Microsoft Whistler. Perhaps it is thanks to this Windows solution XP combines the advantages of operating systems of previous generations already familiar to users: convenience, ease of installation and operation of the Windows 98 and Windows ME family of operating systems, as well as the reliability and versatility of Windows 2000. Currently Windows time XP for desktop PCs and workstations is available in three versions: Home Edition for home personal computers, Professional Edition for office PCs and, finally, Microsoft Windows XP 64bit Edition - this is a version of Windows XP Professional for personal computers built on the basis of 64-bit Intel processor Itanium with a clock speed of more than 1 GHz.

To run Microsoft Windows XP you need Personal Computer, meeting the following minimum system requirements: processor - Pentium-compatible, clock frequency from 233 MHz and higher; volume random access memory- 64 MB; free disk space - 1.5 GB. However, for stable and fast work It is recommended to install this operating system on a computer with the following optimal characteristics: processor - Pentium-II-compatible (or higher), clock frequency of 500 MHz and higher; RAM capacity - 256 MB; free disk space - 2 GB. A device for reading compact discs (CD-ROM), a modem with a speed of at least 56 Kbps.

If you compare Windows XP with earlier ones Microsoft versions Windows, it is easy to spot many significant differences in the new operating system. Despite the fact that this OS was developed on the basis of the NT platform, which was already well known to Russian users and, at first glance, its characteristics are in many ways similar to Microsoft Windows 2000, in fact Windows XP belongs to a fundamentally different generation of operating systems of the Windows family. Now the Windows user is not tied to any standard interface, installed on the system by default. If you don't like the traditional look of windows, controls and the Taskbar that the new OS inherited from Windows 2000, then you can easily change them by downloading any of hundreds of specially designed “Themes” from the Internet. The traditional Main Menu, which provides access to programs installed on the computer, documents stored on disks and operating system settings, has also undergone a number of significant changes. Now, when you press the Start button, a dynamic menu appears containing icons for only the five programs that you use most often. Thanks to this, you can start working with the necessary applications much faster. Microsoft browser icons are also located here. Internet Explorer 6 and mail client Outlook Express 6, Log Off and Turn Off Computer buttons to complete current session work with Windows and turn off the computer.

IN Microsoft environment Windows user Often you have to work simultaneously with several documents or a set of different programs.

Windows XP includes a special mechanism - Fast User Switching, which can be used to quickly connect new users and user groups to the operating system without registration. It is also possible to switch between multiple work sessions without having to save data or reboot the system.

Since the operating system Windows Vista came out a little over a month ago, there is still no information on its architecture.

We can say for sure that this system is similar in structure to Windows XP in many solutions (for example, it is built like XP on the NT kernel and has NTFS support), but it contains a lot of new services, a well-thought-out Windows Aero interface and an improved search system and indexing.

Windows Vista is a new solution from the well-known Microsoft. This OS combines all the achievements in the field of security, design, communications and wide compatibility with different devices.

Windows 7 is an operating system in the Windows NT family, following Windows Vista. In the Windows NT line, the system has version number 6.1 (Windows 2000 - 5.0, Windows XP - 5.1, Windows Server 2003 - 5.2, Windows Vista and Windows Server 2008 - 6.0). The server version is Windows Server 2008 R2, the version for integrated systems is Windows Embedded Standard 2011 (Quebec), the mobile version is Windows Embedded Compact 2011 (Chelan, Windows CE 7.0)

The operating system went on sale on October 22, 2009, less than three years after the release of the previous operating system, Windows Vista. Partners and clients with a Volume Licensing license were granted access to RTM on July 24, 2009.

Windows 7 included some developments excluded from Windows Vista, as well as innovations in the interface and built-in programs. From Windows composition 7 games Inkball, Ultimate Extras were excluded; applications that have analogues in Windows Live(Windows Mail, etc.), Microsoft Agent technology, Windows Meeting Space; The ability to return to the classic menu and automatic docking of the browser and client have disappeared from the Start menu Email. Windows Calendar has also disappeared from Windows.

Task 2

Completing this task involves solving examples of converting numbers from one number system to another with the presentation of complete mathematical calculations (the accuracy of the representation of numbers is up to the fifth decimal place) and the representation of numbers in floating and fixed point form.

In the first example, you need to convert numbers from the decimal number system to binary, octal and hexadecimal.

In the second example, you need to convert numbers from binary to decimal, octal and hexadecimal.

In the third example, numbers given in floating point form must be represented in fixed point form.

Options for tasks are determined according to the table:

248,615 322,549

11001100,10101 11110001,11101

2.462E+03

7.355E-02

5.526E+04

1.254E-01

248.615 =8F.9D70FA (16) = 370. 47270 (8) =10111000.10011 (2)

248|16

240 15

8

0.615 * 16 =9.84

0.84*16 =13.44

0.44*16= 7.04

0.04*16 = 0.64

0.64*16 = 10.24

248|8

248 31|8

0 24 3

7

0.615*8 =4.92

0.92*8 = 7.36

0.36*8 = 2.88

0.28*8=7.04

0.04*8 = 0.32

248 |2

248 124|2

0 124 62 |2

0 62 31 |2

0 30 15|2

1 14 7|2

1 6 3 |2

1 2 1

0

0.615*2 = 1.23

0.23*2 = 0.46

0.46*2 = 0.92

0.92*2 = 1.84

0.84*2 = 1.68

322.549 =142.8C8B4 (16) =502.43105 (8) =
101000010.10001 (2)

322|8

320 40 |8

2 40 5

0

0.549*8= 4.392

0.392 * 8 = 3.136

0.136 * 8 = 1.088

0.088 * 8 = 0.704

0.704 * 8 = 5.632

322|16

320 20 |16

2 16 1

4

0.549*16 =8.784

0.784 * 16 =12.544

0.544*16 =8.704

0.704*16 =11.264

0.264*16 = 4.224

322 |2

322 161|2

0 160 80 |2

1 80 40 |2

0 40 20 |2

0 20 10 |2

0 10 5 |2

0 4 2 |2

1 2 1

0

0.549 *2 = 1.098

0.098*2 = 0.196

0.196*2 = 0.392

0.392*2 = 0.784

0.784 *2 = 1.568

11001100.10101 =204.65625 (10) = 314.52 (8) =CC.A8 (16)

11110001.11101= 241.90625 (10) = 361.72 (8) =F1.E8 (16)

2.462E+03 = 2462

7.355E-02 = 0.07355

5.526E+04 = -55260

1.254E-01 = 0.1254

Task 3

The purpose of this assignment is to test the student's ability to work with the file system. The task consists of two parts. In the first part, you need to write a template that combines the specified files into a group. In the second part of the task you need to record routes (access paths) to specified files, if the hierarchical folder tree of the disk looks like this:


Table of task options:

Record the route to the following files:

Write down a pattern that combines...

contract.doc from the root folder of drive D:

program.bas from folder Educational

all files with the extension .bmp;

all files whose names consist of no more than four characters;

D:\agreement.doc

D:\Mguk\Work\Study \program.bas

*.bmp

????.*

Task 4

To complete the task on this issue, it is necessary to develop in word processor Microsoft Word advertising sheet on a given topic. The document must contain:

    text;

    curly text;

    drawing;

    table;

    Topics for document development are presented in the table:



    Kandahar

    Sessions:

    On Friday

    On Saturday

    On Sunday

    14:15

    16:30

    18:45
    21:00

    14:25

    16:50

    18:55
    21:30

    23-55

    14:05

    16:20

    18:25
    20:50

    Afghanistan, 1995. There is a civil war in Afghanistan. The Taliban movement controls the country. A Russian cargo airliner flying to Kabul with weapons on board was seized at Kandahar airport on charges of arms smuggling. The airliner's crew - five Russian pilots - are captured. The Russian government is forced to refuse assistance to the crew. Having spent a year in the inhumane conditions of Afghan captivity, abandoned by their homeland to the mercy of fate, Russian pilots understand that they have to rely only on themselves and decide to make a daring escape...
    Attention! The film is only for viewers over 14 years old!

    Legion

    On Friday

    On Saturday

    On Sunday

    14:05

    16:20

    18:15
    21:10

    14:00

    16:00

    18:00
    21:00

    23-05

    14:15

    16:25

    18:25
    20:55

    When the Lord completely lost faith in humanity, He sent the angels of death to earth in order to forever wipe out this obscene race from the face of the Earth. And only Archangel Michael opposed this. Gathering under his wings a handful of people living in the middle of the desert in a godforsaken diner and waiting for the Savior to appear, he stood up for the defense of humanity.
    Attention! The film is only for viewers over 16 years old

    Task 5

    The solution to the problem should contain the following sections:

    Formulation of the problem.

    A list of identifiers, including the designation of each identifier, its physical meaning and data type.

    Graphic diagram of the algorithm describing the process of solving the problem (with detailed comments).

    The text of the program in a high-level language describing the developed algorithm (with comments).

    Calculation of the coefficient K of the breadth of product range using the formula:

    K = ,

    where n is the number of checks;

    Formulation of the problem.

    The program must calculate
    coefficient of product range breadth according to the formula:


    ,

    where n is the number of checks;

    M i is the number of varieties of goods provided for by the assortment minimum;

    G i is the number of varieties of goods from those provided for in the assortment list that are available for sale at the time of inspection.

    Description of Variables

    To solve the problem, the following variables are needed:

    n – number of checks – integer, the value must be strictly greater than 0, because division is carried out by n;

    i – current calculation step – integer;

    M – the number of varieties of goods provided for by the assortment minimum – an integer, the value must be strictly greater than 0, because division is carried out by M;

    G – the number of varieties of goods, from those provided for in the assortment list, available for sale at the time of inspection – an integer, the value must be greater than or equal to zero;

    S – sum of G/M values ​​– real number(real);

    K – coefficient of product range breadth, real number (real).