RARP (Reverse Address Resolution Protocol)

【譯名】無

【說明】此協定的功能在於把真實的硬體位址對映到網路的位址。它只應用在某些網路上。

Raw device

【譯名】原始設備

【說明】又稱為字元設備(character device)。即所有不包括在區塊設備中(block device)的設備。詳見 character device 一辭。

【參考】character device, block device

Raw input mode

【譯名】原始輸入模式

【說明】當字元由鍵盤輸入後,它會被儲存於原始佇列(raw queue)。假設輸入的資料需要回應(echo),則這些字元會被拷貝一份到輸出佇列。假使標準輸入模式被起動,則在原始佇列中的字元會以行為單位,拷貝至標準(canonical) 輸入佇列,同時一些輸入的前置處理(pre-process)即在此刻進行。在標準輸入模式下,輸入字元會儲存在輸入佇列中,直到這一行結束,也就是碰到新行字元或 EOT 時,系統才將內部的資料作一總整理,而後再輸出。例如看到 "#" 這個字元時,系統會將前一個字元以及 "#" 字元予以刪除。這就是所謂的「標準輸入模式」(canonical input mode)。但在某些應用上,系統不能等到一行全部完成後再輸出,例如螢幕編輯器(screen editor)即是一例。也就是說原始的輸入與輸出是完全相同的,換言之,「行」的觀念在此已經沒有了。此稱之為「原始輸入模式」。

Raw input mode.gif (3705 bytes)

【附註】在 BSD 4.3 版將「標準輸入模式」稱之為 cooked mode

Raw socket

【譯名】原始插座

【說明】此類插座提供了一種可以直接存取低層通訊協定(protocol)的一種方式。

【參考】socket, protocol

Read locking

【譯名】讀取鎖定

【說明】讀取鎖定與檔案鎖定十分類似,兩者間的主要區別是在所作用的範圍之大小,例如用戶甲在寫入資料至檔案A時,即將檔案A予以鎖定則前面所說的資料重覆寫入之問題就不會出現,可是如果該檔很大並且常有多個處理程序同時存取,那麼一次鎖定整個檔案在有效率上似乎並不經濟,為此新版的 UNIX 特別提供了讀取鎖定的功能,所謂的記錄鎖定並不是指邏輯上的錄,例如 struct 內的某一欄位,它指的是檔案中的一段區間(a range of a file)。

Real user ID

【譯名】真實使用者識別碼

【說明】「真實使用者識別碼」是取自於使用者在一開始建立帳戶時系統所接受到的使用者識別碼。其目的是用來記錄用戶是否正在使用系統以及系統資源被取用的情形。

【參考】effective user ID, process ID

Record locking

【譯名】記錄鎖定

【說明】檔案鎖定與記錄鎖定的區別主要是在所作用之範圍的大小,例如用戶甲在寫入資料至檔案A時,照理講將檔案A予以鎖定是正確的處置方式,可是如果該檔很大並且常有多個處理程序同時存取,那麼一次鎖定整個檔案在使用效率上很不經濟,因為其他的處理程序都得等這個處理程序釋被鎖定後才能存取該檔,而各個處理程序所要存取的可能根本是檔案中不相同的部份,為此新版的 UNIX 特別提供了記錄鎖定的功能,所謂的記錄鎖定並不是指邏輯上的錄,例如 struct 內的某一欄位,它指的是檔案中的一段區間(a range of a file)。

redirection

【譯名】轉向、重導、導向

【說明】由於 UNIX 系統將整個輸出輸入次系統(I/O sub-system)視為檔案系統的一部份,因此使用者對任何設備的操作都可以同於對檔案的操作。重導符號提供了用戶將對終端機的輸出及對鍵盤的輸入改為同於一般檔案的作業方示,其操作方式就是利用重導符號來作為用戶與檔案之間的界面。

UNIX 系統提供了三種不同的重導符號讓使用者使用:

【範例】

$cat file_1 file_2 > file_12

<表示將檔案 file1 file2 的內容合併後送到檔案 file_12 儲存。>

