1. 程式人生 > >計算機作業系統——學習筆記(下)

計算機作業系統——學習筆記(下)

第六章 檔案管理

基於檔案系統的概念,可以把資料組成分為資料項、記錄和檔案三級。
檔案型別
按用途分類:
①系統檔案:由系統軟體構成。
②使用者檔案:使用者的檔案。
③庫檔案:標準子例程及常用的例程。
按檔案中資料的形式分類: ①原始檔:由源程式和資料構成的。
②目標檔案:源程式經過編譯,尚未連結的目的碼“.obj” ③可執行檔案:目的碼經過連結後的檔案“.exe”。
按存取控制屬性分類:
①只執行檔案 ②只讀檔案 ③讀寫檔案
按組織形式和處理方式分類:
①普通檔案:由ASCII碼或二進位制碼組成的字元檔案
②目錄檔案:由檔案目錄組成的檔案(檢索執行下屬檔案)
③特殊檔案:系統中的各類I/O裝置

檔案系統模型

最底層是物件及其屬性;中間層是對物件進行操縱和管理的軟體集合;最高層是檔案系統提供給使用者的介面。
①物件及其屬性:檔案、目錄、磁碟儲存空間。
②對物件操縱和管理的軟體集合(核心)。
③檔案系統的介面:命令介面、程式介面。

檔案操作
①最基本的檔案操作:建立、刪除、讀、寫檔案、截斷檔案、設定檔案的讀/寫位置
②檔案的“開啟”和“關閉”操作
所謂“開啟”,是指系統將指名檔案的屬性(包括該檔案在外存上的物理位置)從外存拷貝到記憶體開啟檔案表的一個表目中,並將該表目的編號(或稱為索引)返回給使用者。以後,當用戶再要求對該檔案進行相應的操作時,便可利用系統所返回的索引號向系統提出操作請求。系統這時便可直接利用該索引號到開啟檔案表中去查詢,從而避免了對該檔案的再次檢素。如果使用者已不再需要對該檔案實施相應的操作時,可利用“關閉”(close)系統呼叫來關閉此檔案,OS 將會把該檔案從開啟檔案表中的表目上刪除掉。
③其他檔案操作
允許使用者直接設定和獲得檔案的屬性、有關目錄的操作、實現檔案共享的系統呼叫和用於對檔案系統進行操作的系統呼叫等。

檔案的邏輯結構:從使用者觀點出發所觀察到的檔案組織形式。
檔案的物理結構:又稱為檔案的儲存結構,是指檔案在外存上的儲存組織形式。

檔案邏輯結構的型別

有結構檔案
組織方式:
①順序檔案:由一系列記錄按某種順序排列所形成的檔案。可以按照不同的順序進行排列:串結構、順序結構。
最佳應用場合是在對諸記錄進行批量存取。
②索引檔案:建立一張索引表,併為每個記錄設定一個表項。 可為變長記錄檔案建立一張索引表,對主檔案中的每個記錄,在索引表中設有一個相應的表項,用於記錄該記錄的長度L及指向該記錄的指標。索引表本身是一個定長記錄的順序檔案。
主要用於對資訊處理的及時性要求較高的場合。
③索引順序檔案:為順序檔案建立一張索引表,在索引表中為每組中的第一個記錄建立一個索引項,其中含有該記錄的鍵值和指向該記錄的指標。有效地克服了變長記錄檔案不便於直接存取的缺點,而且所付出的代價也不算太大。

無結構檔案
即流式檔案。其長度以位元組為單位。對流式檔案的訪問,則是採用讀/寫指標來指出下一個要訪問的字元。

直接檔案和雜湊檔案
對於直接檔案,則可根據給定的記錄鍵值,直接獲得指定記錄的實體地址。換言之,記錄鍵值本身就決定了記錄的實體地址。
雜湊檔案是目前應用最為廣泛的一種直接檔案。它利用Hash 函式(或稱雜湊函式),可將記錄鍵值轉換為相應記錄的地址。但為了能實現檔案儲存空間的動態分配,通常由Hash 函式所 求得的並非是相應記錄的地址,而是指向一目錄表相應表目的指標,該表目的內容指向相應記錄所在的物理塊。

外存分配方式

①連續分配
連續分配要求為每一個檔案分配一組相鄰接的盤塊。一組盤塊的地址定義了磁碟上的一段線性地址。在採用連續分配方式時,可把邏輯檔案中的記錄順序地儲存到鄰接的各物理盤塊中。此時的物理檔案稱為順序檔案。
利用緊湊的方法,將盤上所有的檔案緊靠在一起,把所有的碎片拼接成一大片連續的儲存空間。
優點:順序訪問容易,順序訪問速度快。
缺點:要求有連續的儲存空間,必須事先知道檔案的長度。

②連結分配
在採用連結分配方式時,可通過在每個盤塊上的連結指標,將同屬於一個檔案的多個離散的盤塊連結成一個連結串列,把這樣形成的物理檔案稱為連結檔案。
優點:離散分配,消除了外部碎片,提高了外存空間的利用率;當檔案動態增長時,可動態地再為它分配盤塊,故而無需事先知道檔案的大小。此外,對檔案的增、刪、改也十分方便。
缺點:不能支援高效的直接存取,檔案分配表(FAT)需佔用較大的記憶體空間。

③索引分配
單級索引分配
為每個檔案分配一個索引塊(表),再把分配給該檔案的所有盤塊號都記錄在該索引塊中,因而該索引塊就是一個含有許多盤塊號的陣列。
優點:支援直接訪問,不會產生外部碎片。
缺點:花費較多的外存空間。對於小檔案採用索引分配方式時,其索引塊的利用率將是極低的。

多級索引分配
當檔案太大,應為索引塊再建立一級索引,稱為第一級索引,即系統再分配一個索引塊,作為第一級索引的索引塊,將第一塊、第二塊……等索引塊的盤塊號填入到此索引表中,這樣便形成了兩級索引分配方式。如果檔案非常大時,還可用三級、四級索引分配方式。

混合索引分配方式
將多種索引分配方式相結合,系統既採用了直接地址,又採用了一級索引分配方式,或兩級索引分配方式,甚至還採用了三級索引分配方式。

目錄管理

檔案目錄也是一種資料結構,用於標識系統中的檔案及其實體地址,供檢索時使用。
檔案控制塊:基本資訊、存取控制資訊及使用資訊。
索引結點
在有的系統中,如UNIX系統,便採用了把檔名與文 件描述資訊分開的辦法,亦即,使檔案描述資訊單獨形成一個稱為索引結點的資料結構, 簡稱為i結點。在檔案目錄中的每個目錄項僅由檔名和指向該檔案所對應的i結點的指標所構成。
磁碟索引結點
這是存放在磁碟上的索引結點。每個檔案有惟一的一個磁碟索引結點。
記憶體索引結點
這是存放在記憶體中的索引結點。當檔案被開啟時,要將磁碟索引結點拷貝到記憶體的索引結點中,便於以後使用。

目錄結構
單級目錄結構
這是最簡單的目錄結構。在整個檔案系統中只建立一張目錄表,每個檔案佔一個目錄項,目錄項中含檔名、副檔名、檔案長度、檔案型別、檔案實體地址以及其它檔案屬性。
優點
簡單且能實現目錄管理的基本功能——按名存取。
缺點
查詢速度慢、不允許重名、不便於實現檔案共享(只適用於單使用者環境)。

