操作系统(4) -- 文件管理
4.1 文件系統(tǒng)基礎(chǔ)
文件的概念
文件:是以計(jì)算機(jī)硬盤(pán)為載體的存儲(chǔ)在計(jì)算機(jī)上的信息集合。用戶進(jìn)行輸入、輸出中,以文件為基本單位。OS中的文件系統(tǒng)實(shí)現(xiàn)對(duì)文件的維護(hù)管理。
文件包含:一塊存儲(chǔ)空間中的數(shù)據(jù),包含分類(lèi)和索引的信息,關(guān)于訪問(wèn)權(quán)限的信息。
定義:
數(shù)據(jù)項(xiàng):文件系統(tǒng)中最低級(jí)的數(shù)據(jù)組織形式,分基本數(shù)據(jù)項(xiàng)和組合數(shù)據(jù)項(xiàng)
記錄:一組相關(guān)的數(shù)據(jù)項(xiàng)的集合,描述對(duì)象某方面的特性
文件:創(chuàng)建者定義的相關(guān)信息的集合。邏輯分有結(jié)構(gòu)(記錄式)和無(wú)結(jié)構(gòu)(流式)
文件的屬性:
名稱(chēng)
標(biāo)識(shí)符
類(lèi)型
位置
大小
保護(hù)
時(shí)間、日期、用戶標(biāo)識(shí)
所有文件信息保存在目錄結(jié)構(gòu)中,目錄結(jié)構(gòu)保存在外存上。文件信息需要時(shí)再調(diào)入內(nèi)存。
文件的基本操作
創(chuàng)建文件。在文件系統(tǒng)中為文件找到空間,為新文件創(chuàng)建條目等信息
寫(xiě)文件。執(zhí)行一個(gè)系統(tǒng)調(diào)用,指明文件名稱(chēng)和要寫(xiě)入文件的內(nèi)容。對(duì)給定文件名稱(chēng),系統(tǒng)查找文件位置。系統(tǒng)為文件維護(hù)一個(gè)寫(xiě)位置指針。
讀文件。執(zhí)行一個(gè)系統(tǒng)調(diào)用,指明文件名稱(chēng)和要讀文件的位置。系統(tǒng)為文件維護(hù)一個(gè)讀位置指針。
文件重定位。
刪除文件。文件系統(tǒng)找文件目錄項(xiàng),使之成為空項(xiàng),回收存儲(chǔ)空間。
截?cái)辔募N募袑傩圆蛔?#xff0c;刪除文件內(nèi)容。
文件的打開(kāi)與關(guān)閉
首次使用文件時(shí),使用系統(tǒng)調(diào)用open將指明文件的屬性從外存復(fù)制到內(nèi)存打開(kāi)表的一個(gè)條目中,并將該表目的編號(hào)返回給用戶。操作系統(tǒng)維護(hù)一一個(gè)包含所有打開(kāi)文件信息的表(打開(kāi)文件表)。所有的文件操作都根絕這個(gè)open返回的指針進(jìn)行IO操作。
文件的邏輯結(jié)構(gòu)
是從用戶觀點(diǎn)出發(fā)看到的文件的組織形式。
無(wú)結(jié)構(gòu)文件(流式文件)
將數(shù)據(jù)按順序組織成記錄并積累、保存,是有序相關(guān)信息項(xiàng)的集合,以字節(jié)為單位。對(duì)記錄的訪問(wèn)只能通過(guò)窮舉搜索的方式。
有結(jié)構(gòu)文件(記錄式文件)
順序文件:文件中的記錄一個(gè)接一個(gè)地順序排列,記錄通常是定長(zhǎng)的,可以順序存儲(chǔ)或鏈?zhǔn)酱鎯?chǔ)。訪問(wèn)時(shí)需要順序搜索文件。
索引文件:變長(zhǎng)記錄文件只能順序查找,系統(tǒng)開(kāi)銷(xiāo)較大。建立索引表加快檢索速度。索引表本身是定長(zhǎng)記錄的順序文件。
索引順序文件:將順序文件中的所有記錄分若干組,為順序文件建立索引表,在索引表中為每組第一條記錄建立一個(gè)索引項(xiàng),含該記錄的關(guān)鍵字值和指向該記錄的指針。
直接文件或散列文件:給定記錄的鍵值或通過(guò)散列函數(shù)轉(zhuǎn)換的鍵值直接決定記錄的物理地址。
目錄結(jié)構(gòu)
文件目錄:包含與文件相關(guān)的信息。這些信息由操作系統(tǒng)管理。從用戶角度,目錄在用戶所需的文件名和文件之間提供一種映射。目錄管理實(shí)現(xiàn)“按名存取”。目錄管理通過(guò)樹(shù)形結(jié)構(gòu)解決。
文件控制塊(FCB):用來(lái)存放控制文件需要的各種信息的數(shù)據(jù)結(jié)構(gòu)。FCB的有序集合稱(chēng)為文件目錄。一個(gè)FCB就是一個(gè)文件目錄項(xiàng)。創(chuàng)建一個(gè)文件,系統(tǒng)將分配一個(gè)FCB并存放在文件目錄中,稱(chēng)為目錄項(xiàng)。
FCB包含:
-
基本信息
-
存取控制信息
-
使用信息
索引結(jié)點(diǎn):檢索目錄時(shí),文件的其他描述信息不會(huì)用到,也不需要調(diào)入內(nèi)存。有的系統(tǒng)采用文件名和文件描述信息分開(kāi)的方法,文件描述信息單獨(dú)形成一個(gè)稱(chēng)為索引結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu),
目錄結(jié)構(gòu)
單擊目錄結(jié)構(gòu):只建立一張目錄表,每個(gè)文件占一個(gè)目錄項(xiàng)。
兩級(jí)目錄結(jié)構(gòu):分主文件目錄和用戶文件目錄兩級(jí)。
多級(jí)目錄結(jié)構(gòu):用文件的路徑名標(biāo)識(shí)文件,文件路徑名是個(gè)字符串,從由根目錄出發(fā)到所找文件通路上所有目錄名與數(shù)據(jù)文件名用分隔符‘/’鏈接而成。
文件共享
文件共享使多個(gè)用戶共享同一個(gè)文件,系統(tǒng)中只保留該文件的一個(gè)副本。
基于索引結(jié)點(diǎn)的共享方式(硬鏈接)
利用符號(hào)鏈實(shí)現(xiàn)文件共享(軟鏈接)
文件保護(hù)
文件保護(hù)通過(guò)口令保護(hù)、加密保護(hù)和訪問(wèn)控制等方式實(shí)現(xiàn)。口令和加密保護(hù)為了防止用戶文件被他人存取或竊取,而訪問(wèn)控制則用于控制用戶對(duì)文件的訪問(wèn)方式。
?
4.3 磁盤(pán)組織與管理
磁盤(pán)的結(jié)構(gòu)
磁盤(pán):表面涂有磁性物質(zhì)的金屬或塑料構(gòu)成的圓形盤(pán)片,通過(guò)磁頭讀取數(shù)據(jù),
磁道:磁盤(pán)盤(pán)面上的數(shù)據(jù)存儲(chǔ)在一組同心圓中
扇區(qū):一個(gè)盤(pán)面有上千磁道,磁道又劃分幾百個(gè)扇區(qū)。每個(gè)扇區(qū)固定大小512B,一個(gè)扇區(qū)稱(chēng)一個(gè)盤(pán)塊。扇區(qū)是磁盤(pán)可尋址的最小存儲(chǔ)單位
柱面:所有盤(pán)片上相對(duì)位置相同的磁道組成柱面
磁盤(pán)調(diào)度算法
先來(lái)先服務(wù)(First come first Served,FCFS算法):請(qǐng)求訪問(wèn)磁盤(pán)的先后順序進(jìn)行調(diào)度
最短尋找時(shí)間優(yōu)先(Shortest Seek Time First,SSTF):與當(dāng)前磁頭所在磁道距離最近的磁道
掃描(SCAN):要回到頭,掉頭服務(wù)路上的
循環(huán)掃描(Circular SCAN):直接回來(lái),不到頭
總結(jié)
以上是生活随笔為你收集整理的操作系统(4) -- 文件管理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 操作系统(3) -- 内存管理
- 下一篇: java信息管理系统总结_java实现科