版權(quán)歸原作者所有,如有侵權(quán),請聯(lián)系我們

[科普中國]-命名服務(wù)

科學(xué)百科
原創(chuàng)
科學(xué)百科為用戶提供權(quán)威科普內(nèi)容,打造知識科普陣地
收藏

概述基本概念

命名服務(wù)將名稱映射為對象引用。這種“名稱-引用”的關(guān)系稱為名稱綁定。同一個對象引用可以使用不同的名稱多次被存儲,但每一個名稱只能準(zhǔn)確的確定一個引用。一個命名上下文(naming context)就是一個存儲名稱綁定的對象。也就是說,每一個上下文對象實(shí)現(xiàn)一個從名稱到對象引用的映射表,這個表中的名稱可以表示某個應(yīng)用程序的對象引用,也可以表示命名服務(wù)中的另一個上下文對象。這就意味著,如同文件系統(tǒng),上下文就好像是一個有層次的表單:命名上下文相當(dāng)于一個目錄,用來存儲指向其它目錄和文件的名稱,一個上下文和名稱綁定的層次結(jié)構(gòu)稱為命名圖1。

名稱與屬性名稱:由位和字符組成的字符串,用來指向一個實(shí)體。

三種類型的名稱:地址,標(biāo)識符,用戶友好的名稱。
地址:與實(shí)體相關(guān)的訪問點(diǎn)的名稱。
標(biāo)識符:用來唯一標(biāo)識實(shí)體的名稱。
用戶友好的名稱:由字符串表示,由人來使用。

屬性:基本值(如整數(shù))或者自身的名稱。

聯(lián)編:名稱和對象之間的聯(lián)結(jié)。

名稱的映射:實(shí)現(xiàn)由名稱到實(shí)體的對應(yīng)1。

命名機(jī)制作用命名機(jī)制的作用:實(shí)現(xiàn)對資源的共享,重定向等等;從分布式OS和應(yīng)用的角度,對資源進(jìn)行訪問。

現(xiàn)有的一些計(jì)算機(jī)系統(tǒng),對不同類型的對象使用獨(dú)立的命名原則,如文件名與其它對象名之間差別較大,分布式系統(tǒng)應(yīng)使用統(tǒng)一的命名原則可以識別各個可用的對象1。

目標(biāo)命名機(jī)制的目標(biāo) :
1.命名機(jī)制應(yīng)可以識別全局范圍的對象;
2.應(yīng)至少支持兩類不同的標(biāo)識符;方便用戶使用的用戶級;便于機(jī)器存儲表示的系統(tǒng)級;以上兩級的機(jī)制應(yīng)各自獨(dú)立,且可以高效地進(jìn)行轉(zhuǎn)換。
3.在整個系統(tǒng)范圍內(nèi)的唯一標(biāo)識符;
4.在發(fā)送具體的消息前,初始化和轉(zhuǎn)換標(biāo)識符時交換消息的數(shù)量??;
5.命名機(jī)制應(yīng)可以對對象進(jìn)行重定位;負(fù)載平衡要求對象應(yīng)該是可移動的;

6.名字和地址之間的變換不一定是一一對應(yīng)的,還可以是一對多;
7.命名機(jī)制應(yīng)支持對同一對象多的使用;
8.命名機(jī)制應(yīng)允許用戶對同一對象定義多個局部的標(biāo)識符;
9.命名機(jī)制應(yīng)允許多個不同的對象共用同一個標(biāo)識符(進(jìn)程組);
10.分布式系統(tǒng)中使用的獨(dú)立命名機(jī)制的數(shù)目必須是最小的1。

命名方式命名方式分為一般的命名方式和分布式系統(tǒng)中的命名方式。

一般的命名方式在計(jì)算機(jī)系統(tǒng)中,每個對象一般有兩個名字,一個是由用戶識別的文本名(符號名),另一個是由系統(tǒng)使用的內(nèi)部名。內(nèi)部名可以是該對象的實(shí)際位置,也可以是查詢該對象之地址的一種表示形式。通過某種映射,系統(tǒng)可以把用戶定義的符號名轉(zhuǎn)換成相應(yīng)的內(nèi)部名1。

分布式系統(tǒng)中的命名方式1.分布式系統(tǒng)的透明性

系統(tǒng)的透明性(transparency)是指系統(tǒng)的內(nèi)部細(xì)節(jié)對用戶是隱藏的。一個真正透明的分布式系統(tǒng)的用戶把該系統(tǒng)看成是一個統(tǒng)一的整體。例如,它可以任意移動系統(tǒng)中的某個文件而不必改變文件的名字。

分布式系統(tǒng)的透明性主要包含以下方面:
名字透明性:一個對象的名字不依賴于系統(tǒng)中的站點(diǎn),每個對象有一個全局惟一的名字,不同站點(diǎn)使用同一個名字訪問同一個對象。
位置透明性:對象的名字是獨(dú)立于該對象位置的,這樣,與一個名字相關(guān)的對象可從一站點(diǎn)遷移到另一站點(diǎn)而不必改變其名字。

程序執(zhí)行的透明性:在響應(yīng)一個用戶提出的“執(zhí)行某個程序”的請求時,操作系統(tǒng)可在系統(tǒng)內(nèi)任何可用的處理機(jī)上調(diào)度所指程序的執(zhí)行,并對用戶保持這種透明性。
存取透明性:存取一個對象與與該對象的位置無關(guān)。存取透明性不僅保證一個進(jìn)程可從一處理機(jī)遷移到另一處理機(jī)上運(yùn)行,而且還可以實(shí)現(xiàn)將一個任務(wù)分配后,使其各子任務(wù)在不同的處理機(jī)上并發(fā)執(zhí)行。