兩級目錄
可以為每一個使用者建立一個單獨的使用者檔案目錄UFD。這些檔案目錄具有相似的結構,它由使用者所有檔案的檔案控制塊組成。此外,在系統中再建立一個主檔案目錄MFD;在主檔案目錄中,每個使用者目錄檔案都佔有一個目錄項,其目錄項中包括使用者名稱和指向該使用者目錄檔案的指標。
優點:克服了單機目錄的缺點,並且提高了檢索目錄的速度;在不同的使用者目錄中,可以使用相同的檔名;不同使用者還可使用不同的檔名來訪問系統中的同一個共享檔案。

多級目錄結構
多級目錄結構又稱為樹型目錄結構,主目錄在這裡被稱為根目錄,把資料檔案稱為樹葉,其它的目錄均作為樹的結點。
路徑名
在該路徑上從樹的根(即主目錄)開始,把全部目錄檔名與資料檔名依次地用“/”連線起來,構成該資料檔案的唯一路徑名。
當前目錄:程序當前訪問的工作目錄
相對路徑名:從當前目錄開始直到資料檔案為止所構成的路徑名。
絕對路徑名:從樹根開始的路徑名稱為絕對路徑名。
優點
查詢速度更快,同時層次結構更加清晰,能夠更加有效地進行檔案的管理和保護。在多級目錄中,不同性質、不同使用者的檔案可以構成不同的目錄子樹,不同層次、不同使用者的檔案分別呈現在系統目錄樹中的不同層次或不同子樹中,可以容易地賦予不同的存取許可權。
缺點
在多級目錄中查詢一個檔案,需要按路徑名逐級訪問中間節點,這就增加了磁碟 訪問次數,無疑將影響查詢速度。

目錄查詢技術
線性檢索法(順序檢索法)
Hash方法
系統利用使用者提供的檔名並將它變換為檔案目錄的索引值,再利用該索引值到目錄中去查詢,這將顯著地提高檢索速度。對於使用了萬用字元的檔名,系統此時便無法利用Hash方法檢索目錄,因此,這時系統還是需要利用線性查詢法查詢目錄。

檔案儲存空間的管理

①空閒表法
空閒表法屬於連續分配方式,它與記憶體的動態分配方式雷同,它為每個檔案分配一塊連續的儲存空間,即系統也為外存上的所有空閒區建立一張空閒表,每個空閒區對應於一個空閒表項。
空閒盤區的分配與記憶體的動態分配類似,同樣是採用首次適應演算法、迴圈首次適應演算法等。系統在對使用者所釋放的儲存空間進行回收時,也採取類似於記憶體回收的方法,即要考慮回收區是否與空閒表中插入點的前區和後區相鄰接,對相鄰接者應予以合併。
②空閒連結串列法
空閒盤塊鏈
這是將磁碟上的所有空閒空間,以盤塊為單位拉成一條鏈。當用戶因建立檔案而請求分配儲存空間時,系統從鏈首開始,依次摘下適當數目的空閒盤塊分配給使用者。當用戶因刪除檔案而釋放儲存空間時,系統將回收的盤塊依次插入空閒盤塊鏈的末尾。
空閒盤區鏈
這是將磁碟上的所有空閒盤區(每個盤區可包含若干個盤塊)拉成一條鏈。在每個盤區上除含有用於指示下一個空閒盤區的指標外,還應有能指明本盤區大小(盤塊數)的資訊。分配盤區的方法與記憶體的動態分割槽分配類似,通常採用首次適應演算法。在回收盤區時,同樣也要將回收區與相鄰接的空閒盤區相合並。在採用首次適應演算法時,為了提高對空閒盤區的檢索速度,可以採用顯式連結方法,亦即,在記憶體中為空閒盤區建立一張連結串列。
③位示圖法
位示圖是利用二進位制的一位來表示磁碟中一個盤塊的使用情況。當其值為“0”時,表示對應的盤塊空閒;為“1”時,表示已分配。
優點
從位示圖中很容易找到一個或一組相鄰接的空閒盤塊。位示圖很小,佔用空間少,因而可將它儲存在記憶體中,從而節省了許多磁碟的啟動操作。
④成組連結法
在UNIX系統中採用的是成組連結法,這是將上述兩種方法相結合而形成的一種空閒盤塊管理方法,它兼備了上述兩種方法的優點而克服了兩種方法均有的表太長的缺點。

空閒盤塊的組織
空閒盤塊號棧用來存放當前可用的一組空閒盤塊的盤塊號(最多含100個號),以及棧中尚有的空閒盤塊號數N。

空閒盤塊的分配
首先檢查空閒盤塊號棧是否上鎖,如未上鎖,便從棧頂取出一空閒盤塊號,將與之對應的盤塊分配給使用者,然後將棧頂指標下移一格。若該盤塊號已是棧底,即 S.free(0),這是當前棧中最 後一個可分配的盤塊號。由於在該盤塊號所對應的盤塊中記有下一組可用的盤塊號,因此,須呼叫磁碟讀過程,將棧底盤塊號所對應盤塊的內容讀入棧中,作為新的盤塊號棧的內容,並把原棧底對應的盤塊分配出去(其中的有用資料已讀入棧中)。然後,再分配一相應的緩衝區(作為該盤塊的緩衝區)。最後,把棧中的空閒盤塊數減1並返回。

空閒盤塊的回收
將回收盤塊的盤塊號記入空閒盤塊號棧的頂部,並執行空閒盤塊數加1操作。當棧中空閒盤塊號數目已達100 時,表示棧已滿,便將現有棧中的100個盤塊號記入新回收的盤塊中,再將其盤塊號作為新棧底。

檔案共享與檔案保護

①基於索引結點的共享方式
檔案的實體地址及其它的檔案屬性等資訊放在索引結點中,在檔案目錄中只設置檔名及指向相應索引結點的指標。由任何使用者對檔案進行Append操作或修改, 所引起的相應結點內容的改變,都是其他使用者可見的,從而也就能提供給其他使用者來共享。
②利用符號鏈實現檔案共享
在新檔案中只包含被連結檔案F的路徑名。這樣的連結方法被稱為符號連結。新檔案中的路徑名則只被看作是符號鏈,當B要訪問被連結的檔案F且正要讀LINK 類新檔案時,此要求將被OS截獲,OS根據新檔案中的路徑名去讀該檔案,於是就實現了使用者B對檔案F的共享。
磁碟容錯技術
影響檔案安全的因素:人為、系統、自然。
措施
①通過存取控制機制來防止由人為因素所造成的檔案不安全性。
②通過磁碟容錯技術來防止由磁碟部分的故障所造成的檔案不安全性。
③通過“後備系統”來防止由自然因素所造成的不安全性。
第一級容錯技術 SFT-Ⅰ
用於防止因磁碟表面缺陷所造成的資料丟失。它包含雙份目錄、雙份檔案分配表及熱修復重定向和寫後讀校驗等措施。
第二級容錯技術 SFT-Ⅱ
用於防止由磁碟驅動器和磁碟控制器故障所導致的系統不能正常工作,它具體又可分為磁碟映象和磁碟雙工。
基於叢集技術的容錯功能
主要工作模式有三種:①熱備份模式;②互為備份模式;③公用磁碟模式。

資料一致性

事務
事務是用於訪問和修改各種資料項的一個程式單位。
事務記錄
用來記錄在事務執行時資料項修改的全部資訊。

恢復演算法可利用以下兩個過程::
①undo〈Ti〉。該過程把所有被事務 Ti修改過的資料恢復為修改前的值。
②redo〈Ti〉。該過程把所有被事務 Ti修改過的資料設定為新值。

引入檢查點的主要目的,是使對事務記錄表中事務記錄的清理工作經常化。在發生故障後,並不需要對事務記錄表中的所有事務記錄進行處理,而只需對最後一個檢查點之後的事務記錄進行處理。

