distribute system 5

Names are used to refer to a variety of resources such as
– Computers
– Services
– Remote objects
– Files
– Users

What is a name used for?
– to identify on a particular resource out of many (e.g., URL: Uniform
Resource Locator)
– to share a resource with other processors (e.g., printer address)
– to locate entities independent of their current location (e.g., email address)

Name types:

Address
– The name of an access point of an entity
– An entity can offer more than one access point, e.g. many phone numbers
to reach the same person
– An entity may easily change an access point, or an access point may be
reassigned to a different entity, e.g. IP address.
– Inflexible and human unfriendly

Identifier
– To uniquely identify an entity
– Address can not be used as an identifier
– A program-interpreted identifier does not need to be human-friendly but
can simply be a sequence of numbers, like:
• Remote object references, NFS file handles, etc.

Human-friendly names
– A human-friendly name represents an entity in some form that presents a
meaning for human, like:
• File name: /etc/password
• Internet domain name: usyd.edu.au
– Generally represented as a character string

– A name is resolved when it is translated into data about the named
resource of object, often to invoke an action upon it
– A binding is the association between a name and an (attribute of an)
object

Broadcasting does not scale with network size as it becomes
inefficient

Forwarding pointers
– When an entity moves from A to B, it leaves behind in A a reference to its new
location at B
– A client can look up the current address by following the chain of forwarding
pointers
– Long chains (expensive) for a highly mobile entity
– All intermediate locations will have to maintain the chain of pointers as long as
needed
– Vulnerability to broken links
– E.g. RPC

Home-based approaches
– A home location (often the place where an entity was created) keeps tack of the
current location of an entity
– Increased communication delay
– Home location must exist/contactable all the time
– E.g. mobile IP

Hash function H are used to produce a hash h of fixed length
given a message m: h = H(m)
– One-way function: computationally infeasible to find an input m that
corresponds to an output h, whereas computing h from m is easy
– Weak collision resistant: given an input m and an output h, it is infeasible
to find another different input m’ such that H(m) = H(m’)

– Distributed lookup:
– Iterative lookup: a node requested to look up a key returns to the requester the
address of the next node found
– Recursive lookup: a node requested to look up a key forward the lookup request
to the next node

The boot block is loaded into main memory at system boot time
– The superblock has info of the FS (size, unallocated blocks, unused
inodes)
– Inodes (i.e., index nodes) have indexes starting at 0 (for the root) and
have info about where to find their file data on disk, ownership.
– Each directory is represented as a file as well

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章