Lecture 2 Structure of a network operating system

Lecture 2

Topic: Structure and main components of network operating systems. Functions for managing network and local resources.

Managing the use of resources is one of the main tasks of the OS.

The OS must manage the use of computer resources in such a way as to ensure maximum efficiency of its functioning. The performance criterion could be, for example, throughput or reactivity (by reactivity we mean the rate of reaction) of the system. Resource management involves solving two general tasks that do not depend on the type of resource:

Planning the use of a resource, namely, determining which process, when, and in what volume should be allocated a given resource;

Tracking the state of the resource, that is, maintaining a set of operational information about the degree of occupancy of the resource.

Network OS (NOS) allows you to share resources not only locally, but also within the network of the connecting machine with its own means of internetworking. It necessarily contains software support for network interface devices, as well as tools for remote login to other computers on the network and means of accessing remote resources, but these additions do not significantly change the structure of the operating system itself. In fact, at the current level of development of computer technology, the presence of network interaction capabilities in the OS has moved from the category of desirable to the category of necessary for full-fledged user work. Unlike SOS, distributed OS (DOS) implements network sharing of resources, simulating a single virtual machine over the network. When working with POS, the user does not need to know whether his machine is connected to the network, whether this resource is local, and where on the planet his program is running. The main difference between SOS and ROS is that several SOS interact in the network (one per subscriber), while in ROS there is one operating system that hides the network.

A set of SOS characteristics.

Multiplayer : Allows 2 or more users to run programs within the same OS. Thus, UNIX OS is multi-user, but Windows NT is not. The latter does not allow several users to work simultaneously (run their applications). In NT, providing the ability to use processor power to several users simultaneously is transferred from the OS to programmers (for example, client-server technology is used)

1) Supporting multiprocessing: The latter can be symmetrical (processors are evenly loaded with codes different programs), asymmetric (one processor executes one process).

2) Multitasking: A multitasking OS manages resources shared by several competing programs running simultaneously. Multitasking is divided into several types, depending on the implemented algorithm for managing the division of processor time. The main types of multitasking are preemptive (the OS allocates a time slice to a process or thread, then interrupts their execution and allocates a time slice to the next process or thread) and cooperative (the process itself determines at what point in time to return control to the OS, for example, while waiting for input)

3) Multithreaded: Allows you to parallelize calculations within a single process. From a programming point of view, a thread is information about the state (context) of a process. A thread is created and used in such a way that several processes (threads) can be executed within the same code, but using different information about the environment (contexts). Typically, multi-threading is used when writing server programs that need to interact in a uniform way with an unknown number of users.

OSs are divided according to optimization criteria into systems:

1) Batch: the efficiency criterion is the maximum number of solved problems that enter the OS in sets (packets). The OS optimizes task execution, not user experience.

2) Real time: Respond to incoming data immediately. The efficiency criterion is the guaranteed response time of the system (process execution speed and division of processor time) to an information signal. Non-specialized UNIX and DOS operating systems are not real-time systems, because do not guarantee the same system response time to input data.

3) Time sharing: CPU time is evenly distributed among tasks, which makes the user experience more convenient. The optimality criterion is a fair distribution (according to needs) of processor time between different tasks with the same priority for using this resource.

Most SOS can be classified into the last two types.

Also, network operating systems are divided into SOS with built-in network functions and shells with network functions over local operating systems.

A set of criteria.

Let's consider a set of criteria on the basis of which it is decided how well a given OS can perform the functions of an SOS.

The main requirements for companies to modern SOS:

1) System architecture - management of what resources and what control algorithms it supports, whether it can be run on a multiprocessor architecture, what microprocessor architectures (Intel x86, Alpha, PowerPC) it supports

2) Scalability - the number of resources that the OS can manage (suddenly your distributed gigabyte database becomes terabyte or the number of simultaneously open TCP connections increases by an order of magnitude)

3) Performance – the speed of execution of the SOS of the required class of tasks, the number of simultaneous requests of user processes that the system is able to service

4) Reliability – support by SOS means for data backup, transactions, support or presence in the SOS of a reliable file system.

5) Security - what level of information protection does the SOS support, restrictions on access to what resources does it support, what system of access rights is supported.

6) Administration tools - what utilities and how they help administer SOS

7) Support for network environments - does the SOS support physical devices working with Ethernet, Token ring, optical fiber, etc.

8) Support for protocol stacks - on which and how many protocol stacks can the SOS function and software support for working with data within the World Wide Web

9) Network printing – how many printers per server, queues per printer are supported by SOS tools

10) Applications – what applications are included in the standard delivery of SOS, what minimum functionality does SOS provide (this can be mail servers and clients, development tools, print servers, Internet servers, etc.)

11) Compatibility - how compatible the SOS is with the existing software and hardware systems of the enterprise.

Based on the requirements described above, we can conclude that a well-designed SOS should:

Support the ability to work on a multiprocessor computer (with symmetric multiprocessing)

Be multitasking and maintain threads within a single process.

If necessary, be multi-user.

In general, for most modern commercial SOS, the question of which one is better to ask is pointless - since all of them can withstand competition, then each has some advantages. The decision to select a SOS is usually based on an assessment of a set of criteria, similar to the one given above, in relation to a specific situation.

SOS structure

Each computer with installed SOS is largely autonomous, therefore, a network operating system in the broad sense is understood as a set operating systems separate computers interacting to exchange messages and share resources according to uniform rules - protocols. In a narrow sense, a network OS is the operating system of a separate computer that provides it with the ability to work on a network.

In the network operating system of an individual machine, several parts can be distinguished (Figure 1):

1) Tools for managing local computer resources: distribution functions random access memory between processes, functions of planning and dispatching processes, management of processors in multiprocessor machines, management peripheral devices and other local OS resource management functions.

2) Means of providing own resources and services for general use - server part OS (server). These tools provide, for example, file and record locking, which is necessary for their sharing; maintaining name directories network resources; processing requests remote access to your own file system and database; request queue management remote users to your peripheral devices.