併發控制
利用互斥鎖、共享鎖實現順序性。

重複資料的資料一致性問題
第一種方法是當一個檔案被修改後,可查詢檔案目錄,以得到其它幾個拷貝的索引結點號,再從這些索引結點中找 到各拷貝的物理位置,然後對這些拷貝做同樣的修改;第二種方法是為新修改的檔案建立幾個拷貝,並用新拷貝去取代原來的檔案拷貝。
盤塊號一致性的檢查
利用軟體方法構成一個計數器表,每個盤塊號佔一個表項,可有0,…,N-1項,N為盤塊總數。每一個表項中包含兩個計數器,分別用作空閒盤塊號計數器和資料盤塊號計數器。如果情況正常,則兩組計數器中對應的一對(計數器中的)資料應該互補。
連結數一致性檢查
配置一張計數器表,此時應是為每個文建立一個表項,其中含有該索引結點號的計數值。在進行檢查時,從根目錄開始查詢,每當在目錄中遇到該索引結點號時,便在該計數器表中相應檔案的表項上加1。當把所有目錄都檢查完後,便可將該計數器表中每個表項中的索引結點號計數值與該檔案索引結點中的連結計數 count 值加以比較,如果兩者一致,表示是正確的;否則,便是產生了連結資料不一致的錯誤。

第七章 作業系統介面

  1. 聯機使用者介面

作業系統是使用者與計算機硬體系統之間的介面,兩類介面:使用者介面、程式介面。
使用者介面分為兩類:聯機使用者介面、離線使用者介面。
聯機使用者介面:字元顯示式使用者介面、圖形化使用者介面。
字元顯示式使用者介面:命令列方式、批命令方式(.BAT檔案、Shell檔案)。
聯機命令的型別
①系統訪問類;②磁碟操作類;③檔案操作類;④目錄操作類;⑤通訊類;⑥其他命令。
鍵盤終端處理程式
①字元接收功能:面向字元方式、面向行方式。
②字元緩衝功能:專用緩衝區方式、公用緩衝池方式。
③回送顯示。
④螢幕編輯。
⑤特殊字元處理。

命令解釋程式
主要功能是先對使用者輸入的命令進行解釋,然後轉入相應命令的處理程式去執行。
命令解釋程式的作用
在螢幕上給出提示符,請使用者鍵入命令,然後讀入該命令識別命令,再轉到相應命令處理程式的入口地址,把控制權交給該處理程式去執行,並將處理結果送螢幕上顯示。
MS-DOS命令解釋程式的組成
常駐部分、初始化部分、暫存部分。

  1. Shell命令語言

UNIX的Shell是作為作業系統的最外層,也稱為外殼。它可以作為命令語言,為使用者提供使用作業系統的介面,使用者利用該介面與機器互動。
簡單命令
所謂簡單命令,實際上是一個能完成某種功能的目標程式的名字。命令可帶有引數表,用於給出執行命令時的附加資訊。命令名與引數表之間還可使用一種稱為選項的自變數,用破折號開始,後跟一個或多個字母、數字。
①進入與退出系統
使用者的進入與退出過程,實際上是由系統直接呼叫Login及Logout程式完成的。
②檔案操作命令
顯示檔案內容命令cat,複製檔案副本的命令cp,對已有檔案改名的命令mv,撤消檔案的命令rm,確定檔案型別的命令file。
③目錄操作命令
建立目錄的命令mkdir,撤消目錄的命令rmdir,改變工作目錄的命令cd,改變對檔案的存取方式的命令chmod。
④系統詢問命令
訪問當前日期和時間命令date,詢問系統當前使用者的命令who,顯示當前目錄路徑名的命令pwd。

重定向與管道命令
重定向:用於改變輸入、輸出裝置的手段。
用重定向符“<”和“>”分別表示輸入轉向與輸出轉向。
在做輸出轉向時,若上述的檔案file2並不存在,則先建立它;若已存在,則認為它是空白的,執行上述輸出轉向命令時,是用命令的輸出資料去重寫該檔案;如果檔案file2事先已有內容,則命令執行結果將用檔案file1的內容去更新檔案 file2的原有內容。現在,如果又要求把file4的內容附加到現有的檔案file2的末尾,則應使用另一個輸出轉向符“>>”。

管道命令:用符號“|”來連線兩條命令,使其前一條命令的輸出作為後一條命令的輸入。
由UNIX系統來 “緩衝”第一條命令的輸出,並作為第二條命令的輸入。在用管道線所連線的命令之間,實現單向、同步執行。

通訊命令
①信箱通訊命令mail
mail命令被作為在UNIX的各使用者之間進行非互動式通訊的工具。
②對話通訊命令write
用這條命令可以使使用者與當前在系統中的其他使用者直接進行聯機通訊。
③允許或拒絕接收訊息命令mesg
選項n表示拒絕對方的寫許可(即拒絕接收訊息);選項y指示恢復對方的寫許可,僅在此時,雙方才可聯機通訊。

後臺命令
使用者可以在這種命令後面再加上“&”號,以告訴Shell將該命令放在後臺執行,以便使用者在前臺繼續鍵入其它命令。

  1. 系統呼叫

為了保證系統程式不被應用程式有意或無意地破壞,為計算機設定了兩種狀態:系統態(也稱為管態或核心態) 和使用者態(也稱為目態)。作業系統在系統態執行,而應用程式只能在使用者態執行。在實際執行過程中,處理機會在系統態和使用者態間切換。相應地,現代多數作業系統將CPU的指令集分為特權指令和非特權指令兩類。
特權指令
在系統態時執行的指令,是關係到系統全域性的指令。
非特權指令
在使用者態時執行的指令。一般應用程式所使用的都是非特權指令。

系統呼叫
由作業系統捕獲到該命令後,便將CPU的狀態從使用者態轉換到系統態,然後執行作業系統中相應的子程式(例程),完成所需的功能。執行完成後,系統又將CPU 狀態從系統態轉換到使用者態,再繼續執行應用程式。
系統呼叫在本質上是應用程式請求OS核心完成某功能時的一種過程呼叫。但它 是一種特殊的過程呼叫,它與一般的過程呼叫有下述幾方面的明顯差別:
①執行在不同的系統狀態。
②狀態的轉換通過軟中斷進入。
③返回問題。
④巢狀呼叫。

中斷機制
系統呼叫是通過中斷機制實現的,並且一個作業系統的所有系統呼叫都通過同一個中斷入口來實現。

系統呼叫的型別
①程序控制類系統呼叫
建立和終止程序的系統呼叫、獲得和設定程序屬性的系統呼叫、等待某事件出現的系統呼叫。
②檔案操縱類系統呼叫
建立和刪除檔案、開啟和關閉檔案、讀和寫檔案。
③程序通訊類系統呼叫
訊息傳遞方式和共享儲存區方式。
④裝置管理類系統呼叫
主要用於實現申請裝置、釋放裝置、裝置I/O和重定向、獲得和設定裝置屬性、邏輯上連線和釋放裝置等功能
⑤資訊維護類系統呼叫
主要用來獲得包括有關係統和檔案的時間、日期資訊、作業系統版本、當前使用者以及有關空閒記憶體和磁碟空間大小等多方面的資訊。

POSIX(基於UNIX的可移植作業系統介面)標準
POSIX定義了標準應用程式介面(API),用於保證編制的應用程式可以在原始碼一級上在多種作業系統上移植執行。只有符合這一標準的應用程式,才有可能完全相容多種作業系統,即在多種作業系統下都能夠執行。
POSIX標準定義了一組過程,這組過程是構造系統呼叫所必須的。通過呼叫這些過程所提供的服務,確定了一系列系統呼叫的功能。

