Packet

【譯名】封包

【說明】在網路中傳輸資料所使用的型態,它把資料切割成一小塊一小塊(chunk) ,再加上欲送往之目的地的電腦位址,然後透過網路分別傳送出去。

Packet Switching

【譯名】封包交換

【說明】通訊網路可以分為線路交換(circuit switching)與封包交換(Packet switching) 兩種。封包交換採用的作法是所有欲傳輸資料的電腦都共同使用一個網路連線,但是資料必須切割成許多小塊,這些小塊的資料稱為封包(Packet) 是傳輸資料的最小單位。由於每個封包單獨傳送,所以每個封包都必須包含目的電腦的地址,很多的通訊協定也設定封包包含自己(傳送端)的地址。

OSI 模型的七層,對資料的處理單位都有些不同。封包是網路層的資料處理單位,而網路層也負責封包的傳送控制。

【參考】packet

page daemon

【譯名】無

【說明】page daemon UNIX 系統的一個核心處理程序(kernel process)。其處理程序識別碼(process ID)為 2。其功能是在採用需求分頁的虛擬記憶體(virtual memory)管理系統中,將處理程序位址空間的資料寫入次要儲存設備(secondary storage device),或是由次要儲存設備把資料寫到處理程序的位址空間。

【參考】process, kernel process, process ID, BSD

Page fault

【譯名】分頁錯誤、分頁失誤

【說明】當處理程序參考到其虛擬位址空間的分頁(page)時,由於該分頁此刻並不在主記憶體中,故系統會產生分頁失誤的訊息,接下來系統就會採取需求分頁(demand paging)的動作。

【參考】demand paging

Page table

【譯名】分頁表格、頁表

【說明】UNIX 系統現行管理記憶體的方式是利用分頁(page)的記憶體管理策略而建構成的虛擬記憶系統。

在此系統下,主記憶體被切割成同樣大小的段落,每個段落便稱為一個分頁,每個分頁的大小從 512 個位元組到 4096 個位元組不等,完全視系統而異。

而分頁表格的作用就是將虛擬記憶體的分頁映射到真實記憶體的分頁(physical memory page)。有的作業系統書籍將之稱為分頁映射表(page map table,簡稱 PMT)。

Panic

【譯名】無

【說明】所謂的「panic」是指系統核心(kernel)偵測到一個無法復原的嚴重錯誤。針對此,BSD UNIX 系統的作法是重新啟動整個機器,或者是重新修補檔案系統(file system)的損壞部份,然後再回到正常的作業模式底下。

【參考】kernel, BSD, file system

Parent process

【譯名】父處理程序

【說明】當使用者以fork系統呼叫產生一個新的處理程序(process),這個處理程序會承襲其親代(parent)的特性。此時叫用 fork 系統呼叫的那個處理程序稱為父處理程序,而衍生(fork)出的那個處理程序即為子處理程序(child process)。

【參考】process, child process

Password

【譯名】密碼、通行碼、通行密碼

【說明】通行碼與每位使用者一個的簽入識別碼(login ID)為 UNIX 維護系統安全的最基本設施。對於通行碼的審慎選取可以防止 有心人的侵入企圖。

通行碼的設立要符合下列原則:

1. 至少需六個字母。在有些系統會要求八個字母或更多。而且密碼中一定要有數值及非英文字母的特殊字元。例如 #! 等。

2. 如果更改舊有通行碼,則需和舊有通行碼有三個字母以上的差別。

3. SVR4開始,系統會對通行碼的時效作管制(aged)。一個通行碼在使用過一段時期後,系統會強迫用戶更換新的通行碼,而且在一定時間內該通行碼不可改回原來的內容。SVR4 更提供了所謂 shadow password(詳見 shadow password)的功能,以提昇系統安全性至橙皮書 C2 層級。

【參考】shadow password, Trust Computer System Secuirt Evaluation Criteria

passwd file

【譯名】密碼檔、通行碼檔

【說明】「密碼檔」儲存所有已取得帳號的用戶之相關資料。一般說來每筆資料包含有下列幾項欄位:

  1. 用戶名稱 user name
  2. 加密過的通行碼 encrypted password
  3. 用戶識別碼 user ID
  4. 用戶群識別碼 user group ID
  5. 註解 comment
  6. 啟用/簽入目錄 home directory
  7. 簽入shell login shell