3) Tools for requesting access to remote resources and services and their use - the client part of the OS. This part recognizes and forwards requests to remote resources from applications and users to the network, where the request comes from the application in local form and is transmitted to the network in a form that meets the server's requirements. The client part also accepts responses from servers and converts them into a local format, so that the application is indistinguishable from executing local and remote requests.

4) Communication means of the OS, with the help of which messages are exchanged between SOS in the network. This part provides addressing and buffering of messages, selection of the route for transmitting messages over the network, reliability of transmission, etc., that is, it is a means of transporting messages.

The entire set of SOS can be divided into two groups:

1) The first network operating systems were a combination of a non-specialized (General) operating system and an add-on that added network functions to it (Figure 2).

2) However, it seems more effective to develop operating systems that were originally designed to work on the network. Network functions OSes of this type are built into the main modules of the system, which ensures their logical harmony, ease of operation and modification, as well as high performance.

As can be seen from the structure, SOS is an OS with the addition of network functions.

The fundamental criterion for the significant impact on the performance and scalability of an operating system is its architecture. Operating systems have come a long way from monolithic systems to well-structured modular systems that are capable of development, expansion and are well portable.

1. Monolithic systems

In general, the “structure” of a monolithic system is the absence of structure (Figure 3). The OS is written as a collection of procedures, each of which can call others when it needs to. With this technique, each system procedure has a well-defined interface, and each can call any other if necessary.

A monolithic OS is assembled from software modules and then compiled as a single system. And although such a SOS as a program may be modular, in practice the interaction of its procedures occurs in a single scope and any procedure can call any one.

2. Multi-level systems

When structuring, they move from monolithic systems to multi-level ones. Levels are formed by groups of operating system functions - file system, process and device management, etc. Each level can only interact with its immediate neighbor - the level above or below. Application programs or modules of the operating system itself pass requests up and down these levels (Figure 4).

Although such structural approach in practice it usually worked well, today it is increasingly perceived as monolithic, older UNIX OSes with a multi-tier structure are now characterized as OSes with monolithic kernels. In systems with a multi-layer structure, it was not easy to remove one layer and replace it with another due to the multiplicity and blurring of interfaces between layers. Adding new functions and changing existing ones required good knowledge operating system and a lot of time. When it became clear that operating systems had a long life and should be able to evolve and expand, the monolithic approach was replaced by a client-server model with the closely related concept of the microkernel.

3. Client-server model and microkernels

In relation to structuring the OS, the idea of ​​​​using client-server interaction and microkernels is to split it into several processes - servers, each of which performs a separate set of service functions - for example, memory management, file system management. Each server runs in user mode. The client, which can be either another OS component or an application program, requests a service by sending a message to the server. The OS kernel (called the microkernel here), running in privileged mode, delivers a message to the desired server, the server performs the operation, and then the kernel returns the results to the client using another message (Figure 5).

The microkernel approach replaced the vertical distribution of operating system functions with a horizontal one. Components above the microkernel, although they use messages sent through the microkernel, communicate directly with each other. This property of microkernel systems allows them to be naturally used in distributed environments. When a message is received, the microkernel can process it or forward it to another process. Since the microkernel does not care whether a message comes from a local or a remote process, this message passing scheme is a convenient basis for remote procedure calls (RPC). The microkernel deals with the main function of the OS - resource management; it often takes on the functions of interacting with hardware, although it is preferable to separate machine-dependent functions into separate submodules within the microkernel to improve portability. Different implementations of the client-server model in the OS structure can differ significantly in the amount of work performed in kernel mode. At one end of this spectrum is the Workplace OS operating system developed by IBM based on the Mach microkernel, which adheres to the pure microkernel doctrine that all non-essential OS functions should be performed not in kernel mode, but in unprivileged (user) mode. On the other is Windows NT, which includes an executive system (NT executive) that runs in kernel mode and performs security, I/O, and other functions.

The microkernel approach to OS architecture design requires an answer to the question of which OS functions should be left in the kernel and which ones should be removed from it. The modules contained in the kernel cannot be replaced without recompiling it. Moreover, if the microkernel itself is poorly structured, then replacing one of its modules with another (for example, replacing the task scheduler) can become a very difficult task. On the other hand, although moving non-core and dynamically changing functions outside the kernel makes the OS highly scalable and more reliable (the kernel usually acts as a single failure domain, while the OS can survive the death of an external server painlessly), this affects its performance .

The microkernel usually does not include network functions, a user interface, a file system, but only basic management functions???

Advantages and disadvantages of the microkernel approach

Currently, it is operating systems built using the client-server model and the microkernel concept that best meet the requirements for modern SOS.

The high degree of portability and compatibility is due to the fact that all machine-dependent code is isolated in the microkernel, therefore, to port the system to new processor fewer changes are required and they are all logically grouped together.

The microkernel approach makes it easy to re-specialize the OS. Whether an operating system is small like DOS or large like UNIX, it will inevitably need to acquire features that were not inherent in its design. The increasing complexity of monolithic operating systems made it difficult, if not impossible, to make changes to the OS without guaranteeing that it would continue to function reliably. A limited set of well-defined microkernel interfaces paves the way for orderly growth and evolution of the OS. Typically, the operating system runs only in kernel mode, and application programs run only in user mode, except when they call on the kernel to perform system functions. Unlike conventional systems, a system built on a microkernel runs its server subsystems in user mode, like ordinary application programs. This structure allows you to change and add servers without affecting the integrity of the microkernel.

The reliability of microkernel architecture is higher than that of monolithic architecture. The microkernel is easier to test; it runs in a privileged, protected processor mode, and the failure of external services running in individual virtual machines in non-privileged mode will not lead to the collapse of the system as a whole. One of the problems with traditionally organized operating systems is the presence of many application programming interfaces (API - Application Programming Interface), not all of which are well documented. As a result, it is impossible to guarantee the correctness of programs that use multiple APIs, or even the correct operation of the operating system itself. A microkernel with a small set of APIs increases the chances of producing high-quality programs. Of course, this compact interface only makes life easier for system programmers; the application programmer still has to contend with hundreds of calls.

