13---虛擬檔案系統
虛擬檔案系統(VFS)有什麼作用?
- 通過虛擬檔案系統,程式可以利用系統呼叫對不同的檔案系統以及不同介質上的檔案進行讀寫操作
- 為使用者空間提供了檔案和檔案相關的介面
- 系統中的檔案依賴VFS共存,依賴VFS協同工作。
什麼是超級塊?
一種包含檔案系統控制資訊的資料結構
什麼是檔案系統單元?
包含單獨的檔案資訊和系統資訊的單元
VFS有哪些主要的物件型別?
- 超級塊物件-----一個具體的已安裝檔案系統
- 索引節點物件-----一個具體的檔案
- 目錄項物件-------一個目錄,是路徑的組成部分
- 檔案物件-----代表由程序開啟的檔案
索引節點物件有哪些內容?
包含了核心在操作檔案和目錄時需要的全部資訊
核心提供哪些標準資料結構來管理檔案系統的其他資料?
- file_system_type----描述各種特定檔案系統型別,如ext3、ext4、UDF
- vfsmount-----描述一個安裝檔案系統例項
相關推薦
13---虛擬檔案系統
虛擬檔案系統(VFS)有什麼作用? 通過虛擬檔案系統,程式可以利用系統呼叫對不同的檔案系統以及不同介質上的檔案進行讀寫操作 為使用者空間提供了檔案和檔案相關的介面 系統中的檔案依賴VFS共存,依賴VFS協同工作。 什麼是超級塊? 一種包含檔案系統控制資訊的資料結構
Linux套接字與虛擬檔案系統(1):初始化和建立
引言 在Unix的世界裡,萬物皆檔案,通過虛擬檔案系統VFS,程式可以用標準的Unix系統呼叫對不同的檔案系統,甚至不同介質上的檔案系統進行讀寫操作。對於網路套接字socket也是如此,除了專屬的Berkeley Sockets API,還支援一些標準的檔案IO系統呼叫如read(v)、w
雲風的 BLOG: 虛擬檔案系統的自舉
首先我不想做的太複雜。我們不需要特別彈性的不同檔案系統模組掛接到虛擬檔案系統的不同目錄上的功能。所以我寫死了一個叫 .firmware 的目錄,專門存放用來自舉所需的基礎程式碼(的備用版本)。這塊程式碼在啟動後可以在網路模組載入完畢後,用新的版本覆
Linux 的虛擬檔案系統(強烈推薦)
1 引言 Linux 中允許眾多不同的檔案系統共存,如 ext2, ext3, vfat 等。通過使用同一套檔案 I/O 系統 呼叫即可對 Linux 中的任意檔案進行操作而無需考慮其所在的具體檔案系
Linux套接字與虛擬檔案系統(2):操作和銷燬
接上篇初始化與建立,本篇闡述Socket操作和銷燬兩部分的實現。 Socket操作 系統呼叫read(v)、write(v)是使用者空間讀寫socket的一種方法,為了弄清楚它們是怎麼通過VFS將請求轉發到特定協議的實現,下面以read為例(write同理),並假定檔案描述
《Linux核心設計與實現》讀書筆記(十三)- 虛擬檔案系統
虛擬檔案系統(VFS)是linux核心和具體I/O裝置之間的封裝的一層共通訪問介面,通過這層介面,linux核心可以以同一的方式訪問各種I/O裝置。 虛擬檔案系統本身是linux核心的一部分,是純軟體的東西,並不需要任何硬體的支援。 主要內容: 虛擬檔案系統的作用 虛擬檔案系統的4個主要物件
linux下使用kpartx掛載虛擬檔案系統
linux下使用kpartx掛載虛擬檔案系統在linux中,如果映像檔案(.img)含有分割槽表的話,那麼用losetup這個程式來載入檔案系統就有點力不從心了。因為losetup只能載入無分割槽的檔案
linux核心與使用者之間的通訊方式——虛擬檔案系統、ioctl以及netlink .
本文嘗試去闡述核心與使用者空間之間的通訊介面:虛擬檔案系統、ioctl以及netlink.文中所有的結構及程式碼全來自於Linux kernel 2.6.34. 一、虛擬檔案系統 proc檔案系統,通常是掛載在/proc,允許核心以檔案型別形式向用戶提供內部資
Linux 檔案系統(一)---虛擬檔案系統VFS----超級塊、inode、dentry、file
一: 什麼是檔案系統,詳見:http://zh.wikipedia.org/zh/%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F 其實一句話就是管理這塊檔案的機制(組織方式,資料結構之類...) Linux系統中存在很多的檔案系統,例如常見的ex
從檔案 I/O 看 Linux 的虛擬檔案系統
1 引言Linux 中允許眾多不同的檔案系統共存,如 ext2, ext3, vfat 等。通過使用同一套檔案 I/O 系統呼叫即可對 Linux 中的任意檔案進行操作而無需考慮其所在的具體檔案系統格式;更進一步,對檔案的操作可以跨檔案系統而執行。如圖 1 所示,我們可以使用
STSdb,最強純C#開源NoSQL和虛擬檔案系統 4.0 RC2 支援C/S架構
STSdb是什麼 再來說明一下STSdb是什麼:STSdb是C#寫的開源嵌入式資料庫和虛擬檔案系統,支援實時索引,效能是同類產品的幾倍到幾十倍,訪問官方網站。 溫故知新 之前發了文章《STSdb,最強純C#開源NoSQL和虛擬檔案系統》,相信大家對Waterfall-tree(瀑布樹)演算法還是有興
linux核心設計與實現——虛擬檔案系統
虛擬檔案系統 虛擬檔案系統(有時也稱作虛擬檔案交換,更常見的是簡稱VFS)作為核心子系統,為使用者空間程式提供了檔案和檔案系統相關的介面。 之所以可以使用這種通用介面對所有型別的檔案系統進行操作,是因為核心在它的底層檔案系統介面上建立了一個VFS抽象層,該抽
linux 核心程式設計之proc虛擬檔案系統
在 Linux 系統中,/proc 檔案系統十分有用,它被用於核心向用戶匯出資訊。/proc 檔案系統是一個虛擬檔案系統,通過它可以使用一種新的方法在 Linux 核心空間和使用者空間之間進行通訊。在/proc 檔案系統中,我們可以將對虛擬檔案的讀寫作為與核心中實體進行
樹莓派啟動 :boot,啟動,ARM,虛擬檔案系統
環境system:2015-09-24-raspbian-jessieRaspberryPi:Raspberry Pi 2樹莓派啟動的相關問題樹莓派啟動的相關問題,會從config.txt一直介紹到 Linux 如何啟動,啟動流程分析,自啟動指令碼實現。要想理解樹莓派系統的執
Linux虛擬檔案系統基礎概念
參考:《Linux核心設計與實現》第13章 虛擬檔案系統 虛擬檔案系統(VFS)作為核心子作業系統,為使用者空間程式提供了檔案和檔案系統相關的介面。程式可以利用標準的Unix系統呼叫(如:open()、read()、write())對不同的檔案系統,甚至不同的介質上的
Linux虛擬檔案系統(核心初始化)
這部分主要對linux虛擬檔案系統核心初始化部分做些補充。 關於shrinker,inode和dentry cache初始化階段都需要註冊自己的shrinker,用於縮減cache。兩個操作原理類似。 shrinker資料結構介紹 /* * A callback you
LINUX核心設計與實現之虛擬檔案系統
VFS作為核心子系統,為使用者空間程式提供了檔案系統的操作介面.VFS是使用者空間到具體檔案系統(如EXT3)的一個介面中間層. 12.1 通用檔案系統介面 VFS最大的意義就是使用使用者空間可以直接使用open()、read()和write()等等函式而不需要考慮具體的
Linux啟動 grub 虛擬檔案系統initrd詳解(二)
上文我們分析了啟動和grub的一些東西,這節讓我們討論一些linux核心載入啟動和虛擬檔案系統initrd的問題。 首先還是grub的menu.lst 其中關於default 和timeout的
虛擬檔案系統學習筆記(1)
1 通過虛擬檔案系統,linux可以支援多種檔案系統型別; 2 虛擬檔案系統所隱含的思想是把表示很多不同種類檔案系統的共同資訊放入核心;其中用1個欄位或函式來支援所有支援具體檔案系統所提供的任何操作。 3 VFS支援的檔案系統可以分為3類:磁碟檔案系統、網路檔案系統及特
例說linux核心與應用資料通訊(二):proc虛擬檔案系統
下面是一個簡單使用proc的示例,應用上面傳入資料,核心經過處理之後,應用再獲取經過處理的資料:#include <linux/init.h> #include <linux/module.h> #include <linux/kernel.h> #include <