操作系統(tǒng)原理與Linux實(shí)踐教程(第2版)課件 第54講 文件_第1頁(yè)
操作系統(tǒng)原理與Linux實(shí)踐教程(第2版)課件 第54講 文件_第2頁(yè)
操作系統(tǒng)原理與Linux實(shí)踐教程(第2版)課件 第54講 文件_第3頁(yè)
操作系統(tǒng)原理與Linux實(shí)踐教程(第2版)課件 第54講 文件_第4頁(yè)
操作系統(tǒng)原理與Linux實(shí)踐教程(第2版)課件 第54講 文件_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

文件主要內(nèi)容一、文件概念二、文件類型和屬性三、文件存取方法四、文件操作實(shí)驗(yàn)12Linux文件操作一、文件概念計(jì)算機(jī)中的三種實(shí)體硬件程序數(shù)據(jù)第2章處理器管理第4章存儲(chǔ)管理第5章設(shè)備管理進(jìn)程、線程管理與調(diào)度第3章并發(fā)進(jìn)程的同步、互斥與死鎖第6章文件管理CPU內(nèi)存輸入設(shè)備輸出設(shè)備數(shù)據(jù)加工機(jī)構(gòu)程序數(shù)據(jù)加工結(jié)果文件數(shù)據(jù)保存機(jī)構(gòu)外存程序數(shù)據(jù)硬件+程序文件是計(jì)算機(jī)軟件資源的重要組織和存在形式計(jì)算機(jī)運(yùn)行的結(jié)果基本上是以文件形式保存下來(lái)的文件的地位文件由進(jìn)程創(chuàng)建,但是獨(dú)立于進(jìn)程、用戶甚至創(chuàng)建它的系統(tǒng)而存在操作系統(tǒng)中處理文件的部分稱為文件系統(tǒng)。文件系統(tǒng)文件系統(tǒng)是操作系統(tǒng)中專門對(duì)軟件資源進(jìn)行管理的軟件子系統(tǒng)。文件系統(tǒng)提供了訪問(wèn)操作系統(tǒng)和所有用戶程序與數(shù)據(jù)的機(jī)制文件是記錄在外存上具有名稱的相關(guān)信息的集合。1、文件文件是對(duì)存儲(chǔ)設(shè)備的抽象,它將以存儲(chǔ)介質(zhì)物理塊為單位的信息存儲(chǔ)單元抽象為以文件為單位的邏輯存儲(chǔ)單元。表意時(shí),文件是信息的邏輯單位,構(gòu)成信息的文字串具有一定的組織順序、結(jié)構(gòu)和意義,文字串表達(dá)的意義與其存放介質(zhì)無(wú)關(guān)。2、信息的邏輯單位和物理存儲(chǔ)單位表意存儲(chǔ)信息包括文件需要存放起來(lái),存儲(chǔ)文件時(shí),存儲(chǔ)塊(物理塊)是文件(信息)的物理單位。文件長(zhǎng)度是可變的,存儲(chǔ)塊通常是定長(zhǎng)的,一個(gè)文件占用的存儲(chǔ)塊的數(shù)目和位置與文件的意義無(wú)關(guān)。用戶通過(guò)文件名即可存取文件中的內(nèi)容。3、信息邏輯單位到物理存儲(chǔ)單位的映射從信息邏輯單元到信息物理存儲(chǔ)單元的映射由操作系統(tǒng)的文件系統(tǒng)完成創(chuàng)建或訪問(wèn)文件時(shí)需要給出文件名。4、文件名文件名由字母、數(shù)字以及一些特殊字符組成,文件名的長(zhǎng)度因系統(tǒng)而異。二、文件類型和屬性1、文件類型(1)按用途分系統(tǒng)文件庫(kù)文件用戶文件(2)按保護(hù)級(jí)別分只讀文件讀寫文件不保護(hù)文件(3)按信息流向分輸入文件輸出文件輸入輸出文件(4)按存放時(shí)限分臨時(shí)文件永久文件檔案文件(5)按設(shè)備類型分磁盤文件磁帶文件軟盤文件(6)文件內(nèi)容是否用于閱讀理解、編輯分ASCII文件二進(jìn)制文件可以采用文本編輯器打開閱讀和編輯二進(jìn)制文件采用文本編輯器打開以后顯示亂碼可執(zhí)行文件以及庫(kù)文件為常見(jiàn)的二進(jìn)制文件UNIX操作系統(tǒng)支持的常見(jiàn)文件類型如源程序、數(shù)據(jù)、目標(biāo)代碼、操作系統(tǒng)、庫(kù)、實(shí)用程序文件(1)普通文件由文件目錄項(xiàng)組成的系統(tǒng)文件(2)目錄文件指磁盤、光盤等塊設(shè)備,操作系統(tǒng)將設(shè)備看作文件。(3)塊設(shè)備文件指終端、打印機(jī)等字符設(shè)備。(4)字符設(shè)備文件(5)FIFO命名管道文件和socket套接字文件包括文件名和擴(kuò)展名、標(biāo)識(shí)符、文件屬主ID、文件所屬組ID等(1)文件基本屬性表明文件類型。如普通文件、目錄文件、系統(tǒng)文件、隱式文件、設(shè)備文件、pipe文件、socket文件等;ASCII碼文件、二進(jìn)制文件等(2)文件類型屬性2、文件屬性文件屬性用于文件的管理控制和安全保護(hù)文件屬性包括包括文件的位置信息、邏輯記錄長(zhǎng)、文件當(dāng)前長(zhǎng)、文件最大長(zhǎng)、關(guān)鍵字位置、關(guān)鍵字長(zhǎng)度、文件打開次數(shù)等。(3)文件控制屬性包括文件創(chuàng)建時(shí)間、最后訪問(wèn)時(shí)間、最后修改時(shí)間等,用于保護(hù)、安全和使用跟蹤。(4)文件管理屬性包括用戶對(duì)文件允許執(zhí)行的訪問(wèn)操作,如可讀、可寫、可執(zhí)行、可更新、可刪除等;上鎖標(biāo)志和解鎖標(biāo)志;口令等;許可訪問(wèn)者。(5)文件保護(hù)屬性三、文件存取方法1、文件存儲(chǔ)單位磁盤等文件存儲(chǔ)設(shè)備屬于典型的塊設(shè)備,塊設(shè)備I/O以物理塊為單位執(zhí)行,文件內(nèi)容以物理塊(物理記錄)為單位存取。不同塊設(shè)備的物理塊大小可能并不相同。文件系統(tǒng)定義獨(dú)立于任何物理塊的尺寸統(tǒng)一的邏輯塊(邏輯記錄)。邏輯塊(邏輯記錄)大小通常設(shè)定為物理塊尺寸的整數(shù)倍,即一個(gè)邏輯塊占用若干個(gè)物理位置相鄰的物理塊。讀寫一個(gè)邏輯塊意味著訪問(wèn)若干個(gè)物理位置相鄰的物理塊。2、文件訪問(wèn)方式(1)順序訪問(wèn)(2)隨機(jī)訪問(wèn)(直接訪問(wèn))(3)索引訪問(wèn)(1)順序訪問(wèn)順序訪問(wèn)從文件開頭或者當(dāng)前位置向文件尾部順序讀取文件的內(nèi)容,不能跳過(guò)某一些內(nèi)容,文件后面的內(nèi)容不能先于文件前面部分的內(nèi)容讀取出來(lái)。寫入與此類似。后面的訪問(wèn)起點(diǎn)依賴于前面訪問(wèn)后確定的文件指針位置。缺乏索引的文件通常只能順序訪問(wèn)需要順序訪問(wèn)的情況對(duì)存儲(chǔ)介質(zhì)上的信息不提供定位參數(shù)(物理地址)的存儲(chǔ)設(shè)備也只能順序訪問(wèn)磁盤上的鏈接文件也只能順序訪問(wèn)例如磁帶上的文件只能順序訪問(wèn)(2)隨機(jī)訪問(wèn)(直接訪問(wèn))能夠以任意次序讀取其中字節(jié)或記錄的文件稱為隨機(jī)存取文件或直接訪問(wèn)文件。例如,航班訂票程序必須能夠直接存取乘客預(yù)訂的航班記錄,而不必先讀出其它航班的成千上萬(wàn)個(gè)記錄。數(shù)據(jù)庫(kù)系統(tǒng)使用的文件往往屬于隨機(jī)存取文件。磁盤文件可以直接訪問(wèn),因?yàn)榇疟P訪問(wèn)可以指定物理塊地址。直接訪問(wèn)文件可以立即訪問(wèn)需要的那部分信息,而不必涉及不需要的信息部分。(3)索引訪問(wèn)索引訪問(wèn)建立在直接訪問(wèn)方式上。索引訪問(wèn)需要為文件創(chuàng)建索引,這樣的文件稱為索引文件。索引類似文件內(nèi)容目錄,包含指向各內(nèi)容塊的指針。查找索引文件時(shí),首先查找索引塊,獲得目標(biāo)內(nèi)容塊的指針,再?gòu)哪繕?biāo)內(nèi)容塊中找到所需記錄。四、文件操作1、創(chuàng)建文件(create)2、打開文件(open)3、寫文件(write)操作系統(tǒng)提供的文件操作系統(tǒng)調(diào)用主要有:4、讀文件(read)5、調(diào)整讀寫指針(seek)6、關(guān)閉文件(close)7、刪除文件(delete)1、創(chuàng)建文件(create)創(chuàng)建不包含任何數(shù)據(jù)的文件。在目錄中為新文件創(chuàng)建目錄條目,設(shè)置文件屬性信息,如文件名等。2、打開文件(open)在使用文件之前,必須先打開文件。open調(diào)用將文件屬性和磁盤地址表裝入內(nèi)存,便于后續(xù)操作訪問(wèn)。3、寫文件(write)write調(diào)用針對(duì)已經(jīng)打開的文件執(zhí)行寫操作。一般從當(dāng)前位置開始寫入信息。如果當(dāng)前位置是文件末尾,則文件長(zhǎng)度增加。如果當(dāng)前位置在文件中間,則現(xiàn)有數(shù)據(jù)被覆蓋。4、讀文件(read)read調(diào)用針對(duì)已經(jīng)打開的文件執(zhí)行讀操作。讀出的數(shù)據(jù)一般來(lái)自文件當(dāng)前位置。調(diào)用者需要指定讀取的數(shù)據(jù)量和數(shù)據(jù)存放的緩沖區(qū)。5、調(diào)整讀寫指針(seek)seek調(diào)用調(diào)整讀寫指針的位置。6、關(guān)閉文件(close)文件訪問(wèn)結(jié)束時(shí),關(guān)閉文件以釋放文件屬性及磁盤地址等不再需要的管理數(shù)據(jù)所占內(nèi)存空間,同時(shí)寫入文件的最后一塊。7、刪除文件(delete)刪除不需要的文件,釋放其所占外存空間。實(shí)驗(yàn)12Linux文件操作1、Linux文件操作函數(shù)簡(jiǎn)介(1)FILE*fopen(constchar*path,constchar*mode):打開/創(chuàng)建文本或二進(jìn)制文件path;(2)size_tfread(void*buffer,size_tsize,size_tcount,FILE*stream):從文件stream中讀取count個(gè)長(zhǎng)度為size的字節(jié)到內(nèi)存buffer;(3)size_tfwrite(constvoid*buffer,size_tsize,size_tcount,FILE*stream):將內(nèi)存buffer中count個(gè)長(zhǎng)度為size的字節(jié)寫入到文件stream;(4)intfseek(FILE*stream,longoffset,intfromwhere):以f

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論