下例為 passwd 檔中某一用戶記錄的資料:

passwd file.gif (4996 bytes)

由於「密碼檔」的檔案存取權限(file permission 是所有的人都可以讀取該檔的資料。因此,雖然檔案中的密碼部份是經過系統刻意轉換過的奇怪文字,但為了防止弊端的產生,自SYSTEM V 3.1 版以後,還是將原先的 "/etc/passwd" 檔分割成兩部份,變成了 "/etc/shadow" "/etc/passwd" 。其中 shadow 檔就存放了密碼部份,和一些新增加的資料。同時,它的讀寫權限也就僅僅開放給用戶本人使用。/etc/shadow 的典型內容如下例:

passwd file2.gif (3962 bytes)

【參考】home directory, user ID, group IDlogin, password, file permission

【附註】到 SVR4 時又增加了三個欄位,這些是:

1. 密碼到期前多少天要警告使用者。

2. 允許使用者可以多少天不簽入系統。

3. 密碼的終止使用日期

PCB (process control block)

【譯名】處理程序控制區塊

【說明】PCBprocess control block)是系統為了掌握所有的處理程序(process)之執行狀態,所使用的一種資料結構。以 VAX 的機型而言,它的「處理程序控制區塊」就是由一般暫存器、堆疊指標、程式計數器、程式狀態字、基底暫存器....等所組成的。

【參考】process

Peer process

【譯名】對等處理程序

【說明】為了降低網路設計的複雜性,大部份的網路都是由一連串的層次所組成,而在不同機器的對等層次中個別的處理程序皆可被稱為對等處理序。

PEX (Packet Exchange Protocol)

【譯名】封包交換協定

【說明】它在 XNS 架構中是用來作一種標準的資料流服務站,可靠性低且非固接式,但有重複傳送的功能。在 4.3BSD 中,使用者程式庫利用 IDP 資料報插座(datagram socket)來達成此項功能。

【參考】packet, XNS, BSD, IDP, datagram socket

physical block

【譯名】實際區塊

【說明】系統實際存放在次儲存體及處理資料的單位。一般是用1024個位元組為實際區塊的大小,但系統不同作法就不一。

【參考】logical block

PID (Process Identifier)

【譯名】處理程序識別碼

【說明】為處理程序識別碼( process ID )的縮寫,詳見 process ID 一辭。

Piggybacking

【譯名】背負法

【說明】為了解決雙向傳輸線路中一端送往另一端的資料框架(data frame)與認可框架(acknowledge frame)碰撞的問題,遂有此法的產生。它是把回覆用的認可訊息放在同時要送出的資料框架中,如此便可省下送出另一個認可框架而避免線路使用權的爭奪戰。

Pipe

【譯名】管線、管道

【說明】是一種簡單的平行處理方式。一個命令的標準輸出可以重導到管線,而管線又可重導成另一個命令的標準輸入。管線可分為具名管線(named pipe)與一般管線(unnamed pipe 或直接叫 pipe),兩者間不同處請參閱下圖:

處理程序的使用資格 沒有限制 必須有親子關係
檔案名稱 有檔名,用 ls -l 可看到其檔案屬性為 p 無檔案名稱,為系統所建立的暫時檔
資料讀寫的次序 先進先出 先進先出
記憶體的使用方式 僅能使用直接區塊 僅能使用間接區塊
建立的方式 使用 mknod() 系統呼叫 使用 pipe() 系統呼叫
刪除的方式 使用 rm 指令或是unlink()系統呼叫 在使用完後會被自動刪除

Priority

【譯名】優先權,優先等級

【說明】處理程序的優先權決定了系統執行此程序的先後順序以及取用系統資源的範圍。一般而言,系統賦予處理程序的優先權均有其固定的預設值,而使用者只能「降低」而不能「提高」,只有超級使用者(super user)可兼具此兩者的權利。 UNIX 提供了 nice 這個指令可用來修改處理程序的優先權。

【參考】superuser

process

【譯名】處理程序、程序、行程