系統呼叫的實現
①中斷和陷入硬體機構
把中斷分為外中斷和內中斷。所謂外中斷,是指由於外部裝置事件所引起的中斷,內中斷則是指由於CPU內部事件所引起的中斷。內中斷(trap)也被譯為“捕獲”或“陷入”。通常,陷入是由於執行了現行指令所引起的;而中斷則是由於系統中某事件引起的,該事件與現行指令無關。由於系統呼叫引起的中斷屬於內中斷,因此把由於系統呼叫引起中斷的指令稱為陷入指令。
不同的系統呼叫對應不同的陷入向量,在進行陷入處理時,根據陷入指令中的陷入向量,轉入實現相應的系統呼叫功能的子程式,即陷入處理程式。

系統呼叫號和引數的設定
如何將系統呼叫的引數傳遞給陷入處理機構和系統內部的子程式(過程),常用的實現方式有以下幾種:
陷入指令自帶方式
直接將引數送入相應的暫存器
引數表方式(當前大多數的 OS 中,如 UNIX 系統和 Linux 系統採用)

系統呼叫的處理步驟
①將處理機狀態由使用者態轉為系統態;
②由硬體和核心程式進行系統呼叫的一般性處理;
③將使用者定義的引數傳送到指定的地址儲存起來;
④分析系統呼叫型別,轉入相應的系統呼叫處理子程式;
⑤恢復被中斷的或設定新程序的CPU現場, 然後返回被中斷程序或新程序,繼續往下執行。
系統呼叫的功能主要是由系統呼叫子程式來完成的。

  1. UNIX系統呼叫

UNIX系統呼叫的型別
①程序控制
建立程序(fork)、終止程序(exit)、等待子程序結束(wait)、執行一個檔案(exec)、獲得程序ID、獲得使用者ID、程序暫停(pause)。
②檔案操縱
建立檔案(create)、開啟檔案(open)、關閉檔案(close)、讀和寫檔案read和write、連線和去連線(link和unlink)
③程序間的通訊
在UNIX系統中提供了一個用於程序間通訊的軟體包,簡稱IPC。它由訊息機制、共享儲存器機制和訊號量機制三部分組成。
④資訊維護
設定和獲取時間、獲得程序和子程序時間(times)、設定檔案訪問和修改時間(utime)、獲取當前UNIX系統的名稱(uname)。

被中斷程序的環境保護
在中斷和陷入發生後,是先經硬體陷入機構予以處理,再進入 trap.S, 然後再呼叫 trap.C 繼續處理。
在UNIX系統Ⅴ的核心程式中,有一個trap.S檔案,它是中斷和陷入總控程式。該程式用於中斷和陷入的一般性處理。
系統呼叫陷入後需處理的公共問題
①確定系統呼叫號
②引數傳送
③利用系統呼叫定義錶轉入相應的處理程式
④系統呼叫返回前的公共處理

  1. 圖形使用者介面GUI

Windows作業系統為例,在系統初始化後,作業系統為終端使用者生成了一個執行explorer.exe的程序,它執行一個具有視窗介面的命令解釋程式,該視窗為一個特殊的視窗,即桌面。採用的是事件驅動控制方式,使用者通過動作來產生事件以驅動程式工作。事件實質就是傳送給應用程式的一個訊息,使用者按鍵或點選滑鼠等動作都會產生一個事件,通過中斷系統引出事件驅動控制程式工作,對事件進行接收、分析、處理和清除。

第八章 網路作業系統

計算機網路概述

計算機網路的拓撲結構
①星形和樹形網路拓撲結構
②公用匯流排形和環形網路拓撲結構
③網狀形網路拓撲結構
在廣域網中最廣泛採用的是網狀形網路拓撲結構。它是通過點—點的連線方式,將分佈在不同地點的、用於實現資料通訊的分組交換裝置PSE(Packet Switch Equipment)連線在一起,形成一個不規則的網狀形網路。在邏輯上可分為通訊子網和資源子網兩部分。
網路拓撲結構的主要特點是它具有分佈性。減少了網路中的資訊流量,提高了可靠性,改善了網路的可擴充性。

  • 計算機廣域網路

(1)公用交換電話網
交換是指在兩個或多個結點之間建立暫時通訊線路(或鏈路)的操作。建立鏈路的操作是由交換中心完成的。兩個結點在通訊之前,須先建立連結,然後源結點把資訊通過該鏈路傳送給交換中心,再由交換中心把資訊轉發到目標結點,通訊結束後便拆除該連結。
(2)分組交換網
報文交換方式
基於“儲存—轉發”方式進行報文交換的,即數字式報文交換中心先將各使用者發來的電報接收下來,儲存在報文緩衝區中,經過適當的處理(如判別目標地址、報文優先順序等)後,為該報文選擇一條轉發路由,並將它送至該路由的輸出佇列中排隊,再依次將該佇列中各報文轉發出去。
分組交換方式
分組交換方式對報文交換方式的一種改進,它同樣是基於“儲存—轉發”方式來傳 輸資訊的。為了提高傳輸效率而將不定長的報分解成定長的(報文)分組(packet),然後以分組為單位進行傳輸。這種方式的好處是:簡化了對緩衝區的管理,加速了對資訊的傳輸,減少了傳輸出錯率以及重發資訊量。
分組交換網
以分組作為傳輸的基本單位。一個分組由分組頭和正文兩部分組成。正文是使用者要傳送的資訊,而分組頭則是用於控制該分組在網路中傳輸所必需的(控制)資訊。
(3)幀中繼網
①幀交換方式的幀中繼網
幀交換方式中傳輸的基本單位是幀,其長度是可變的,它們同樣都採用“儲存—轉發”方式。
信元交換方式的幀中繼網
網路中所傳輸和交換的基本單位是具有固定長度的“信元” 。當源幀交換器收到使用者裝置發來的幀後,便將之分割為多個定長的信元,在整個幀中繼網路中傳輸和交換時,都是以信元為基本單位,直至它們到達目標幀交換器後,才被重新組裝成幀。
(4)非同步傳輸模式(ATM)
ATM 是以信元(Cell)為基本傳輸單位的,在每個時間片中傳輸一個信元。由於信元的傳送無固定的週期,因而將這種傳輸方式稱為非同步傳輸方式。
在 ATM 交換方式中,主要提供的是面向連線的方式。特點:按時間片交換,定長交換,硬體實現(這無疑是ATM能獲得極高傳輸速率的重要原因)。

  • 計算機區域網絡

(1)基本型區域網
①乙太網
採用的是公用匯流排型網路拓撲結構,採用了帶有衝突檢測的載波偵聽多重訪問控制規程,亦即 CSMA/CD 規程。
②令牌環網
採用的是環形網路拓撲結構。
可通過兩種途徑來擴充套件LAN站點的平均頻寬。其一是提高LAN的傳輸速率; 另一途徑是減少每個網段上的站點數目。
(2)快速區域網
快速LAN是試圖通過提高LAN的傳輸速率來增加每個站點的頻寬的。
FDDI光纖環網、快速乙太網 100 BASE-T。
(3)交換式LAN
交換式LAN是通過減少每個區域網段上的站點數目的方法,來增加站點的平均頻寬。構建交換式區域網要比構建快速區域網更方便、經濟。
(4)千兆乙太網
千兆位乙太網仍採用CSMA/CD規程。在傳輸介質上,主要利用光纖系統。
(5)10 Gb/s乙太網
10 Gb/s乙太網仍採用CSMA/CD規程,只能工作在全雙工方式,因而不存在爭用匯流排問題。