Support for distributed and networked applications fits well with the microkernel concept, based on the horizontal separation of OS services.

The main disadvantage of using the microkernel approach in practice is the decrease in performance on local tasks - slower execution speed system calls when passing messages through a microkernel compared to the classical approach.

Basic SOS resources and services. Ways to manage them.

The most important function of the operating system is to organize the rational use of all hardware and software resources of the system. The main resources may include: processors, memory (virtual memory), external devices.

A process is an abstraction that describes a running program. To the operating system, a process is a unit of execution and a dynamically changing request for the consumption of system resources. The process management subsystem schedules the execution of processes, that is, it distributes processor time between several processes simultaneously existing in the system, and also deals with the creation and destruction of processes, provides processes with the necessary system resources, and supports interaction between processes.

In this subsystem, SOS implements remote interprocess interaction and the operation of processes with remote resources.

1. Process planning

Process planning includes solving the following tasks:

1) determining the moment of time to change the running process

2) selecting a process to execute from a queue of ready processes

3) switching the contexts of the “old” and “new” processes

There are many different process planning algorithms that solve the above problems in different ways. They serve different purposes and provide different quality of multiprogramming. Among this set of algorithms, two groups of most frequently encountered algorithms stand out: quantization-based algorithms and priority-based algorithms.

According to quantization-based algorithms, a change of active process occurs if:

1) the process ended and left the system

2) an error occurred

3) the process has entered the waiting state

4) the processor time slice allocated to this process has been exhausted

A process that has exhausted its quantum is transferred to the ready state and waits for a new quantum of processor time to be provided to it, and a new process is selected from the ready queue for execution in accordance with a certain rule. This way, no process occupies the CPU for long, which is why quantization is widely used in time-sharing systems.

The priority can be expressed as an integer or a fraction, a positive or negative value. The higher the privileges of a process, the less time it will spend in queues. The priority can be assigned directly by the system administrator depending on the importance of the work or the fee paid, or calculated by the OS itself according to certain rules; it can remain fixed throughout the life of the process or change over time in accordance with some law. In the latter case, the priorities are called dynamic.

There are two types of priority algorithms: algorithms that use relative priorities and algorithms that use absolute priorities.

In both cases, the selection of a process for execution from the ready queue is carried out in the same way: the process with the highest priority is selected. The problem of determining the moment of change of the active process is solved in different ways. In systems with relative priorities, the active process runs until it leaves the processor and enters the waiting state (either an error occurs or the process terminates). In systems with absolute priorities, the execution of the active process is interrupted under one more condition: if a process appears in the queue of ready processes whose priority is higher than the priority of the active process.

In many operating systems, scheduling algorithms are constructed using both quantization and priorities. For example, scheduling is based on quantization, but the quantum value and/or the order in which a process is selected from a queue of ready ones is determined by the priorities of the processes.

There are two main types of process scheduling procedures - preemptive and non-preemptive.

Non-preemptive multitasking - non-preemptive multitasking is a method of scheduling processes in which the active process runs until it, on its own initiative, gives control to the operating system scheduler so that it selects another process ready for execution from the queue . The programmer must ensure that his program is "friendly" to other programs running simultaneously with it, giving control to them quite often. An extreme manifestation of an application's "unfriendliness" is its freezing, which leads to a general system crash. In systems with preemptive multitasking, such situations are usually excluded, since the central scheduling mechanism will remove the stuck task from execution.

Preemptive multitasking is a method in which the decision to switch the processor from executing one process to executing another process is made by the operating system scheduler, and not by the active task itself.

For network operating systems, the most rational is preemptive multitasking, which guarantees processing of network interaction with a response time close to real-time systems.