$sort < file_1

<表示將檔案 file1 的內容送給命令 sort 作排序,而後把結果輸出至螢幕。>

$sort < file_1 > result

<表示將檔案 file1 的內容送給命令 sort 作排序,而後把結果輸出至檔案 result,舊有檔案內容將不存在。>

$sort < file_1 >> result

<表示將檔案 file1 的內容送給命令 sort 作排序,而後把結果附加在檔案 result 原有內容的後面。>

Region

【譯名】區域

【說明】當核心程式將可執行檔案載入主記憶體,並且載入處理程序(process)時,至少應包含三個部份,即虛擬記憶體中的本文(text)、資料(data)和堆疊節區(stack segment),稱為處理程序的一個區域(region)。可對應到分頁表格(page table),再去存取記憶中實際的位址。本文和資料區域相對應於可執行檔案的本文和資料節區 (section),但堆疊區域卻會自動建立(creat),而其大小是核心程式(kernel)在執行時期作動態聯結。

【參考】process, kernel, page table

relative path

【譯名】相對路徑

【說明】UNIX 系統的檔案是由一種樹狀結構目錄所構成的。目錄本身亦為檔案,其儲存的內容為找尋其他檔案的相關資訊。從使用者觀點而言,我們可以透過兩種方式來找到所需檔案。第一種是「絕對路徑」的方式;第二種是「相對路徑」的方式。所謂的「相對路徑」是從現行目錄(current directory)開始,寫出到達該目的檔案的完全路徑名稱。

【範例】

$cd ../trevor

<改變使用者現在的目錄到與目前目錄平行的目錄 trevor 之下。>

$cd trevor

<改變到目前目錄的子目錄 trevor 下。>

【參考】root directory, absolute path

Remote file sharing

【譯名】遠端檔案共享

【說明】這是一種公用軟體程式。其主要功能是讓多部電腦能透過網路的方式,來達到資源共享的目的。

Resolver

【譯名】名稱解答器

【說明】網域名稱系統(DNS)採用主從模式 (client-server model) 主機稱為網域名稱主機,裝置許多檔案保存這些區域中各台機器的資料。客機則裝置名稱解答器,雖然稱為『解答』,但實際上是幫客機發出詢問,由主機來解答來自各台機器的詢問;不過由於它負責詢問並找到解答,因而得名。

【參考】DNS, client-server model

Restricted shell

【譯名】無

【說明】通常公司行號或教育機構會開放一些公眾帳戶給外人使用,為了保障系統的安全,於是有了 Restricted shell 的產生。

Restricted shell 簡稱 R shell。基本上,Restricted shell 的操作和 Bourne shell 相同﹐只是多了些對使用者的限制,其限制共有四項:

• 目錄更換指令: cd 不允許使用。

• shell 環境變數: PATH 不允許修改。

• 路徑或指令名有 "/" 者不准使用。

• 輸出重導符號 ">" 與 ">>" 不准使用

欲使用 Restricted shell 時,只需下 rsh 指令,或在叫用 sh 時加上 -r 的選項。

【參考】Bourne shell

RFS (Remote File System)

【譯名】無

【說明】RFS AT&T 1986 年所公佈的一套網路檔案管理系統,但是這套系統一直都無法和 NFS 一樣的普遍,可能的原因有二:一是 NFS 進入市場較早,二是 RFS 的使用授權方式十分苛刻。下列為 RFS 的一些特性:

• 對用戶來說 RFS 具透通性(Transparent)。

• 支援無硬碟系統(diskless system)。

• RFS 僅能在 UNIX 環境下使用。

• RFS 提供較 NFS 為佳的網路安全性。

【參考】NFS

RIP (Routing Information Protocal)

【譯名】擇路資訊協定。

【說明】此協定的主要功能是在維護一個資料庫,此資料庫包含了選擇路徑的相關資訊,以便能將 IDP 的封包正確地送往另一位址。

【參考】IDP

root directory

【譯名】根目錄