網路互連
(1)網橋
網橋是用於連線同構LAN的網路互連裝置。同構LAN是指從應用層到邏輯鏈路控制子層這幾個層次中,相對應的層次採用相同的協議。
網橋所實現的功能應屬於MAC子層和物理層。從網橋的工作原理中不難得知網橋應具有以下功能:
①幀的傳送和接收;②緩衝管理;③協議轉換。
(2)路由器
路由器是在網路層上實現的互連,它能識別不同的網路層協議,如IP、IPX協議等,因而具有更強的互連能力。路由器的功能涉及到物理層、資料鏈路層和網路層,其主要功能如下:
①拆包和打包功能;②路由選擇功能;③進行協議轉換;④分段和重新組裝。
(3)閘道器
閘道器用於互連異構型網路。所謂互連異構型網路,一般是指不同型別的網路。在閘道器中至少要進行網路層、資料鏈路層及物理層的協議轉換,目前對異構型網路的互連,通常是在網路層或傳輸層上實現的。
異構型網路的互連:異構型LAN互連、LAN與WAN互連、WAN與WAN互連、LAN與主機互連。

網路體系結構

網路體系結構的基本概念
所謂網路體系結構,就是計算機網路的層次及其協議的集合。具體地說,網路體系結構是關於計算機網路應設定哪幾層,每個層次又應提供哪些協議的精確定義。至於這些功能應如何實現,則不屬於網路體系結構部分。

開放系統互連參考模型OSI/RM
開放系統(OSI)的內容
①開放系統之間的資訊交換,這是每一個單獨的開放系統的內部行為;
②開放系統之間相互合作去完成一項共同任務。
OSI/RM的組成
①開放系統;②應用實體;③連線;④物理介質。

分層
每個系統可被看成是由有序的一組子系統所組成。一個系統被分成若干個層次,其中第N層是由若干個處於第N層的子系統所組成。(N)子系統又包括了若干個(N)實體。在同一層中的實體為對等實體。除最高層外,分佈在(N)層中的(N)實體相互合作,向(N+1)層的實體提供(N)服務。

網路協議
(N)實體之間的合作,是受一個或幾個(N)協議支配的。(N)協議精確地規定了(N)實體如 何利用(N-1)服務協同工作去實現(N)功能。

資料單元
OSI把對等實體之間所傳送的資訊稱為(N)協議資料單元(N)-PDU,由兩部分組成:
①(N)協議控制資訊(N)-PCI,用它來協調兩個實體之間的連線操作;
②(N)服務資料單元(N)-SDU,其中存放由(N+1)實體提供的資料。

OSI七層模型
物理層、資料鏈路層、網路層、傳輸層、會話層、表示層、應用層。
其中低三層即物理層、資料鏈路層和網路層用於實現通訊子網中的資訊傳輸,或者說,它們是面向通訊的(一般稱之為通訊子網);最高三層即會話層、表示層和應用層嚮應用程序提供資源子網功能的服務,因此它是面向應用的;中間層即傳輸層,它是在高三層和低三層之間起橋樑作用。

  • 物理層

它建立在通訊介質(它不在OSI七層之內)的基礎上實現系統和通訊介質的介面功能,為資料鏈路實體之間透明的傳輸位元流提供服務。
功能:物理連結的建立與拆除;物理服務資料單元傳輸;物理層管理。

  • 資料鏈路層

在相鄰兩系統的網路實體之間建立、維持和釋放資料鏈路連線,以及正確無誤地傳輸資料鏈路服務資料單元。功能:資料鏈路連線的建立和釋放;資料鏈路協議資料單元的形成;定界和同步;順序和流量控制;差錯的檢測和恢復。

  • 網路層

主要涉及通訊子網及與主機的介面。網路層提供建立、維持和釋放網路連線的手段,以實現兩個端系統中傳輸實體間的通訊。功能:
網路連線服務;路徑選擇;網路連線多路複用;分組與組段;有序傳送和流量控制;差錯的檢測和恢復。
網路層提供的資料傳輸服務:無連線服務和麵向連線的服務,亦把它們稱為資料報服務和虛電路服務。

  • 傳輸層

傳輸層在低三層和高三層間起橋樑作用。該層消除了OSI高層所要求的服務與各類網路層所提供的服務之間的差異。具體表現在以下三方面:傳輸出錯率和建立連線的失敗率;資料傳輸速率、吞吐量和傳輸時延;分段和組段功能。

  • 會話層

對基本的傳輸連線服務進行“增值”,以提供一個能滿足多方面要求的會晤連線服務。會話層的“增值”是基於下述幾種應用要求的:半雙工通訊、更有效的差錯糾正機制、允許暫停傳送訊息。

  • 表示層

對不同系統的表示方法進行轉換,消除網內各應用實體之間的語言差異,以實現不同系統之間的資料交換。

  • 應用層

為應用程序訪問OSI環境提供了手段,並直接為應用程序服務,其它各層也都通過應用層嚮應用程序提供服務。應用層所提供的服務可分為兩類:公共應用服務元素(CASE)、特定應用服務元素(SAEA)

TCP/IP網路體系結構
TCP/IP模型
TCP/IP是一個協議族,其中包含了多種協議,由這些協議構成了TCP/IP的網路體系結構。

  • 網路訪問層

主要關注的是兩個端系統之間的資料通訊,以及兩個端系統藉以通訊的網路型別。所使用的網路可能是電路交換網、分組交換網、ATM網或者乙太網等。

  • 網路互連層

TCP/IP模型中最重要的層次,其中的IP協議主要用於異構型網路之間的相互連線和路由選擇。IP所提供的是面向無連線的、不可靠的傳輸服務。

  • 傳輸層

最主要的協議是傳輸控制協議TCP,它所提供的是面向連線的、可靠的端到端通訊機制。

  • 應用層

提供了許多用於支援各種應用程式的網路服務,相應地,在應用層就有許多應用層協議。

網際網路協議IP V4和IP V6
IP V4協議
IP V4 協議主要應解決三個問題,即定址、資料報的分段和重新組裝、路由選擇。
IP V6協議
修改:擴大了地址空間、增設了安全機制、提高了路由的轉發效率、增強了協議的可擴充性。

傳輸層協議TCP和UDP
傳輸控制協議TCP
TCP提供了面向連線的、可靠的端到端通訊機制。所謂面向連線,是指在端系統要傳送資料前,應先進行端到端之間的連線;在資料傳送完後,應拆除連線。而所謂可靠是指,即使網路層(通訊子網)出現了差錯,TCP協議採用了確認和重發措施,仍能正確地控制連線的建立、資料的傳輸和連線的釋放。

使用者資料報協議UDP
UDP協議是一種無連線的、不可靠的協議。它不要求網路中的端系統在資料傳送之前先建立端到端之間的連線;同樣,在資料傳送結束後,也不要拆除連線。在資料傳送過程中,無需對傳送的資料進行差錯檢測,也不必對丟失的資料進行重發等。

LAN網路體系結構
區域網參考模型LAN/RM
將資料鏈路層分為兩個子層:邏輯鏈路控制子層LLC和介質(媒體)訪問控制子層 MAC。
LLC子層是資料鏈路層的頂部子層,其主要功能是在任何一個源LLC實體和目標實體之間進行資訊傳輸。在LLC子層中提供了兩種型別的鏈路操作,其中型別1操作提供的是無連線服務,型別2操作提供的是面向連線的服務。
介質訪問控制MAC子層
推薦標準:CSMA/CD、令牌傳送。

Internet與Intranet

