1 文件共享
1.1 概述
文件共享使多個用戶(進程)共享同一份文件裆悄,系統(tǒng)中只需保留該文件的一份副本。否則抵栈,每個使用共享文件的用戶都有各自的副本,會造成對存儲空間的極大浪費坤次。
隨著計算機技術的發(fā)展古劲,文件共享的范圍已由單機系統(tǒng)發(fā)展到多機系統(tǒng),進而通過網(wǎng)絡擴展到全球缰猴。這些文件的分享是通過分布式文件系統(tǒng)产艾、遠程文件系統(tǒng)、分布式信息系統(tǒng)實現(xiàn)的洛波。
1.2 基于索引結點的共享方式(硬鏈接)
在樹形結構的目錄中胰舆,當有兩個或多個用戶要共享一個子目錄或文件時,必須將共享文件或子目錄鏈接到兩個或多個用戶的目錄中蹬挤,才能方便地找到該文件。
這種共享方式中引用索引結點棘幸,即文件的物理地址等文件屬性信息焰扳,不再是放在目錄項中,而是放在索引結點中误续。在文件目錄中只設置文件名及指向相應索引結點的指針吨悍。
在索引結點中還應有一個鏈接計數(shù)count。當count=2時蹋嵌,表示有兩個用戶目錄項鏈接到本文件上育瓜,共享此文件。添加和刪除用戶時count隨之變化栽烂,count為0時躏仇,將刪除此文件恋脚。
1.3 利用符號鏈實現(xiàn)文件共享(軟鏈接)
為使用戶B能共享用戶A的一個文件F,可創(chuàng)建一LINK類型名為Flink的新文件焰手,并將文件Flink寫入用戶B的目錄中糟描,以實現(xiàn)用戶B的目錄與文件F的鏈接。在Flink文件中只包含被鏈接文件F的路徑名书妻。此鏈接方法被稱為符號鏈接船响。
在利用符號鏈方式實現(xiàn)文件共享時,只有文件的擁有者才擁有指向其索引結點的指針躲履。而共享該文件的用戶則只有該文件的路徑名见间,并不擁有指向其索引結點的指針。
缺點
當一個符號鏈接共享的文件擁有者刪除文件后工猜,在其他用戶訪問該鏈接前米诉,又有用戶在相同位置創(chuàng)建名稱相同的文件時,該符號鏈接將仍然有效域慷,但此訪問顯然是錯誤荒辕。
由于需要根據(jù)文件路徑逐個查找目錄,可能導致多次讀盤犹褒,增大了啟動磁盤的頻率抵窒,符號鏈索引結點也耗費一定的磁盤空間。
優(yōu)點
- 網(wǎng)絡共享只需提供該文件所在機器的網(wǎng)絡地址以及該機器中的文件路徑即可叠骑。
注意:上述兩種鏈接方式都存在一個共同的問題:每個共享文件都有幾個文件名李皇。每增加一條鏈接,就增加一個文件名宙枷。這實質上就是每個用戶都使用自己的路徑名去訪問共享文件掉房。當我們試圖去遍歷整個文件系統(tǒng)時,將會多次遍歷到該共享文件慰丛。
硬鏈接和軟鏈接都是文件系統(tǒng)中的靜態(tài)共享方法卓囚,在文件系統(tǒng)中還存在著另外的共享需求,即兩個進程同時對同一個文件進行操作诅病,這樣的共享可以稱為動態(tài)共享哪亿。
2 文件安全與保護
影響文件安全性主要因素有三:
- 人為因素
人類有意或無意的破壞。 - 系統(tǒng)因素
由于系統(tǒng)某些部分出現(xiàn)異常贤笆,導致數(shù)據(jù)的破壞或丟失蝇棉。 - 自然因素
存放在磁盤上的數(shù)據(jù),會隨著時間推移發(fā)生溢出或逐漸消失芥永。
為確保文件系統(tǒng)的安全性篡殷,可針對上述原因采用以下措施:
- 通過存取控制來防止人為因素所造成的文件不安全性
- 通過磁盤容錯技術來防止磁盤部分故障造成文件不安全性
- 通過“后備系統(tǒng)”來防止自然因素所造成的不安全性
3 訪問類型與訪問控制
為了防止文件共享可能會導致文件被破壞或未經(jīng)核準的用戶修改文件,文件系統(tǒng)必須控制用戶對文件的存取埋涧。為此板辽,須在文件系統(tǒng)中建立相應的文件保護機制奇瘦。
文件保護通過口令保護、加密保護和訪問控制等方式實現(xiàn)戳气。其中链患,口令保護和加密保護是為了防止用戶文件被他人存取或竊取,而訪問控制則用于控制用戶對文件的訪問方式瓶您。
3.1 訪問類型
可加以控制的訪問類型主要有以下幾種:
- 讀:從文件中讀麻捻。
- 寫:向文件中寫。
- 執(zhí)行:將文件裝入內存并執(zhí)行呀袱。
- 添加:將新信息添加到文件結尾部分贸毕。
- 刪除:刪除文件,釋放空間夜赵。
- 列表清單:列出文件名和文件屬性明棍。
此外還可以對文件的重命名、復制寇僧、編輯等加以控制摊腋。這些高層的功能可以通過系統(tǒng)程序調用低層系統(tǒng)調用來實現(xiàn)。
3.2 訪問控制
1) 訪問控制列表
最常用的方法是根據(jù)用戶身份進行控制嘁傀。通常為每個文件和目錄增加一個訪問控制列表(Access-Control List, ACL)兴蒸,以規(guī)定每個用戶名及其所允許的訪問類型。
這種方法的優(yōu)點是可以使用復雜的訪問方法细办。其缺點是長度無法預期并且可能導致復雜的空間管理橙凳,使用精簡的訪問列表可以解決這個問題。
精簡的訪問列表釆用擁有者笑撞、組和其他三種用戶類型岛啸。
- 擁有者:創(chuàng)建文件的用戶。
- 組:一組需要共享文件且具有類似訪問的用戶茴肥。
- 其他:系統(tǒng)內的所有其他用戶坚踩。
文件擁有者在創(chuàng)建文件時,說明創(chuàng)建者用戶名及所在的組名瓤狐,系統(tǒng)在創(chuàng)建文件時也將文件主的名字堕虹、所屬組名列在該文件的FCB中。
用戶訪問該文件時芬首,按照擁有者所擁有的權限訪問文件,如果用戶和擁有者在同一個用戶組則按照同組權限訪問逼裆,否則只能按其他用戶權限訪問郁稍。UNIX操作系統(tǒng)即釆用此種方法。
2) 口令和密碼
口令和密碼是另外兩種訪問控制方法胜宇。
口令指用戶在建立一個文件時提供一個口令耀怜,系統(tǒng)為其建立FCB時附上相應口令恢着,同時告訴允許共享該文件的其他用戶。用戶請求訪問時必須提供相應口令财破。這種方法時間和空間的開銷不多掰派,缺點是口令直接存在系統(tǒng)內部,不夠安全左痢。
密碼指用戶對文件進行加密靡羡,文件被訪問時需要使用密鑰。這種方法保密性強俊性,節(jié)省了存儲空間略步,不過編碼和譯碼要花費一定時間。
口令和密碼都是防止用戶文件被他人存取或竊取定页,并沒有控制用戶對文件的訪問類型趟薄。
3) 注意:
現(xiàn)代操作系統(tǒng)常用的文件保護方法,是將訪問控制列表與用戶典徊、組和其他成員訪問控制方案一起組合使用杭煎。
對于多級目錄結構而言,不僅需要保護單個文件卒落,而且還需要保護子目錄內的文件, 即需要提供目錄保護機制羡铲。目錄操作與文件操作并不相同,因此需要不同的保護機制导绷。
4 磁盤容錯技術
容錯技術往往也被稱為系統(tǒng)容錯技術SFT犀勒。可分為三個級別:第一級別是低級磁盤容錯技術妥曲,第二級是中級磁盤容錯技術贾费,第三級是系統(tǒng)容錯技術。
4.1 第一級磁盤容錯技術SFT-1
是最基本的磁盤容錯技術檐盟,主要用于防止因磁盤表面缺陷所造成的數(shù)據(jù)丟失褂萧。它包含雙份目錄,雙份文件分配表以及寫后讀校驗措施葵萎。
4.2 第二級磁盤容錯技術SFT-2
第二級磁盤容錯技術主要用于防止磁盤驅動器和磁盤控制器故障所導致的系統(tǒng)不能正常工作导犹,具體分為磁盤鏡像和磁盤雙工。
4.3 基于集群技術的容錯功能
所謂集群式指一組互連的自主計算機組成統(tǒng)一的計算機系統(tǒng)羡忘,就像一臺機器一樣工作谎痢。利用集群系統(tǒng)不僅可提高系統(tǒng)的并行處理能力,還可以提高系統(tǒng)的可用性卷雕。
其主要工作模式有三種:熱備份模式节猿、互為備份模式、公有磁盤模式。