freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

操作系統(tǒng)第九章文件和設(shè)備管理示例(編輯修改稿)

2025-02-08 06:37 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 如果發(fā)現(xiàn) s_nfree等于 100, 那么表明這時(shí)空閑磁盤(pán)塊索引表在此之前已經(jīng)收集滿了 100個(gè)空閑的磁盤(pán)塊 , 它們應(yīng)該形成一個(gè)新的鏈組 。 現(xiàn)在要釋放的一塊 , 是下一組空閑塊的第 0塊 。 于是 , 就把 filsys中的s_nfree和 s_free[0]~s_free[99]共 101個(gè)值存入新釋放塊中 , 然后將此塊的地址填入 s_free[0 ]中 , 將s_nfree置為 1。 23 磁盤(pán) i節(jié)點(diǎn)的管理 ? 基本思想 :在給新建文件分配磁盤(pán)存儲(chǔ)區(qū)之前 ,為其分配磁盤(pán) i節(jié)點(diǎn) , 以將文件的有關(guān)信息記入其中 , 并將用戶提供的文件名和磁盤(pán) i節(jié)點(diǎn)號(hào)一并組成一個(gè)新目錄項(xiàng) , 記入其父目錄文件中 。 刪除文件時(shí) , 回收所分配的磁盤(pán) i節(jié)點(diǎn)項(xiàng) 。 ? 分配算法 :借助于 i節(jié)點(diǎn)線性表利用 ialloc算法( UNIX System V) 進(jìn)行的 , 具體分配過(guò)程見(jiàn) P232 ? 回收算法 :利用 ifee算法 24 內(nèi)存 i節(jié)點(diǎn)的管理 ? 基本思想 :系統(tǒng)打開(kāi)文件進(jìn)行搜索或讀寫(xiě)等操作時(shí) , 為其分配內(nèi)存 i節(jié)點(diǎn) , 以存放從磁盤(pán) i節(jié)點(diǎn)拷貝過(guò)來(lái)的信息 , 方便用戶或系統(tǒng)對(duì)文件的訪問(wèn) 。 刪除文件時(shí) ,回收所分配的磁盤(pán) i節(jié)點(diǎn)項(xiàng) 。 ? 分配 :利用過(guò)程 iget實(shí)現(xiàn) ? 回收 :利用過(guò)程 iput實(shí)現(xiàn) 25 系統(tǒng)打開(kāi)文件表的管理 ? 系統(tǒng)打開(kāi)文件表 :記錄打開(kāi)同一文件的不同進(jìn)程和不同進(jìn)程所使用的不同打開(kāi)路徑 , 及其對(duì)應(yīng)的讀寫(xiě)指針 。 ? 分配 :利用 getf過(guò)程實(shí)現(xiàn) ? 回收 :利用 closef過(guò)程實(shí)現(xiàn) 26 地址映射 ? 前面提及 , UNIX文件的物理結(jié)構(gòu)采用的是索引結(jié)構(gòu) , 這種索引結(jié)構(gòu)是通過(guò)每個(gè)文件 i節(jié)點(diǎn)中的數(shù)組di_addr[ ]來(lái)形成文件存儲(chǔ)索引表的 。 該數(shù)組總共有 13個(gè)元素 , 每個(gè)元素為一個(gè)索引項(xiàng) 。 前 10個(gè)索引項(xiàng)直接指向文件數(shù)據(jù)存放的磁盤(pán)塊號(hào) , 后 3個(gè)索引項(xiàng)分別構(gòu)成一次間接索引 、 二次間接索引和三次間接索引的多級(jí)索引結(jié)構(gòu) 。 這樣 , UNIX可以根據(jù)文件的大小 , 通過(guò)使用這張存儲(chǔ)索引表 , 形成小型 、 中型 、 大型和巨型等不同規(guī)模的文件 。 27 ? 小型文件的索引結(jié)構(gòu) :通常 , 每個(gè)磁盤(pán)塊為512個(gè)字節(jié) 。 當(dāng)一個(gè)文件的長(zhǎng)度在 1~10個(gè)磁盤(pán)塊之間時(shí) , 就稱為小型文件 。 這時(shí) , 用文件 i節(jié)點(diǎn)中數(shù)組 di_addr[ ]的前 10個(gè)表目 , 直接指向文件數(shù)據(jù)存放的磁盤(pán)塊號(hào) 。 因此 , 在 UNIX中 ,小型文件是通過(guò) i節(jié)點(diǎn)中的數(shù)組 di_addr[ ]構(gòu)成一級(jí)索引表而獲得文件在磁盤(pán)上的存儲(chǔ)位置的 。如下圖所示 。 28 29 ? 中型文件的索引結(jié)構(gòu) :當(dāng)一個(gè)文件的長(zhǎng)度在10~138磁盤(pán)塊內(nèi)時(shí) , 就成為一個(gè) UNIX的中型文件 。 這時(shí)除了用到 di_addr[0]~di_addr[9]外 ,還要用到 di_addr[10], 如下圖所示 。 在圖中 , di_addr[0]~di_addr[9]仍然直接指向文件數(shù)據(jù)存放的 10個(gè)磁盤(pán)塊號(hào) , 然后又利用di_addr[10]指向一個(gè)磁盤(pán)塊 。 這塊并不存放文件的數(shù)據(jù) , 而是利用它形成又一級(jí)的索引 。 在UNIX中 , 用 4個(gè)字節(jié)放一個(gè)磁盤(pán)塊號(hào) , 因此在這個(gè)盤(pán)塊中 , 可以放 128個(gè)磁盤(pán)塊號(hào) 。 這樣一來(lái) , 通過(guò) di_addr[10]提供的索引 , 一個(gè)文件就可以達(dá)到 138個(gè)磁盤(pán)存儲(chǔ)塊這么大 。 30 31 ? 大型和巨型文件的索引結(jié)構(gòu) : 當(dāng)一個(gè)文件的長(zhǎng)度在138~16522磁盤(pán)塊內(nèi)時(shí) , 就成為一個(gè) UNIX的大型文件 。 這時(shí)除了用到 di_addr[0]~ di_addr[9]外 , 要用到 di_addr[10], 還要用到 di_addr[11]。 在圖中 , di_addr[0]~di_addr[9]直接指向文件數(shù)據(jù)存放的 10個(gè)磁盤(pán)塊號(hào) 。 然后如同前面那樣 ,利用 di_addr[10]指向一個(gè)磁盤(pán)塊 , 由它提供 128個(gè)磁盤(pán)塊的索引 , 從而使文件總共達(dá)到 138個(gè)磁盤(pán)存儲(chǔ)塊這么大 。 但這還不夠 , 又利用 di_addr[11]指向一個(gè)磁盤(pán)塊 , 由它指向 128個(gè)磁盤(pán)塊 , 每個(gè)都是一個(gè)索引 。 這樣 , 通過(guò)這 128個(gè)索引 、 每個(gè)指向128個(gè)磁盤(pán)塊 , 就又可以得到 16384個(gè)磁盤(pán)塊 。 于是 , UNIX的大型文件最多可以擁有 16522個(gè)磁盤(pán)塊 ( 即 10+128+16384) 。 32 33 ? 當(dāng)一個(gè)文件所需的磁盤(pán)塊大于 16522個(gè)磁盤(pán)塊時(shí) , 就成為 UNIX的巨型文件了 。 這時(shí)除了用到 di_addr[0]~di_addr[9]外 , 還要用到 d i_ a d d r [ 10]、 d i_ a d d r [ 11]和di_addr[12]。 此時(shí) , 文件的最大長(zhǎng)度可以達(dá)到約 11億個(gè)字節(jié) , 但是由于此時(shí)要經(jīng)過(guò)多次間接索引 , 會(huì)使系統(tǒng)的查找速度大大降低 。 34 目錄與檢索方法 ? 目錄的構(gòu)造和刪除 創(chuàng)建一新文件時(shí) , UNIX系統(tǒng)利用 makenode過(guò)程在其父目錄文件中為之構(gòu)造一個(gè)目錄項(xiàng) 。 ? 目錄的檢索 由 namei過(guò)程利用散列搜索法完成 , 其根據(jù)用戶給出的文件路徑名 , 從高層到低層順序地查找各級(jí)文件目錄 , 尋找指定文件的內(nèi)存 i節(jié)點(diǎn)指針 。 35 文件系統(tǒng)的系統(tǒng)調(diào)用 UNIX提供了一些系統(tǒng)調(diào)用命令 , 以便用戶在程序一級(jí)完成對(duì)文件的操作 。 有關(guān)的系統(tǒng)調(diào)用是: creat、 open、 read、 write、 close、 chdir、chown、 chmod、 link和 unlink等 。 下面對(duì)它們各自的功能做粗略的描述 。 ? creat( 建立文件 ) ? open( 打開(kāi)文件 ) ? close( 關(guān)閉文件 ) ? read( 讀 ) ? write( 寫(xiě) ) 36 ? link( 鏈接 ) 系統(tǒng)調(diào)用 link可以為一個(gè)已經(jīng)存在的文件開(kāi)辟一條新的路徑 , 也就是說(shuō) , 可以為一個(gè)文件再取一個(gè)新的名字 。 它的使用格式是: link(pathname1, pathname2); 其中參數(shù) pathname1是原文件的路徑名 , 參數(shù)pathname2
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1