Internet的特徵:廣域性、廣泛性、高速性和綜合性。
IP地址
IP地址是在Internet中主機的地址標識。IP地址共有32位二進位制數,可以表示為4個十進位制數,在各十進位制數之間均用小數點隔開。每個主機的IP地址都是由網路標識和主機標識兩部分組成,可分為A、B、C三類。
在這裡插入圖片描述
域名
如果說,IP地址是面向網路的主機識別符號,域名則是面向使用者的主機識別符號。每個域名通常由幾個部分(段)組成,我們把域名中的每個段稱為一個子域,各子域之間用小數點分隔開。

Internet提供的傳統資訊服務
電子郵件(E-mail)服務、檔案傳輸服務(FTP)、遠端登入服務TELNET、電子公告板系統BBS。

Web服務
WWW的基本概念
WWW(Word Wide Web)稱為環球網或Web。它是當前最為流行的資訊服務型別。Web是一種資訊檢索工具。

超文字標識語言HTML
HTML是用於建立超文字檔案的程式語言。可用該語言向普通檔案中新增一些特殊的識別符號,使在所生成的檔案中,含有其它多種型別的檔案,如聲音,影象等,我們把這種檔案稱為超文字檔案。特點:通用性、簡易性、可擴充性、平臺無關性。

超文字傳輸協議HTTP
HTTP是一個通用的、面向物件的客戶(Web瀏覽器)/伺服器(Web伺服器)協議。該協議屬於TCP/IP協議族中的應用層通訊協議, 是建立在TCP協議基礎上的,依賴於TCP協議來確保傳輸的正確性。
WWW的基本特徵
對資訊資源訪問的分佈性、資訊形式的多樣性、使用者介面的統一性、Web服務應用的廣泛性。

客戶/伺服器模式

兩層結構客戶/伺服器模式的侷限性
不能適應應用不斷增多的情況;需要在客戶機與伺服器上安裝特定的高層(表示層和應用層)網路軟體。
只適用於較小規模的資訊系統和網路中。

三層結構的客戶/伺服器模式
在客戶機與伺服器之間,增設一中間實體,用該實體把客戶機與伺服器隔開。通常把這個中間實體稱為應用伺服器或中間層服務。把兩層客戶/伺服器模式客戶機中的大部分應用軟體和介面移到應用伺服器上,從而簡化客戶機。
應用伺服器的組成:與客戶機互動的介面、與資料(庫)伺服器互動的介面和事務邏輯。
事物邏輯的主要功能有兩個:功能一是將使用者的請求包轉換為對資料(庫)伺服器訪問的請求包,功能二是將資料(庫)伺服器返回的響應包轉換為對客戶機的響應包。
優點:①增加了系統的靈活性和可擴充性;②簡化了客戶機,降低了整個系統的費用;③使客戶機的安裝、配置和維護更為方便。
缺點:①開發難度大,開發週期長;②訪問效率低。
當資訊系統的規模較小時,最好採用兩層客戶/伺服器模式;對於大型資訊系統,通常都採用三層客戶/伺服器模式。

瀏覽器/伺服器模式
在基於Internet的Internet內部網路中,在Internet中再增加一個Web伺服器,它相當於前面所介紹的應用伺服器,此時的客戶機不是直接去訪問Internet中的(資料庫)伺服器,而是訪問Web伺服器,再由Web伺服器代理客戶機去訪問某個(些)(資料庫)伺服器。
Web瀏覽器、Web伺服器和資料庫伺服器三層的客戶/伺服器模式。通常把這種三層結構的模式稱為瀏覽器/伺服器模式。

網路作業系統的功能

  1. 資料通訊功能

①連線的建立和拆除;②報文的分解與組裝;③傳輸控制:傳送——等待方式、連續傳送方式;④流量控制;⑤差錯的檢錯與糾正

  1. 網路資源共享功能

①硬碟共享:以虛擬軟盤方式實現硬碟共享、以檔案服務方式實現硬碟共享。
②網路列印
在LAN中以假離線方式實現共享列印的原理。
共享列印模式:客戶/伺服器模式、對等模式。

  1. 分散式檔案系統DFS

先利用DFS工具來建立一個共享目錄,稱之為DFS根目錄; 再在此根目錄下建立若干個子目錄,這些子目錄既可以是常規的本地子目錄,也可以是一個個連線點。令這些連線點指向一些其它計算機系統上的共享目錄和檔案,這樣,就把人們感興趣的所有有關的共享目錄和檔案與DFS根目錄下的分散式檔案系統建立了連線。

