ADVANCED OPERATING SYSTEMS STRUCTURED NAMING BY KANNA KARRI
OUTLINE 1.Structured Naming 2.Name Spaces 3.Name Resolution –Closure Mechanism –Linking and Mounting 4.Implementation of Name Space –Name Space Distribution –Implementation of Name Resolution
What is Structured Naming? How to locate an entity given its human ‐ friendly name? Human ‐ friendly names are structured names composed of several parts – Example: file names, host names Structured name – sequence of words Name spaces for structured names – labeled, directed graphs Example: UNIX file system Example: DNS (Domain Name System) –Distributed name resolution –Multiple name servers
Name Spaces Names are commonly organized into what is called a name space. Entities in a structured name space are named by a path name. A leaf node represents a named entity (e.g., files) and has the property that it has no outgoing edges. A directory node has a number of outgoing edges, each labeled with a name. Each path in a naming graph can be referred to by the sequence of labels corresponding to the edges in that path, such as Ni:
Name Spaces no:, it is common practice to use its string representation /home/steen/mbox. node n 5 can be referred to by Ihome/steenlkeys as well as /keys.
Name Spaces In a naming graph for UNIX, a directory node represents a file directory, whereas a leaf node represents a file. It is generally divided into a boot block, a superblock, a series of index nodes(called inodes), and file data blocks. The boot block is a special block of data and instructions that are automatically loaded into main memory when the system is booted.
Name Resolution The process of looking up a name is called name resolution. consider a path name such as Ni. The name label v is looked up in the directory table, and which returns the identifier of the node to which label v refers. Resolution then continues at the identified node by looking up the name label g. in its directory table, and so on. resolution stops at the last node referred to by label l;.
Name Resolution 1.Closure Mechanism Knowing how and where to start name resolution is generally referred to as a closure mechanism. It is necessary to already have access to the directory table of the root node of the appropriate naming graph. Example: use of the string " ". Many people will not know what to do with these numbers, unless they are told that the sequence is a telephone number. That information is enough to start the resolution process, in particular, by dialing the number.
Name Resolution 1.LINKING An alias is another name for the same entity. There are basically two different ways to implement an alias. The first approach is to simply allow multiple absolute paths names to refer to the same node in a naming graph. Examples: /keys and /home/steen/keys. This approach uses hard links.
Name Resolution 1.LINKING This principle corresponds to the use of symbolic links. The path name/home/steen/keys, which refers to a node containing the absolute path name /keys, is a symbolic link to node n5.
Name Resolution 2. MOUNTING This is used when there is a mounted file system. The directory node in the foreign name space is called a mounting point. The mounting point is the root of a name space. To mount a foreign name space in a distributed system requires at least the following information: 1.The name of an access protocol. 2.The name of the server. 3.The name of the mounting point in the foreign name space.
Name Resolution 2. MOUNTING Now consider the name /remote/vu/mbox. This name is resolved by starting in the root directory on the client's machine and continues until the node /remote/vu is reached.
Name Resolution 2. MOUNTING The process of name resolution then continues by returning the URL nfs:l/flits.cs. vu.nl//home/steen/ Which in turn leading the client machine to contact the file server flits.cs. vu.nl by means of the NFS protocol, and to subsequently access directory /home/steen. Name resolution can then be continued by reading the file named mbox in that directory, after which the resolution process stops.
Implementation of Name Space Name Space forms heart of naming service. Name Servers implements Name Space. Large scale systems implement name space hierarchically. Such name spaces are partitioned into logical layers. 3 layers are used for such name spaces.
Name Space Distribution Name spaces for large ‐ scale distributed systems are organized hierarchically. Name space is distributed and has three logical layers 1. Global layer: highest level nodes (root and its children). Represent groups of organizations, rare changes 2. Administrational layer: nodes managed by a single organization. Typically one node per department, infrequent changes 3. Managerial layer: nodes that changes frequently. Nodes representing hosts, user ‐ defined directories and files. Zone: part of the name space implemented by a separate name server
Name Space Distribution
A comparison between name servers for implementing nodes from a large-scale name space partitioned into a global layer, an administrational layer, and a managerial layer.
Implementation of Name Resolution Each client has access to a local name resolver, which is responsible for ensuring that the name resolution process is carried out. There are 2 ways to implement Name Resolution.
1. Iterative Name Resolution Here Name Resolver handles complete name to root server. The root server will resolve the path name as far as it can, and return the result to the client. At that point, the client passes the remaining path name to that name server. This process is iterated until result is obtained. Example: root: «nl, VU, CS, ftp, pub, globe, index.html>
1. Iterative Name Resolution
2. Recursive Name Resolution Instead of returning each intermediate result back to the client's name resolver. With recursive name resolution, a name server passes the result to the next name server it finds. It will finally return index.html
2. Recursive Name Resolution
Advantages and Drawbacks 1.Advantages Caching results is more affective compared to iterative resolution. Communication costs may be reduced. 2. Drawbacks High performance name servers may be required to handle complete resolution of a path name.
Comparision
THANK YOU!!