【說明】處理程序是由指令、使用者資料以及系統資料節區 (segment) 所共同組成的一個程式執行環境(environment)。 而程式則是一個普通檔案(ordinary file)。 它包含了指令及資料,這些指令與資料是用來初始(initial 處理程序的指令與資料節區。因此可以說處理程序是個正在執行中的程式加上一些額外的資料。比方說暫存器的值、程式堆疊與系統堆疊、被開啟檔案的數量及輸出輸入裝置的狀態等。因此處理程序其實是由指令及上述各項資料組合而成的。關於後者我們稱它為處理程序的本文(context)。

處理程序是個動態的物件(object),不同的時間其內容都會不一樣。例如子處理程序的產生即會改變處理程序的內含。在某個特定時刻的處理程序之內容被稱為處理程序的影像 (process image) 。而 AT&T 出版的 UNIX 系統使用者手冊,對處理程序所下的『官方』定義為『一個正在執行中的處理程序之影像』(the execution of a process image)。換言之,程式是靜態的、死的;而程序是動態的、鮮活的。

為了執行一個程式, UNIX 的核心程式(kernel)會去建立一個新的處理程序,這個處理程序將提供該目的程式完整的執行環境與一切所需的資料。 UNIX 系統裡產生處理程序的系統呼叫為 fork(),執行程式的系統呼叫是 exec()

【參考】kernel, context switching

Process control block

【譯名】處理程序控制區塊

【說明】請參考「PCB」一辭。

【參考】PCB

Process dispatch latency time

【譯名】處理程序配置遲滯時間

【說明】它是指從系統接到即時處理程序的中斷(interrupt)需求,到開始執行該處理程序間的時間差(interval),通常我們以這段時間的長短來評估即時系統的效率。決定系統處理程序配置遲滯時間的因素有二項:中斷遲滯時間(interrupt latency)與本文置換時間(context switching time)。

Process group

【譯名】處理程序群組

【說明】UNIX 系統允許相關的處理程序來組成一個群組(group)。舉例來說,

一個複雜的資料庫管理系統就可能會產生出許多的處理程序來從事「並行」(concurrent)的讀寫作業。

任何一個處理程序,只要它不具有處理程序群組首領的身份,都可以自行建立一個處理程序群,而成為此群組的群組首領(group leader)。或者是脫離原有的處理程序群,加入另外一個群體裡。

一般而言,一個新建立的處理程序會加入其父處理程序(parent process)所屬的處理程序群組內。

【參考】process, process group leader, parent process

Process group leader

【譯名】處理程序群組首領

【說明】在處理程序群組(process group)中有一個處理程序為此群組的群組首領,然後此群組中的每個處理程序均保有它的識別碼,放在處理程序群組識別碼(process group ID)欄位中,用以識別出此群。

【參考】process, process group

Process ID

【譯名】處理程序識別碼

【說明在 UNIX 系統下,每一個處理程序都有一個唯一的識別碼,我們稱之為處理程序識別碼,它也簡稱為 pid。UNIX 系統所啟動的第一個處理程序為 init,它的處理程序識別碼為 1,其他的處理程序都是由它所衍生(fork)出來。

【參考】process

process lifetime

【譯名】處理程序生命週期

【說明】當程式中使用 fork 系統呼叫(system call 時,一個新處理程序的生命週期就由此開始了。 直到用了 "exit" 這個系統呼叫後才告終止。使用 exit 系統呼叫所終止的處理程序是屬於自然結束,但處理程序也可能因外力而停止執行。 例如接收到 SIGTERMSIGHUPSIGQUITSIGINT 等訊號(signal)。

當處理程序結束後,系統會作以下的後續動作:

1. 重新設定任何未做完的計時計數器。

2. 釋放該處理程序所掌握的資源。

3. 關閉所有開啟的檔案。

4. 接管所有未完成的子處理程序(child process)。看是要讓它們繼續執行,或者結束。

【參考】system call, signal, child process

process of victim selection

【譯名】選取要犧牲的處理程序

【說明】當系統偵側出將有死結(dead lock)的情況發生時,必須要求部份的處理程序暫時將資源釋出,以便讓其餘的處理程序能順利取得資源繼續進行工作。至於該讓何者先釋出資源?而何者優先執行?這個過程即稱作「選取要犧牲的處理程序」。最常用的方法就是依處理程序的優先等級(priority)來作決定。

Process state

【譯名】處理程序狀態

【說明】一般而言,處理程序在主記憶體中有幾種不同的存在狀態。例如執行狀態、準備狀態、睡眠狀態、終止狀態等。其間的關係如下圖所示。使用者可用 ps -l 命令查詢所有存在的處理程序之狀態。

Process state.gif (3835 bytes)

【參考】process, time slice

process structure

【譯名】處理程序結構

【說明】一種由系統核心(kernel)所維護的資料結構,堶惘s了所有在系統內活動的處理程序之資料。這些資料是駐留(resident)在記憶體中的,不像「使用者結構」(user structure)會因為處理程序的移出(swapped out)而跟著移到儲存體上。

【參考】kernel

Process table

【譯名】處理程序

【說明】UNIX 系統所建立的每一個處理程序都會在核心程式裡的處理程序表中留有一筆記錄,這筆記錄記載著該處理程序關於排程、如何處理記號以及虛擬記憶體怎樣定址的資訊。

process termination

【譯名】處理程序終止

【說明】終止處理程序的執行計有五種方式:

1. 正常終止情況:

a) 在 main() 堸鶡 return 敘述。

b) 叫用 exit() 系統呼叫。

