written 5.7 years ago by |
A Network operating system provides an environment in which users, who are well known of the multiplicity of machines, can access resources remotely by either logging into the appropriate remote machine or transferring data from the remote machine to their own machines.
Remote Login
An important function of a network operating system is to allow users to log in remotely. The Internet provides the telnet facility for this purpose. To illustrate this facility, let's suppose that a user at Westminster College wishes to compute on "cs.yale.edu", a computer that is located at Yale University. To do so, the user must have a valid account on that machine. To log in remotely, the user issues the command -
telnet cs.yale.edu
This command provides the creation of a socket connection between the local machine at Westminster College and the "cs.yale.edu" computer. After this connection has been established, the networking software creates a transparent, bidirectional link so that all characters entered by the user are sent to a process on "cs.yale.edu" and all the output from that process is sent back to the user. The process on the remote machine asks the user for a login name and a password. Once the correct information has been received, the process acts as a proxy for the user who can compute on the remote machine just as any local user can.
Peripheral Sharing Service
Peripherals connected to one computer are often shared by other computers, with the help of peripheral sharing services. These services recognize by many names, such as remote device access, printer sharing, shared disks and so on. A computer having a peripheral device makes it available for exportation. Other computers can connect to the exported peripheral. After a connection is made, to a user on the machine connected to a shared peripheral, that peripheral appears to be local (that is, connected to the user's machine). The sharing service is the most basic service provided by a network operating system.
Remote File Transfer Service
It is the most common service that a network operating system provides for the users. File services allow the user of a set of computers to access files and another persistent storage object from any computer connected to the network. The files are stored in one or more machines called the file server(s). The machines that use these files, often called workstations or clients have transparent access to these files. Note only the file service is a common service, and also the most important service in the network operating system. Consequently, it is the most heavily studied and optimized service.
The Internet provides a mechanism for such a transfer with the file transfer protocol (FTP). Suppose that a user on "cs.uvm.edu" wants to copy a Java program Server.java that resides on "cs.yale.edu." The user must first invoke the FTP program by executing
ftp cs.yale.edu
The program then request the user for a login name and a password. Once the correct information has been received, the user must connect to the location where the file Server.java resides and then copy the file by executing get Server.java.
RPC service
A specific mechanism for implementing the services in a network operating system is called Remote Procedure Calls or RPC. The RPC mechanism needs the availability of an RPC server accessible by an RPC client. However, a particular system may contain tens if not hundreds or thousands of RPC servers. In order to avoid conflicts and divergent communication protocols, the network operating system provides support for building and managing and accessing RPC servers. Each RPC service is an application-defined service. However, the operating system also provides an RPC service, which is a meta-service, which allows the application of specific RPC services to be used in a uniform manner.
This service provides several features:
- Management of unique identifiers (or addresses) for each RPC server.
- Tools for building client and server stubs for packing and unpacking (also known as marshaling and unmarshalling) of arguments between clients and servers.
- A per-machine RPC listening service.