應用互操作功能
①資訊的“互通性”
所謂資訊的“互通性”,是指在不同網路的結點之間能實現通訊。而妨礙資訊“互通性”的主要因素,是各個網路使用了各不相同的傳輸協議。
在完成了網路之間物理上的連線之後,應再採取措施實現資訊的互通。實現信 息的互通的一種有效方法是為互連網路中的所有各網站,都配置同一型別的傳輸協議。目前主要是利用TCP/IP來實現資訊的“互通性”。
②資訊的“互用性”
所謂資訊的“互用性”是指,在不同的網路中的站點之間能實現資訊的互用,亦即一個網路中的使用者能夠去訪問另一個網路檔案系統(或資料庫系 統)中的檔案(資料)。
網路檔案系統協議NFS
NFS(Network File System)是一種用於TCP/IP網路上的客戶/伺服器協議。在NFS 協議中包括一系列的命令和服務,這些命令和服務涉及到客戶訪問檔案伺服器上的檔案系統、共享印表機,以及檔案傳輸等,客戶還可利用NFS命令去控制和訪問遠端檔案系統;伺服器則是根據請求者的請求做相應的處理,並將結果返回給請求者。NFS在提供這些服務時,要利用外部資料表示協議XDR(和遠端過程呼叫 RPC。
外部資料表示協議XDR
XDR是處於OSI/RM中的表示層,主要用於處理在不同體系結構中的計算機之間的資料表示不一致時所出現的問題。
遠端過程呼叫 RPC
遠端過程呼叫是將單機環境下的過程呼叫延伸到分散式系統環境。

網路管理
網路管理的目標:①增強網路的可用性;②提高網路的執行質量;③提高網路的資源利用率;④保障網路資料的安全性;⑤提高網路的社會和經濟效益。
網路管理的功能:①配置管理;②故障管理;③效能管理;④安全管理;⑤計費管理。
網路管理模型
在現代網路中,普遍採用管理者/代理者模型。管理者是指駐留在管理系統中的,用於發出管理命令和接收代理者發來的通知的軟體;代理者是指駐留在受管物件系統中,用於接收並執行管理者發來的命令,提供受管物件的檢視併發出用於反映受管物件行為的通知的軟體。

網路作業系統提供的服務

域名系統(DNS)
域名系統同樣也採用倒樹形結構,它對應於域名的層次。在DNS的頂部是根伺服器,下面是若干個頂級域名伺服器,再下面是二級域名伺服器……。由上級域名伺服器管理屬於它的下一級域名伺服器。

域名解析
在域名系統中的每臺本地域名伺服器,都配置了一個域名解析器軟體。所謂域名解析,是指將主機域名轉換為對應的IP地址。
DNS是基於客戶/伺服器模式的系統,因此在查詢IP時,通常需要經過多次客戶和伺服器之間的互動。
提升解析效率:在每個域名伺服器中配置一個快取記憶體,伺服器應定期更新快取中的資料。
域名解析過程中客戶與伺服器的互動過程。
在這裡插入圖片描述

目錄服務
目錄服務管理的物件:
①物理裝置。通常為物理裝置建立一張目錄表,表中的每個目錄項中可以包括物 理裝置的識別符號、裝置型別。
②網路服務。
③使用者。

目錄服務的功能:
①使用者管理。保證核准使用者能夠方便地訪問各種網路服務,禁止非核準用戶的訪問。
②分割槽和複製功能。將一個龐大的目錄庫分成若干個分割槽,再將這些分割槽的目錄 庫分別複製到多臺伺服器中,且使每個分割槽被複制的位置儘量靠近最常使用這些物件的使用者,在有的目錄服務中還允許在一臺伺服器上存放多個不同分割槽的拷貝。
③建立、擴充和繼承功能。一些目錄服務採用了面向物件的結構。
④多平臺支援功能。對於一個大型企業網路,通常可能包含多種型別的網路工作站和網路伺服器,因而其目錄服務也存在著在管理物件上的差異。這就要求目錄服務具有跨越平臺的能力。

目錄服務帶來的好處:
①簡化了網路管理。只需為新伺服器在網路的目錄樹上建立一個新的目錄結點(項),這樣,網路上的所有使用者便都可以訪問該新伺服器。
②方便使用者入網和訪問。實現一個使用者一個賬戶的單一登入性,也允許使用者從網路中的任一結點對網路中的各個伺服器進行訪問。
③提高了網路的可用性。在目錄中都有所有重要裝置和所提供的服務的目錄項;當網路中有某個(些)伺服器發生故障時,目錄服務可以及時發現,並可將使用者對該伺服器的訪問請求轉送到其它伺服器上。

支援Internet 提供的服務
所謂支援Internet的功能是指,使用者能從客戶機上到Internet網上去瀏覽,並能取得Internet所提供的多種服務。

必須在客戶機和伺服器上都配置相應的軟體:
①Web瀏覽器軟體和Web伺服器軟體。
瀏覽器的基本功能是向 Web 伺服器提出服務請求,並顯示由 Web 伺服器製作的顯示資訊。伺服器軟體向Web瀏覽器提供Web服務的,由此形成了瀏覽器/伺服器模式。
②安裝E-mail、FTP等多種服務軟體
近幾年來所推出的新的瀏覽器軟體,已不是單純地實現瀏覽器功能,還包括許多其它的服務功能,如 E-mail服務、FTP服務、Telnet服務等。通常把這樣的瀏覽器軟體稱為瀏覽器套件。在近幾年所推出的Web伺服器軟體中,除了能提供Web 服務,同樣也包括了許多其它的服務功能。
③在客戶機上配置TCP/IP協議軟體。原因是實現資訊互通,建立在TCP/IP基礎上的Internet。

第九章 系統安全性

系統安全的基本概念

系統安全性的內容:物理安全、邏輯安全和安全管理。
邏輯安全是指系統中資訊資源的安全:資料機密性、資料完整性和系統可用性。
系統安全的性質:多面性、動態性、層次性、適度性。
系統安全威脅的型別:假冒使用者身份、資料擷取、拒絕服務、修改資訊、偽造資訊、否認操作、中斷傳輸、通訊量分析。
資訊科技安全評價公共準則(CC)
CC 的組成:資訊科技產品的安全功能需求定義,這是面向使用者的;安全保證需求定義,這是面向廠商的。

資料加密技術
資料加密技術是對系統中所有儲存和傳輸的資料進行加密,使之成為密文。
資料加密技術包括這樣幾方面的內容:資料加密、資料解密、數字簽名、簽名識別以及數字證明等。

數字加密模型
組成:明文、密文、加密(解密)演算法E(D)、金鑰K。
型別:
①按其對稱性分類:
對稱加密演算法。
在這種方式中,在加密演算法和解密演算法之間存在著一定的相依關係,即加密和解密演算法往往使用相同的金鑰;或者在知道了加密金鑰Ke後,就很容易推匯出解 密金鑰Kd。
非對稱加密演算法。
這種方式的加密金鑰Ke和解密金鑰Kd不同,而且難以從Ke推匯出Kd來。可以將其中的一個金鑰公開而成為公開金鑰,因而把該演算法稱為公開金鑰演算法。用公開金鑰加密後,能用另一把專用金鑰解密;反之亦然。
②按所變換明文的單位分類
序列機密演算法、分組加密演算法。

基本加密方法
①易位法:按照一定的規則,重新安排明文中的位元或字元的順序來形成密文,而字元本身保持不變。
位元易位、字元易位。
②置換法:按照一定的規則,用一個字元去置換(替代)另一個字元來形成密文。比較好的置換演算法是進行映像。

對稱加密演算法和非對稱加密演算法

  • 對稱加密演算法

最有代表性的對稱加密演算法是資料加密標準DES。
在DES中所使用的金鑰長度為64位,它由兩部分組成,一部分是實際金鑰,佔56位;另一部分是8位奇偶校驗碼。DES屬於分組加密演算法,它將明文按64位一組分成若干個明文組,每次利用56位金鑰對64位的二進位制明文資料進行加密,產生64位密文資料。
DES加密演算法屬於對稱加密演算法。加密和解密所使用的金鑰是相同的。DES的保密性 主要取決於對金鑰的保密程度。加密者必須用非常安全的方法(如通過個人信使)將金鑰送給接收者(解密者)。如果通過計算機網路傳送金鑰,則必須先對金鑰本身予以加密後再傳送,通常把這種演算法稱為對稱保密金鑰演算法。

  • 非對稱加密演算法

在對資料進行加密和解密時,使用不同的金鑰。每個使用者都儲存著一對金鑰,每個人的公開金鑰都對外公開。假如某使用者要與另一使用者通訊,他可用公開金鑰對資料進行加密,而 收信者則用自己的私用金鑰進行解密。這樣就可以保證資訊不會外洩。
由於對稱加密演算法和非對稱加密演算法各有優缺點,即非對稱加密演算法要比對稱加密演算法處理速度慢,但金鑰管理簡單,因而在當前新推出的許多新的安全協議中,都同時應用了這兩種加密技術。
一種常用的方法是利用公開金鑰技術傳遞對稱密碼,而用對稱金鑰技術來對實際傳輸的資料進行加密和解密。例如,由傳送者先產生一個隨機數,此即對稱金鑰,用它來對欲傳送的資料進行加密;然後再由接收者的公開金鑰對對稱金鑰進行加密。接收者收到資料後,先用私用金鑰對對稱金鑰進行解密,然後再用對稱金鑰對所收到的資料進行解密。

數字簽名
在利用計算機網路傳送報文時,可將公開金鑰法用於電子(數字)簽名來代替傳統的簽名。
數字證明書
由一個大家都信得過的認證機構CA為公開金鑰發放一份公開金鑰證明書,又把該公開金鑰證明書稱為數字證明書,用於證明通訊請求者的身份。

網路加密技術
①鏈路加密
鏈路加密,是對在網路相鄰結點之間通訊線路上傳輸的資料進行加密。鏈路加密常採用序列加密演算法,它能有效地防止由搭線竊聽所造成的威脅。兩個資料加密裝置分別置於通訊線路的兩端,它們使用相同的資料加密金鑰。
在鏈路加密方式中,不僅對正文做了加密,而且對所有各層的控制資訊也進行了加密。
在鏈路加密方式中,在相鄰結點間的物理通道上傳輸的報文是密文,而在所有中間結點中的報文則是明文,這給攻擊者造成了可乘之機,使其可從中間結點上對傳輸中的資訊進行攻擊。這就要求能對所有各中間結點進行有效的保護。
②端到端加密
端到端加密方式是在源主機或前端機FEP中的高層(從傳輸層到應用層)對所傳輸的資料進行加密。在整個網路的傳輸過程中,不論是在物理通道上,還是在中間結點中,報文的正文始終是密文,直至資訊到達目標主機後才被譯成明文,因而這樣可以保證在中間結點不會出現明文。在這種加密方式中,不能對報頭中的控制資訊(如目標地址、路由資訊等)進行加密。
上述兩種加密方式各有優缺點。一種比較好的網路加密方式是,同時採用鏈路加密和端到端加密,以取長補短。如利用端到端加密方式來使使用者資料以密文形式穿越各個中間結點,以保障使用者資料的安全;而利用鏈路加密方式則可使報頭中的控制資訊以密文形式在通訊通道中傳輸,使之不易受到攻擊。

認證技術

認證又稱為鑑別或驗證。它是指證被認證的物件(包括人和事)是否名符其實或者是否有效的一種過程。
身份認證目前主要依據下述三個方面的資訊來確定:所知、所有、個人特徵。

①基於口令的身份認證
利用口令確認使用者的身份是當前最常用的認證技術。
對口令機制的基本要求:口令長度適中、自動斷開連線、隱蔽回送顯示、記錄和報告。
一次性口令
口令被使用一次後,就換另一個口令。在採用該機制時,使用者必須提供記錄有一系列口令的一張表,並將該表儲存在系統中。系統為該表設定一指標用於指示下次使用者登入時所應使用的口令。
口令檔案
口令檔案用於儲存合法使用者的口令和與口令相聯絡的特權。
保證口令檔案安全性的最有效的方法是,利用加密技術。選擇一個函式來對口令進行加密,該函式f(x)具有這樣的特性:在給定了x值後,很容易算出f(x);然而,如果給定了f(x)的值,卻不能算出x的值。利用f(x)函式去編碼(即加密)所有 的口令,再將加密後的口令存入口令檔案中。當某使用者輸入一個口令時,系統利用函式f(x)對該口令進行編碼,然後將編碼(加密)後的口令與儲存在口令檔案中的已編碼的口令進行比較,如果兩者相匹配,便認為是合法使用者。
挑戰——響應驗證

②基於物理標誌的認證技術
基於磁卡的認證技術
磁卡是基於磁性原理來記錄資料的,在磁卡上所儲存的資訊,可利用磁卡讀寫器將之讀出。
基於IC卡的認證技術
在IC卡中可裝入CPU和儲存器晶片,使該卡具有一定的智慧。CPU用於對內部資料的訪問和與外部資料進行交換,還可利用加密演算法對資料處理。
根據在磁卡中所裝入晶片的不同可把IC卡分為以下三種類型:
儲存器卡:
只有一個E2PROM(可電擦、可程式設計只讀儲存器)晶片,不具有安全功能,只能作為儲值卡。
微處理器卡:
它除具有E2PROM 外,還增加了一個微處理器。已具有一定的加密設施,被廣泛用作信用卡。
密碼卡:
又增加了加密運算協處理器和RAM。能支援非對稱加密體質RSA,專門用於確保安全的智慧卡,在卡中儲存了一個很長的使用者專門金鑰和數字證明書。
將IC卡用於身份識別的方法明顯地優於磁卡,是因為:IC 卡具有更好的安全性、防偽性、保密性,且儲存容量大得多。

③基於生物標誌的認證技術
常用於身份識別的生理標誌:指紋、視網膜、聲音、手指長度。
生物識別系統的要求:識別系統的效能必須滿足要求;能被使用者接受;系統成本適當。
生物識別系統的組成:註冊部分、識別部分。

④基於公開金鑰的認證技術

  1. 申請數字證書:伺服器申請數字證書;客戶申請書證書。
  2. SSL握手協議:身份認證、協商加密演算法、協商加密金鑰。
  3. 數字加密和檢查資料的完整性。

控制訪問技術

保護域:程序對一組物件訪問權的集合。它規定了程序所能訪問的物件和能執行的操作。
程序和域間的靜態聯絡方式
在程序和域之間,可以一一對應,即一個程序只聯絡著一個域。在程序的整個生命期中,其可用資源是固定的,我們把這種域稱為“靜態域”。
程序和域間的動態聯絡方式
在程序和域之間,也可以是一對多的關係,即一個程序可以聯絡著多個域。在此情況下,可將程序的執行分為若干個階段,其每個階段聯絡著一個域,這樣便可根據執行的實際需要,來規定在程序執行的每個階段中所能訪問的物件。

訪問矩陣
利用一個矩陣來描述系統的訪問控制。訪問矩陣中的行代表域,列代表物件,矩陣中的每一項是由一組訪問權組成的。

具有域切換權的訪問矩陣
為了能對程序進行控制,同樣應將切換作為一種權力,僅當程序有切換權時,才能進行這種切換。

訪問矩陣的修改:拷貝權、所有權、控制權。
拷貝權和所有權都是用於改變矩陣內同一列的各項訪問權的,或者說,是用於改變在不同域中執行的程序對同一物件的訪問權。控制權則可用於改變矩陣內同一行中(域中)的各項訪問權,亦即,用於改變在某個域中執行程序對不同物件的訪問權。

訪問控制矩陣的實現
訪問控制表
對訪問矩陣按列(物件)劃分,為每一列建立一張訪問控制表ACL。在該表中, 已把矩陣中屬於該列的所有空項刪除,此時的訪問控制表是由一有序對(域,權集)所組成的。
域是一個抽象的概念,每個使用者是一個域,也可以每個程序是一個域。
訪問控制表也可用於定義預設的訪問權集。

訪問許可權表
把訪問矩陣按行(即域)劃分,便可由每一行構成一張訪問許可權表。換言之,這是由一個域對每一個物件可以執行的一組操作所構成的表。
訪問許可權表不能允許直接被使用者(程序)所訪問。
大多數系統都同時採用訪問控制表和訪問許可權表,在系統中為每個物件配置一 張訪問控制表。當一個程序第一次試圖去訪問一個物件時,必須先檢查訪問控制表,檢查程序是否具有對該物件的訪問權。如果無權訪問,便由系統來拒絕程序的訪問,並構成一例外(異常)事件;否則(有權訪問),便允許程序對該物件進行訪問,併為該程序建立一訪問許可權,將之連線到該程序。以後,該程序便可直接利用這一返回的許可權去訪問該物件,這樣,便可快速地驗證其訪問的合法性。當程序不再需要對該物件進行訪問時,便可撤消該訪問許可權。

計算機病毒

計算機病毒的基本概念
計算機病毒是一段程式,它能不斷地進行復制和感染其它程式,無需人為介入便能由被感染的程式和系統傳播出去。
計算機病毒的危害:
佔用系統空間、佔用處理機時間、對檔案造成破壞、使機器執行異常。
計算機病毒的特徵:
寄生性、傳染性、隱蔽性、破壞性

計算機病毒的型別
①檔案型病毒
現在大多數病毒都採用寄生的方法,把自己附著在正常程式上。
大多數病毒是被從程式的後面裝入的,並把檔案頭中起始地址指向病毒的始端。病毒也可以被放在檔案的中間,即充斥在程式裡的空閒空間中。當受感染的程式執行時,病毒將尋找其它可執行檔案繼續散播。
②記憶體駐留病毒
該病毒一旦執行,自己便佔據記憶體駐留區,通常選擇佔據在記憶體的上端或下端的中斷變數中(通常不會使用的數百個位元組的記憶體區域)。為了能使自己頻繁地執行,通常記憶體駐留病毒會把陷阱或中斷向量的內容複製到其它地方去,而把自己的地址放入其中,使中斷或陷阱指向病毒程式的入口。
③引導扇區病毒
病毒也會寄生於磁碟上用於引導系統的引導區。這樣,當系統開機時,病毒便藉助於 引導過程進入系統。
④巨集病毒
巨集病毒可利用軟體提供的巨集功能將病毒插入到帶巨集的doc檔案或dot檔案中。
⑤電子郵