并發(fā)存取透明性:一個對象的用戶通常不知道還有其他用戶也在并發(fā)存取該資源,即用戶得到了這種假象——他是在互斥存取該對象。
進(jìn)程誘明性:每一進(jìn)程就像在一臺機(jī)器上運(yùn)行時那樣去識別所有其他進(jìn)程。這就要求有一個大的惟一的進(jìn)程名空間,使系統(tǒng)能可靠地對運(yùn)行在任意站點(diǎn)上的進(jìn)程發(fā)送信息并獲取進(jìn)程狀態(tài)。對用戶而言,編寫程序就像為一臺機(jī)器編寫程序一樣,而寫好的程序則能在多臺機(jī)器上運(yùn)行。

復(fù)制透明性:某個對象的用戶不知道該對象是否是復(fù)制的,即系統(tǒng)對用戶提供了對象的單一副本。
故障透明性: 系統(tǒng)可對用戶隱藏“系統(tǒng)的某些成分已經(jīng)故障”這一事實(shí)。當(dāng)然,用戶可通過系統(tǒng)性能的衰減而察覺到這一點(diǎn)。
全局透明性:系統(tǒng)的邊界對用戶完全透明,用戶像使用單機(jī)一樣使用分布式系統(tǒng)。

文件系統(tǒng)透明性:文件可存放在系統(tǒng)中的任何站點(diǎn)、文件有多少副本、最新版本是多少、如何更新均由系統(tǒng)解決,多副本間的一致性由系統(tǒng)自動協(xié)調(diào)。用戶則可用存取本地資源同樣的方式存取遠(yuǎn)程文件。

性能透明性(又稱網(wǎng)際透明性):這是一個綜合要求,簡單地說是指使訪問遠(yuǎn)程資源與訪問本地資源所需的開銷之差小到可忽略的程度?;蛘哒f,用戶不應(yīng)感到由于遠(yuǎn)程存取而帶來過多的性能衰減。

命名方案與透明性問題極為相關(guān),系統(tǒng)的透明性含了下面的事實(shí):資源的位置不應(yīng)嵌入其名字中;名字應(yīng)該是全局惟一的,相同的名字應(yīng)該有相同的效果,不管在哪個站點(diǎn)上使用,它們都應(yīng)該有相同的含義。

2.分布式系統(tǒng)的命名方案

設(shè)計(jì)命名方案的一個基本觀點(diǎn)是:名字是依賴于位置還是獨(dú)立于位置。
分布式系統(tǒng)中常用的命名方案有絕對命名、相對命名和層次式命名三種。
由絕對命名方案命名的名字是全系統(tǒng)范圍惟一的、無二義性的。在機(jī)內(nèi),這類名字通常是由時鐘或計(jì)數(shù)器之值產(chǎn)生的位串。
由相對命名方案命名的名字依賴于使用它的上下文。對于不同的使用者,一個對象的名字可以是不同的,或者說,一個對象的名字不惟一。

層次式命名方案用如下方式組織系統(tǒng)中的對象名:對象被分劃成若干組;每組給定全局惟一的組名;每組中的每個對象在組內(nèi)給定惟一的名字;一個組中對象名還可按此方式進(jìn)一步分劃成若干子組2。

分布式系統(tǒng)中的命名服務(wù)系統(tǒng)1.命名服務(wù)系統(tǒng)的功能

命名服務(wù)系統(tǒng)管理著一個聯(lián)編數(shù)據(jù)庫,其中存儲著文本名(可讀的)及其相關(guān)的屬性。命名服務(wù)系統(tǒng)支持的主要操作是解析一個名字——在該數(shù)據(jù)庫中查找給定名字的相關(guān)屬性。

命名服務(wù)系統(tǒng)有以下功能:通過管理名字在系統(tǒng)的地址去定位命名過的對象;創(chuàng)建、刪除、改變對象的名字;改變對象的位置,以支持對象在系統(tǒng)中的遷移;利用對象名字來支持對象的共享;創(chuàng)建一個對象組;從組中刪除成員或?qū)⒊蓡T加入其中;枚舉組中的成員;測試組中成員之間的關(guān)系;借助組名共享資源或共享服務(wù)程序;
支持對象組的遞歸結(jié)構(gòu);完成外部名(符號名)到內(nèi)部名(系統(tǒng)名)的映射工作。

2.命名服務(wù)系統(tǒng)的設(shè)計(jì)方式

設(shè)計(jì)名字服務(wù)器一般有中央方式、復(fù)制方式和分劃方式三種途徑。
中央方式:全系統(tǒng)僅有一個(中央)名字服務(wù)器,系統(tǒng)中的所有服務(wù)程序都由它來尋址和定位。

復(fù)制方式:每個站點(diǎn)都有一個名字服務(wù)器的副本,用以管理該站點(diǎn)上的所有服務(wù)程序及本站點(diǎn)與其他站點(diǎn)間相互請求的服務(wù)信息。

分劃方式:若系統(tǒng)由若干子系統(tǒng)(子網(wǎng))組成,則對于每個子系統(tǒng),用一個名字服務(wù)器管理本子系統(tǒng)上的所有服務(wù)程序及本子系統(tǒng)與其他子系統(tǒng)相互請求的服務(wù)信息;若系統(tǒng)的命名空間可根據(jù)某種方式來分劃,則對于每個經(jīng)這樣分劃后的實(shí)體,用單獨(dú)的或復(fù)制式的名字服務(wù)器管理;將命名空間組織成層次結(jié)構(gòu)來管理2。

評論
科普5d5135acc689c
大學(xué)士級
命名服務(wù)將名稱映射為對象引用。這種“名稱-引用”的關(guān)系稱為名稱綁定。同一個對象引用可以使用不同的名稱多次被存儲,但每一個名稱只能準(zhǔn)確的確定一個引用。
2023-05-27