【說明】UNIX 的檔案系統(file system)是一個階層式的結構,一個目錄下可以有任意數目的檔案與次目錄,而最高層的目錄即稱為「根目錄」。

【參考】file system, home directory

Round robin with multilevel feedback

【譯名】無

【說明】為了達到真正公平分享資源的理念,UNIX 採用一種改良過的排程方式謂之「round robin with multilevel feedback」;這種排列方式在處理程序釋出 CPU 時會查驗該處理程序為何釋出 CPU 的使用權,是時間配額屆滿?還是因為在進行輸出輸入?還是已經執行完畢了?依據釋出的狀況之不同,排程程式(scheduler)會將處理程序放到不同的佇列,而各個佇列各有其不同的優先等級,一個因為進行磁碟輸出輸入而釋放 CPU 的處理程序,由於它使用 CPU 的時間較少,因此它會被置入一個優先等級較高的佇列,使它能比一個前次用盡 CPU 時間配額的處理程序優先獲得下次使用 CPU 的機會。換句話說,一個處理程序的優先等級並非一成不變的,它會在每隔一段時間後被重新評估一次,而評斷的標準是基於直至目前為止的 CPU 使用時間、記憶體的取用總數等,由於處理程序程序會依使用資源的情形游移於各優先等級不同的佇列中,當 CPU 有空時,排程程式會從優先等級最高的佇列開始檢視,如果佇列中有一個以上的處理程序,則排程程式依「round robin」的方示挑選要執行的處理程序,基於上述的作業方式,故稱「round robin with multilevel feedback」。

這樣的排程策略對於交談式(interactive)的程式特別適合,以一個文書編輯器為例,它所使用的 CPU 時間很少,大多數的時候都是在等待鍵盤的輸入資料與檔案(或印表機)的輸出輸入,因而它多半是在系統時間配額用完前就自動釋放 CPU 的使用權,所以它的優先等級會一直維持很高的層級,因此當用戶一輸入資訊時,文書編輯器便能立即獲得 CPU 的使用權,使得用戶能對系統的回應時間感到滿意,反之一個大量耗費 CPU 的處理程序,它的優先等級卻會江河日下(因為每次都耗盡系統時間配額以致於優先等級越來越低)。UNIX 的排程策略是這樣的:一個未用完系統時間配額的處理程序將會維持它原有的優先層級,而一個用盡所有時間配額的處理程序它的優先等級將被降低,一個輪到它使用 CPU,可是它卻沒有用的處理程序(inactive),其優先等級被提昇。

RPC (Remote Procedure Call)

【譯名】遠端程序呼叫。

【說明】這是指位於本地端主機(local host)中的某個處理程序呼叫位於遠端主機的某個處理程序的動作。普通處理程序(Ordinary Procedure CallLocal Procedure Call)呼叫會將一個程式的控制流程由一個處理程序轉交到另一個處理程序。如果該處理程序(process)的本文(Context)是在同一台機器上執行就稱為處理程序間通訊(Inter-Process communication,簡稱 IPC),倘若該應用程式可以在另一台機器上執行,而這台機器經由某種通訊機制連接到本地端的機器上。這就叫做 RPC

SVR4 RPC 程式庫允許一個應用程式使用任何它想要與伺服器處理程序(該伺服器處理程序實現了遠端程序)通訊的傳輸。傳輸提供者可以是非固接式(connectionless),也可以是固接式的(connection-oriented),但所選擇的傳輸型態會影響遠端可以執行的程序。

SVR4 中的 RPC 設施由四個部份組成:RPC程式庫(RPC library)、XDR 程式庫、rpcgen 轉譯器、rpcbind 伺服器。RPC 程式庫提供執行 RPC 通訊協定所必須的函式,使得伺服器以及用戶端處理程序可以使用 RPCXDR 程式庫提供了用來將欲傳輸之資料轉換成與機器無關的格式的常式。rpcgen 轉譯器會將寫在 RPC 語言中的程式規格轉換成可以互相通訊的用戶端與伺服器。rpcbind 伺服器提供一個服務對通訊埠號映射設施。

【參考】InterProcess Communication