linux0.12-檔案系統-底層通用函數

來源:互聯網
上載者:User

iget() ----- 從裝置dev上讀取節點號為nr的i結點

1.從i結點表申請一個臨時i結點

2.掃描i節點表,尋找(裝置號==dev&&i節點號==nr)的項

若未找到,則:

(1)用臨時結點建立一個i節點

(2)從裝置dev讀取該i節點的資訊

(3)返回該結點

若找到,等待i節點解鎖

3.若(裝置號!=dev||節點號!=nr),則go to step 2

4.i節點引用計數增1

5.判斷i節點的類型

若i節點是某個檔案系統的安裝點,則:

(1)在超級塊中搜尋安裝在此i節點的超級塊

(2)將該i節點寫盤

(3)從(1)的超級塊上取裝置號

(4)令i節點號為1

(5)重新掃描整個i節點表,擷取被安裝檔案系統的根節點

若i節點不是其它檔案系統的安裝點,則:

(1)釋放臨時申請的i節點

(2)返回找到的i節點指標

iput ----- 釋放i節點

1.若連結數為0,則釋放所佔用的磁碟塊,釋放i節點

2.把i節點的引用計數減1

3.判斷i節點的類型

(1)管著:喚醒等待的進程

(2)塊裝置:重新整理裝置

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.