c) 叫用 _exit() 函式。

2. 異常終止情況:

a) 叫用 abort() 函式。

b) 被訊號所中止。

Profile

【譯名】啟始檔案、描述檔

【說明】在UNIX系統中,Bourne shell 底下的 .profile 檔案就等於 DOS 系統中的 autoexec.bat 檔案。在使用者簽入(login)系統後會自動執行。由於裡面也包括了一些使用者所需環境內容的設定,因此又有人稱它為「環境設定檔案」。

【參考】Bourne shell, login

【附註】在 C shell 下,此檔案名稱為 .login。

Protocol

【譯名】通訊協定

【說明】所謂「通訊協定」就是用以規定電腦間在作通訊時所必須共同遵守的格式與時序,使彼此資料的傳輸能夠統一化。最著名的網路協定是「國際標準組織」所訂定的七層「開放系統交互參考模式」,簡稱 OSI 。

protocol family

【譯名】通訊協定族群

【說明】在單一的網路架構上,所有相關通訊協定(protocol)的集合體稱之。舉例來說:TCP、UDP、IP、ICMP 就是 DARPA Internet 網路的通訊協定族群其中一支。

【參考】protocol, TCP/IP

【附註】DARPA(Defense Advanced Research Projects Agency)高級國防研究專案局是美國國防部內的一個單位。

protocol switch structure

【譯名】通訊協定交換機構

【說明】「通訊協定交換結構」裡面儲存了系統所能夠支援全部通訊協定(protocol)的進入點/項目(entry)。

【參考】protocol

Pseudo driver

【譯名】虛擬驅動程式

【說明】「虛擬驅動程式」與「設備驅動程式」的不同之處在於:它並不包含實體的週邊設備。像多工器(multiplexor)就是。

【參考】device driver

Pseudo terminal

【譯名】虛擬終端機

【說明】指一對設備,一個是主要(master),另一個為屬從(slave)。當一個處理程序開啟虛擬終端機設備,則會得到兩個檔案描述詞。從屬部份代表使用者處理程序的介面。每個輸入到主要虛擬終端機的資料都會輸入到從屬虛擬終端機;同樣地,每個輸入到從屬虛擬終端機的資料也都會輸入到主要虛擬終端機。這個功能從 SVR3.2 以後才有提供,而 BSD 4.3 版的 UNIX 系統是最早提供此一功能的 UNIX 系統,BSD 中的 script 指令就是利用虛擬終端機的功用所撰寫的。

典型使用虛擬終端機是先開始主要虛擬終端機,然後 fork 一份拷貝,由子處理程序開始從屬虛擬終端機。

Pseudo trminal.gif (4693 bytes)

【參考】file descriptor, line descipline, device driver

【附註】pty 為 pseudo terminal 的縮寫。

PSN (Packet Switch Node)

【譯名】分封交換節點。

【說明】這是一種硬體設備的名稱,主要是在分封交換網路的建構上被使用。每個節點會利用一種通訊協定(protocol)來提供慷可靠的、可作流量控制的、分封交換的功能。

【參考】packet, protocol

punctual input mode

【譯名】無

【說明】同「原始輸入模式」一辭。

【參考】raw input mode