Sharing resources by several simultaneously running processes within the local OS creates problems of both synchronization and mutual blocking of resources (for which the OS must implement algorithms regulating the allocation of resources.

2. Memory management

The memory to which the OS can have access can be local, shared, distributed; a memory manager is created in the OS to work with all types of memory.

OS functions for memory management are: monitoring free and used memory, allocating memory to processes and freeing memory when processes terminate, evicting processes from RAM to disk when the main memory is not large enough to accommodate all processes, and returning them to RAM , when space is freed up in it, as well as setting program addresses to a specific area of ​​physical memory.

A modern SOS must be able to work with virtual memory, as this allows for optimal use of the resource and achieves increased performance compared to working with physical memory.

Virtual memory is a set of software and hardware that allows users to write programs whose code and data size exceeds the available RAM; For this purpose, virtual memory solves the following problems:

Places data in different types of storage devices, for example, part of the program in RAM, and part on disk;

Moves data as necessary between storage devices of different types, for example, loads the required part of the program from disk into RAM;

Converts virtual addresses to physical ones.

Without going into details, you can notice that the most efficient algorithms for working with memory are the most difficult to implement. The most optimal is the segment-page organization of virtual memory using proactive algorithms for paging and popping pages.

It is also necessary to strive for optimal use of data caching (Fig. 6 - storage hierarchy)

Rice. 6. (Storage hierarchy)

3. I/O management

One of the main functions of the OS is to manage all the computer's input/output devices. The OS must send commands to devices, intercept interrupts, and handle errors; it must also provide an interface between the devices and the rest of the system.

The concept of network operating systems began to become widespread in 1995. As you might guess, this was facilitated by the appearance of a new product from Microsoft. Namely, the Windows 95 operating system. It is considered the ancestor of this class of products. The main difference between such an OS is the ability to fully work on the network, in a networked environment. Of course, there were programs before this that could function in this mode. For example, UNIX and Novell NetWare are also network operating systems. But they were actively used only in strictly certain circles, and because of this they were not widely used. But Microsoft made a truly successful product, which became the founder of a whole family of such programs.

What are they like?

The most widely used operating systems of this class are:

  • Windows;
  • Linux and Unix;
  • Android;
  • Novell Net Ware;
  • Mac OS.

Some of them are developing successfully, some are morally and physically outdated, and meeting them is already quite problematic. But one thing is certain: these are all network operating systems.

BYMicrosoft

As mentioned earlier, all products of the North American software giant are required to be equipped with full support for working on the network. Last Windows version with index 8 is no exception; it has the ability to fully work on the network. This is the most popular product for personal computers, which has found widespread use. The most popular by the number of installations is the operating room Windows system XP. Despite the fact that it was released more than 10 years ago, it still continues to work on a fairly large number of computers and suits the users who use it.

Linux and Unix

Many qualified experts confidently say that Linux and Unix have little in common. But this is actually not the case. Linux was developed based on Unix, and source theirs was similar. Further development This line of OS was the emergence of Android. First two software products are focused on working on a computer, but the latter is the most successful operating system for mobile devices. It is most often used in tablets, smart watches and smartphones. These are also network operating systems.

NovellNetWare

Novell's product called Net Ware has not gained much popularity. This is natural, since this OS is a server OS. Now it has received a logical continuation in the form of Open Enterprise Server, which can still be found on some servers. It is still a fairly recent product, released in 2011.

and iOSMacOS

Apple has developed two similar products. The first is iOS, used in the mobile segment of this manufacturer’s products (tablets and smartphones). The second is Mac OS, used on personal computers.

Conclusion

Booting a network-enabled operating system differs from a normal one in that during its process, network services are initialized. It was thanks to them that the exchange of information between two different computers became possible. This served as the primary source of the digital revolution, which we inevitably witnessed. Now PCs located in different parts of the world can communicate with each other without any problems.

To ensure that computers connected to local network, could exchange data, appropriate software is required. As a rule, basic network software is included in the operating system, or the operating system can be supplemented with appropriate programs. An example of a network-enabled OS is Windows XP Professional.

When working with a network, a computer can act in two roles:

If a computer requests information and services from another computer on the network, then such a computer is called workstation;

if a computer provides its information and services to other computers on the network, then it is called server.

The server can provide various services, of which the most famous are the following: storage and provision of files (file server); printer output (print server); receiving and forwarding fax messages (fax server); receiving, storing and transmitting messages Email (mail server); website hosting (web-server).

The services provided by the server are called services. Multiple services can be running on the same server.

In order for the server to provide a particular service, it is necessary to run the corresponding program as part of the server OS.

To access server services from workstations, you must run the appropriate program called client.

Local networks that contain servers that provide services and client computers are called networks built according to client-server technologies. It is possible to combine these functions by each computer on the network, when all these computers have equal rights. A local network consisting of peer PCs is called peer-to-peer

Network OS consists from the following parts:

– local resource management tools – memory allocation, process scheduling, etc.;

– server part – provision of own resources and services for public use;

– client part – provides access to remote resources and services

Network OS:

– peer-to-peer – each computer on the network can perform the functions of both a client and a server (peer-to-peer network);

– with a dedicated server – installed on a separate computer – server (network with a dedicated server)

Dedicated server networks:

Advantages:

- high performance;

– availability of developed management and administration tools in the network;

– availability of developed means of communication of remote network segments;

– distributed client-server operating mode;

Flaws:

– difficulty in development and operation

Examples of network operating systems with a dedicated server: Windows NT; Windows 2000; Windows XP; Novell Net Ware; Unix; Linux.

Windows 2000 Server can act as: file server; print server; applications server; domain controller; remote access server; Internet server; data security server; data backup server; communication server; auxiliary services server.

The network operating system includes a set of control and maintenance programs that provide:

‒ interprogram access method (the ability to organize communication between individual application programs of the complex implemented in different network nodes);

‒ access to individual application programs to network resources (and primarily to input/output devices);

‒ synchronization of application software in conditions of their access to the same computing resource;

‒ exchange of information between programs using network “ mailboxes»;

‒ execution of operator commands from a terminal connected to one of the network nodes on any device connected to another remote computer network node;

‒ remote input of tasks entered from any terminal and their execution on any computer in batch or online mode;

‒ exchange of data sets (files) between network computers;

‒ access to files stored in remote computers, and processing of these files;

‒ protection of data and computing resources of the network from unauthorized access;

‒ issuing various types of certificates on the use of information, software and technical resources of the network;

‒ transmission text messages from one user terminal to others (e-mail).

Using the network operating system:

‒ the sequence of solving user problems is established;

‒ user tasks are provided with the necessary data stored in various network nodes;

‒ the operability of network hardware and software is monitored;

‒ planned and operational distribution of resources is ensured depending on the emerging needs of various users of the computer network.

Thus, the network software, which supports the functioning of the network, manages server resources, provides organization of network services and provides access to them to many network users is called network operating system. A network operating system is necessary for the network to operate, just as a local personal computer requires one of the operating systems: DOS, Windows 95, OS/2, UNIX. Its main part is hosted on the server; and on workstations only a small shell is installed, which acts as an interface between programs accessing the resource and the server. Network software provides all network users with external memory servers for storing programs and data, a shared printer and ensures the exchange of information between workstations.

Network OS Windows XP

Network capabilities are already included in Windows XP and only need to be configured and activated. In Windows XP, each computer has a unique Name. If any services are active on a computer, they can be accessed from other computers on the network.

As standard, the OS includes a file access service and a print service.

File service. The task file service is to allow other PCs to read, modify or create files. Obviously, when many users are working on the same file, they can interfere with each other, so you can only allow them to read the files, but not correct them. To do this, the file service provides mechanism for differentiating access rights. In Windows XP, you can provide any number of directories (folders) for client access. In this case, each directory has a unique name, defined when configuring the file service, and is called resource.

For each resource can be defined access mode:

Password access - to work with this resource you need to know password.

Print service. Sometimes it can be difficult to provide all computers with separate printers. Then one of the computers on the network is allocated, connected to a printer, which provides its services for printing documents to all other clients on the network. Print server and client support is included with the Windows operating system and only requires configuration. To do this, you need to set the printer to public access on the server:

Select from menu Start team Printers and faxes;

Select the desired printer;

Select from menu File paragraph General access and check the box Share this printer.

To access this printer, all client computers must install it as network printer. This is done in exactly the same way as installing a local (“regular”) printer, but during the setup process in the corresponding Wizard you need to check the button Network printer.

A network OS can be assessed by its compliance with the basic requirements for the network environment, namely, if possible:

Sharing files and printers with high productivity;

Effectively run client-server architecture applications, including vendor applications;

Work on various platforms and with various network equipment;

Provide integration with the Internet: support for the TCP/IP protocol, protocol dynamic settings(Dynamic Host Configuration Protocol - DHCP), Web server software;

Remote network access;

Organization of internal e-mail, group discussions;

Access resources across geographically dispersed, multi-server networks using directory and naming services.

Any of the listed network operating systems (from one point of view or another) can be called the best, although none of them can fully satisfy all user requirements. To satisfy all network processing requirements, it is advisable to combine network operating systems from different manufacturers. Most networks today use multiple network operating systems. NetWare and Windows NT Server are often used together to achieve versatility and performance. At the same time, NetWare is used for working with files and printing services, since it provides greater capabilities and versatility of these services, and Windows NT is used for messaging and running application servers, such as DBMS, on various platforms.

NetWare and Windows NT networks have fundamentally different directory management services. NetWare 4.1 uses NetWare Directory Service (NDS), which allows you to view your network in a tree structure. The directory management service in Windows NT networks is a set of domains that have a trusted relationship. Both services provide the ability to centrally manage a network with many servers. Moreover, a user who registers once on the network is given the opportunity to connect to various servers. In NDS, it is more convenient to view all network resources and transfer (logically) a user from one part of the tree to another. The domain system allows you to more flexibly configure relationships between domains. A domain can have all the information about another domain, or partial, or none at all.

All of the listed operating systems have fairly good client tools for working with files and printing. Many manufacturers produce client software that can work with different types of servers. Thus, Windows 95 includes a universal client that can work with servers of all of the listed network operating systems and some others. Moreover, the user may not know which server he is accessing.

IN Windows composition 95 includes client software for both Windows NT and NetWare. The user is given transparent access to both domain resources and the NDS tree. By opening the Network Places folder, the user will see all available domains Windows network NT, all available NetWare servers and NDS contexts. By expanding the NDS context folder, the user will see disk volumes and print queues, opening the folder corresponding to Windows NT Server - shared file and printer resources. If you open the folder corresponding to a file volume, the directory structure of that volume and the files located in them are displayed. The window title displays the context name and volume name. Any of these directories can be mapped as logical network drive. Thus, it does not matter to the user how network resources are accessed. Be it a catalog Windows server NT, a NetWare server directory, or an object in NDS, access to it is the same.

Windows NT Server and Workstation provide users, including NetWare users, with transparent access to servers on a mesh network. NetWare 4.1 clients designed for Windows NT also allow Windows Workstation users to access NDS. Windows NT Server can be added to an existing NetWare network environment and used as an application server. It can run: a database server, an email server, a communication server, a Web page server, etc. In turn, Windows users NT can access NetWare servers.

Network OS NetWare

To ensure the functioning of a local network using a file server, a number of network operating systems have currently been developed. One of them is NetWare from Novell.

We list the main functions of the network operating system implemented by NetWare:

Sharing file server disks to provide shared, secure storage and access to files. Access can be made from various operating systems on workstations.

Communication management for various subnet topologies and communication protocols used. Thus, UNIX workstations, as a rule, use the TCP/IP protocol, and personal computers on the NetWare network use IPX/SPX, and the network OS provides support for these protocols.

Ensuring the operation of programs on the server that expand and complement the functions of the network OS itself. These programs are called NetWare Loadable Modules (NLM). NLM modules are developed both by the manufacturer itself and by third-party companies. NLMs are used to ensure the operation of databases (storing and processing databases on a database server with high speed). Examples of such NLMs can be modules used to access Oracle, Sybase or Microsoft SQL Server.

The structure of a local network of a monochannel topology with a file server is shown in Fig.:

Rice. – Local network of Novell NetWare personal computers with a small-channel structure

The NetWare network operating system coordinates the functioning of workstations and regulates the process of sharing network resources. In addition, the network OS provides various network administration tools. These tools ensure data protection and integrity by controlling access rights to them.

NetWare OS, like other network operating systems, is designed to work with various boards. The list of possible types of boards is very wide. Supports many Ethernet, Token-Ring, Arcnet cards. In accordance with this, the network OS ensures the operation of a network of any structure, including a mono-channel one.

The driver is the link between the shell running on the workstation and network card. The driver program is supplied with the network card and provides configuration for the physical features of the card.

Local network with several file servers

Given the large number of users on the network, its geographical dispersion, and the various functions performed by the network, it is advisable to divide it into separate small networks, each of which contains a file server. At the same time, network performance increases, user response time is significantly reduced, and network reliability increases, since a failure in one network leads to disruption of only this network. NetWare allows you to divide a large network into multiple networks, while providing interconnectivity of networks in which users on any network have access to the resources of all other networks and do not feel the network is divided into several. NetWare consolidates dedicated networks by stopping (among others) several network cards on a file server or on a separate computer. Routers and bridges are also used.

A computer acting as a bridge or router is installed with one network adapter on each of the connected networks. A bridge is typically used to connect networks with the same communication systems, for example to connect two Ethernet networks. Packets arriving at the bridge are forwarded and sent to another network at the specified address. Routers convert communication packets from one format to another. A NetWare file server can connect multiple networks by installing additional network adapters one or different types and act as a router. This solution is called an internal router and is the cheapest way to divide a network into segments. However, it should be noted that this places an additional load on the server, which must now process routing information.

In Fig. shows the general structure of a basic Novell NetWare local network, fragmented into four parts, each of which is installed in a separate university classroom and has its own file server. File servers are used as routers in the network. In this network, a user from any audience can access any of the file servers.

Since when several networks are combined into single network All of them are connected to some core network, which is the connecting link; it requires high performance. Currently, there are such high-performance network architectures as:

FDDI (Fiberoptic Distributed Data Interface) - fiber optic data transfer interface and CDDI (Copper Distributed Data Interface) - wire data transfer interface, providing a transfer speed of 100 Mbit/s;

(Fast) Ethernet - 100 Mbit/s.

ATM (Asynchronous Transfer Method) is an asynchronous data transfer method that provides speeds of up to 622 Mbit/s.

High-speed communication lines of the core network also make it possible to connect networks located at a considerable distance from each other. They turn an integrated network limited by some small space into a corporate one. global network, whose subnets can be located in different countries and continents.

Rice. – NetWare Novell network structure with several file servers acting as routers

To enable a user to access and manage network resources on a workstation, client software is required. This type of software includes utilities the network operating system itself. In addition, client software may be provided by third parties or be integral part some other software system. To perform the work of the administrator, operator and user, NetWare includes a large number of service utilities that run on the workstation. Operating systems such as Windows have built-in capabilities sufficient to meet most user needs.

The basis for a visual presentation of network resources to the user and their simple and quick search is directory service NetWare - NDS (NetWare Directory Service). The directory service maintains all network resources (servers, disk volumes, printers, print queues) and network user names in a single database. NDS allows the user to simultaneously see the entire network consisting of multiple subnets, making it easy to find the desired resource and protecting the resource from unauthorized access. In the database, each network resource is represented as an object that has a specific set of properties. For example, the objects are a network server, a disk volume, and a user group. To organize objects according to user needs, which are often dictated by the administrative structure of an organization, it is possible to create containers.

A container allows you to group related objects together in the same way that a directory groups together a group of files in file systems. For example, if you want to group resources according to their placement in university classrooms, you need to create containers with the names of the classrooms. These containers can then be combined into a faculty container; in turn, faculty containers can be combined into a university container. If a university has branches in different countries, country containers can be created. Thus, NDS allows the creation of three types of containers - country, organization and organizational unit, such as faculty, audience. Enabling containers low level in more high levels A hierarchical structure is formed, at the lowest level of which network objects are located.

The NDS database that stores network objects is hierarchical and is displayed by utilities in a tree structure similar to the one Windows uses to display the disk structure, so it is often called a directory tree.

WITH naming objects The user first encounters this problem when registering on the network, when he is required to enter his name in order to gain access to the network. The user is a network object and occupies a certain position in the hierarchical directory tree - a leaf of the tree. The position of an object in the directory tree determines the full name of any object. This full name, like the full file name, contains the path to the actual object name - the final element in the path. However, unlike the full file name, where the path begins with the root of the tree, in the network directory service it begins with the name of the object and then, separated by a dot, all the containers into which the object name was sequentially “nested” are indicated.

For example, student Smirnov is represented online by the username Smirnov. Smirnov studies in group EY11 (container Ey11), the group studies in classroom 209 (container 209) and stores data on the server of this classroom, the classroom belongs to the Faculty of Economics (container Econ_fak). The organization container has the name of the university - Gsu. The full network name of this student will be written like this:

Smirnov. Ey11.209. Econ_fak.Gsu

There is a more explicit, but also more long way specifying the network name of the object, in which each part of the name is preceded by an abbreviation describing the type of the object.

Objects of the network, representing its elements and called leaves in the directory tree, are denoted by CN. They cannot contain other objects.

Containers designed to combine objects into groups are divided into three types and are designated:

Container-country - C (this container may not be in the network tree),

Container-organization - O (the network must contain at least one such container, a container of type O cannot contain another container of type O),

Container-unit - OU (not required, but if present, must be included in a container of type O directly or through another container of type OU. The number of nesting levels of containers of type OU within each other is not limited).

The top mandatory level of NDS, as in the disk structure, is called the root. A network tree can have a single root. In NetWare graphical utilities, the root is represented by the Earth icon.

As in filename references, the path specified depends on which directory is the current one in this moment, and when using an object name, it is important which container is the current one or, as they say, in what context the object name is used. Thus, the context is a list of containers from the root to the current one. As a result, if your container is set as current, you can only use the object's own name, without specifying the path to it. When setting some intermediate container along the path to an object as the current one, you need to specify in the object name only the chain of containers nested in the current one. System, adding specified name context, will form the full path of the object.

If, in the example above, we assume that the current context is set to Gsu.Econ_fak, the user just needs to enter the name:

Smirnov.Eyl1.209

How you can change the current context depends on the client software running on your workstation.

Object access rights

When creating a directory tree large network It is not very convenient, and often unacceptable, to provide all users with information about all branches of the tree. The system uses object access rights, which the administrator can use to restrict the user. Some users will be able to create, change, delete objects, while others will not even see them in the directory tree. The administrator has unlimited rights over objects and can transfer them to some users. NetWare uses five types of permissions to control access to branches of a directory tree:

Supervisor (Administrator) – full control of the object;

Browse – view an object in the directory tree;

Create – creating new objects;

Delete – deleting objects;

Rename—Changes the object's name.

Access rights granted to containers are automatically extended to objects that reside in that container. Thus, you can grant the same rights to all users included in the same container by performing the appropriate procedure only for the container. In addition, you can create a group object, and users included in the group will also automatically receive group rights. The group, in turn, receives the rights of the container it belongs to. In addition to access rights to objects, the system uses access rights to object properties, which allow even more precise delimitation of user access to network information.


Related information.


Network operating system structure

The network operating system forms the basis of any computer network. Each computer on the network is largely autonomous, therefore, a network operating system in the broad sense is understood as a set of operating systems of individual computers that interact to exchange messages and share resources according to uniform rules - protocols. In a narrow sense, a network OS is the operating system of a separate computer that provides it with the ability to work on a network.

In the network operating system of an individual machine, several parts can be distinguished (Figure 1):

    Tools for managing local computer resources: functions for distributing RAM between processes, scheduling and dispatching processes, managing processors in multiprocessor machines, managing peripheral devices and other functions for managing local OS resources.

    Means of providing own resources and services for general use - the server part of the OS (server). These tools provide, for example, file and record locking, which is necessary for their sharing; maintaining directories of names of network resources; processing requests for remote access to your own file system and database; managing queues of requests from remote users to their peripheral devices.

    Means for requesting access to remote resources and services and their use - the client part of the OS (redirector). This part recognizes and forwards requests to remote resources from applications and users to the network, where the request comes from the application in a local form and is transmitted to the network in another form that meets the server's requirements. The client part also accepts responses from servers and converts them into a local format, so that the application is indistinguishable from executing local and remote requests.

    Communication means of the OS, with the help of which messages are exchanged on the network. This part provides addressing and buffering of messages, selection of the route for transmitting messages over the network, reliability of transmission, etc., that is, it is a means of transporting messages.

Rice. 1. Network OS structure

Depending on the functions assigned to a particular computer, its operating system may lack either a client or server part.

Network operating systems have different properties depending on whether they are intended for workgroup (department)-scale networks, campus-scale networks, or enterprise-scale networks.

    Department networks - used by a small group of employees solving common problems. The main purpose of a department network is to share local resources such as applications, data, laser printers, and modems. Departmental networks are not typically divided into subnets.

    Campus networks - connect several networks of departments within a separate building or within one territory of an enterprise. These networks are still local area networks, although they can cover an area of ​​several square kilometers. Services of such a network include interaction between department networks, access to enterprise databases, access to fax servers, high-speed modems and high-speed printers.

    Enterprise networks (corporate networks) - unite all computers of all territories of a separate enterprise. They can cover a city, a region, or even a continent. These networks provide users with access to information and applications located in other workgroups, departments, divisions, and corporate headquarters.

The main task of the operating system used in a department-wide network is to organize the sharing of resources such as applications, data, laser printers and possibly low speed modems. Typically departmental networks have one or two file servers and no more than 30 users. Management tasks at the department level are relatively simple. The administrator's tasks include adding new users, troubleshooting simple failures, installing new nodes, and installing new software versions. The operating systems of departmental networks are well-developed and varied, as are the departmental networks themselves, which have been in use for a long time and are quite well-functioning. Such a network usually uses one or at most two network operating systems. Most often this is a network with a dedicated NetWare 3.x or Windows NT server, or a peer-to-peer network such as a Windows for Workgroups network.

Users and administrators of departmental networks soon realize that they can improve their efficiency by gaining access to information from other departments in their enterprise. If a sales person can access specific product features and include them in a presentation, the information will be more current and have a greater impact on buyers. If the marketing department can access the characteristics of a product that is still being developed by the engineering department, then it can quickly prepare marketing materials immediately after development is completed.

So, next step in the evolution of networks is the unification of local networks of several departments into a single network of a building or group of buildings. Such networks are called campus networks. Campus networks can extend over several kilometers, but do not require wide-area connections.

The operating system running on the campus network must provide employees in some departments with access to some files and resources on the networks of other departments. The services provided by campus network OSes go beyond simple file and printer sharing and often provide access to other types of servers, such as fax servers and high-speed modem servers. An important service provided by operating systems of this class is access to corporate databases, regardless of whether they are located on database servers or on minicomputers.

It is at the campus network level that integration problems begin. In general, departments have already chosen the types of computers, networking equipment, and network operating systems. For example, the engineering department may use the UNIX operating system and Ethernet network equipment, the sales department may use DOS/Novell operating environments and equipment Token Ring. Very often, a campus network connects disparate computer systems, while departmental networks use similar computers.

The corporate network connects the networks of all departments of the enterprise, which are generally located at considerable distances. Corporate networks use WAN links to connect local networks or individual computers.

Enterprise network users require all of the applications and services found on departmental and campus networks, plus some additional applications and services, such as access to mainframe and minicomputer applications and global communications. When an OS is designed for a local network or workgroup, its main responsibility is to share files and other network resources (usually printers) among locally connected users. This approach is not applicable at the enterprise level. Along with the basic services associated with sharing files and printers, a network OS that is being developed for corporations must support a wider range of services, which usually includes mail service, collaboration tools, remote user support, fax service, voice message processing, organization of video conferences, etc.

In addition, many existing methods and approaches to solving traditional problems of smaller-scale networks for the enterprise network turned out to be unsuitable. Tasks and problems came to the fore that were either of secondary importance or did not appear at all in the networks of work groups, departments, and even campuses. For example, the simplest task of maintaining user records for a small network has grown into a complex problem for an enterprise-scale network. And the use of global communications requires enterprise operating systems to support protocols that work well on low-speed lines, and to abandon some traditionally used protocols (for example, those that actively use broadcast messages). The task of overcoming heterogeneity has acquired particular importance - numerous gateways have appeared on the network, ensuring the coordinated operation of various operating systems and network system applications.

The following features may also be included in the characteristics of corporate operating systems.

Application support. Enterprise networks run complex applications that require a lot of computing power to run. Such applications are divided into several parts, for example, on one computer the part of the application associated with executing queries to the database is executed, on the other - queries to the file service, and on client machines - the part that implements the application data processing logic and organizes the user interface. The computing part of the software systems shared by a corporation can be too voluminous and overwhelming for client workstations, so applications will run more efficiently if their most computationally complex parts are transferred to a powerful computer specially designed for this purpose - applications server.

The application server must be based on a powerful hardware platform (multiprocessor systems, often based on RISC processors, specialized cluster architectures). The application server OS must provide high computing performance, and therefore support multithreaded processing, preemptive multitasking, multiprocessing, virtual memory and the most popular application environments (UNIX, Windows, MS-DOS, OS/2). In this regard, the NetWare network operating system can hardly be classified as a corporate product, since it lacks almost all the requirements for an application server. At the same time, the good support for universal applications in Windows NT actually allows it to claim a place in the world of corporate products.

Help Desk. An enterprise OS must be able to store information about all users and resources in a way that can be managed from one central point. Like a large organization, a corporate network needs centralized storage of as complete background information as possible about itself (from data about users, servers, workstations to data about the cable system). It is natural to organize this information in the form of a database. Data from this database can be required by many network system applications, primarily management and administration systems. In addition, such a database is useful for organizing e-mail, group work systems, security services, network software and hardware inventory services, and for almost any large business application.

A database that stores reference information provides the same variety of capabilities and poses the same many problems as any other large database. It allows you to carry out various search operations, sorting, modification, etc., which makes life very much easier for both administrators and users. But these conveniences come at the price of solving the problems of distribution, replication and synchronization.

Ideally, network reference information should be implemented as a single database, and not be a set of databases specializing in storing information of one type or another, as is often the case in real operating systems. For example, Windows NT has at least five different types of help databases. The main domain directory (NT Domain Directory Service) stores information about users, which is used to organize their logical login to the network. Data about the same users may also be contained in another directory used by Microsoft Mail. Three more databases support low-level address resolution: WINS - matches Netbios names to IP addresses, the DNS directory - a domain name server - is useful when connecting an NT network to the Internet, and finally, the DHCP protocol directory is used to automatically assign IP addresses network computers. Closer to ideal are the directory services provided by Banyan (Streettalk III) and Novell (NetWare Directory Services), which offer a single directory for all network applications. Availability of a single help desk for a network operating system - one of the most important signs of its corporate identity.

Safety. Particularly important for the OS corporate network data security issues arise. On the one hand, in a large-scale network, there are objectively more opportunities for unauthorized access - due to the decentralization of data and the large distribution of “legitimate” access points, due to the large number of users whose trustworthiness is difficult to establish, and also due to the large number of possible points unauthorized connection to the network. On the other hand, enterprise business applications work with data that is vital to the success of the corporation as a whole. And to protect such data in corporate networks, along with various hardware, the entire range of protection tools provided by the operating system is used: selective or mandatory access rights, complex user authentication procedures, software encryption.

Control questions:

    What are the main types of cables used in local area network projects?

    Which cable is most suitable for long distance use?

    Which cable is most suitable for short distance use?

    List the main types of UTP cable screens.

    What are the two main standards for assigning wire pairs to RJ45 connector pins?

    What types of cables allow you to operate at speeds above 10Mbit/sec?

    The purpose of the switch is switch.

    Purpose of the hub - hub

    Purpose of a router – router

    What is called a network operating system in the broad sense?

    What is called a network operating system in the narrow sense?

    List and describe the characteristics of corporate operating systems.

    What are several parts that can be distinguished in the network operating system of a single machine?

    What are the responsibilities of an administrator?

    List modern network operating systems?

Network operating system - an operating system with built-in capabilities for working in computer networks. These capabilities include: support for network equipment; support network protocols; support for routing protocols; support for filtering network traffic; support for access to remote resources such as printers, disks, etc. over the network; support for network authorization protocols; the presence in the system of network services that allow remote users to use computer resources.

Examples of network operating systems: Novell NetWare; Microsoft Windows(95, NT and later); Various UNIX systems such as Solaris, FreeBSD; Various GNU/Linux systems; IOS; ZyNOS by ZyXEL.

Main purpose. The main tasks are the division of network resources (for example, disk space) and network administration. Using network functions System Administrator defines shared resources, sets passwords, defines access rights for each user or group of users. Hence the division:

— network OS for servers;

— network OS for users.

There are special network operating systems, which are given the functions of conventional systems (Ex: Windows NT) and regular operating systems (Ex: Windows XP), which are given network functions. Today, almost all modern operating systems have built-in network functions.

Network operating system structure

The network operating system forms the basis of any computer network. Each computer on the network is largely autonomous, therefore, a network operating system in the broad sense is understood as a set of operating systems of individual computers that interact to exchange messages and share resources according to uniform rules - protocols. In a narrow sense, a network OS is the operating system of a separate computer that provides it with the ability to work on a network.

In a network operating system A separate machine can be divided into several parts (Figure 1.1):

Tools for managing local computer resources: functions for distributing RAM between processes, scheduling and dispatching processes, managing processors in multiprocessor machines, managing peripheral devices and other functions for managing local OS resources.

The means of providing your own resources and services for public use is the server part of the OS (server). These tools provide, for example, file and record locking, which is necessary for their sharing; maintaining directories of names of network resources; processing requests for remote access to your own file system and database; managing queues of requests from remote users to their peripheral devices.

Means for requesting access to remote resources and services and their use - the client part of the OS (redirector). This part recognizes and forwards requests to remote resources from applications and users to the network, where the request comes from the application in a local form and is transmitted to the network in another form that meets the server's requirements. The client part also accepts responses from servers and converts them into a local format, so that the application is indistinguishable from executing local and remote requests.

Communication means of the OS, with the help of which messages are exchanged on the network. This part provides addressing and buffering of messages, selection of the route for transmitting messages over the network, reliability of transmission, etc., that is, it is a means of transporting messages.

Depending on the functions assigned to a particular computer, its operating system may lack either a client or server part.

The first network operating systems were a combination of an existing local operating system and a network shell built on top of it. At the same time, the minimum network functions necessary for the operation of the network shell, which performed the main network functions, were built into the local OS. An example of this approach is the use of the MS DOS operating system on each network machine (which, starting with its third version, has built-in functions such as file and record locking necessary for file sharing). The principle of building network operating systems in the form of a network shell over a local operating system is also used in modern operating systems, such as LANtastic or Personal Ware.

However, it seems more effective to develop operating systems that are initially designed to work on the network. Network functions of this type of OS are deeply built into the main modules of the system, which ensures their logical harmony, ease of operation and modification, as well as high performance. An example of such an OS is the Windows NT system from Microsoft, which, due to its built-in network tools provides higher performance and information security compared to the LAN Manager network operating system from the same company (joint development with IBM), which is an add-on to the local OS/2 operating system.