Skip to Content
LINUX系統程式設計 第二版
book

LINUX系統程式設計 第二版

by Robert Love
December 2013
Intermediate to advanced
496 pages
8h 57m
Chinese
GoTop Information, Inc.
Content preview from LINUX系統程式設計 第二版
68
|
第二章
VFS 這個抽象機制,係透過一個
共同檔案模型
common file model
)來實作,共同檔案
模型是 Linux 中所有檔案系統的基礎。經由函式指標以及各種物件導向的做法,
9
共同檔
案模型為 Linux 核心的檔案系統提供了一個必須遵循的框架。這讓 VFS 得以全面進行檔
案系統的要求。此框架提供了掛勾以便支援讀取、建立連結、同步等等功能。然後每種
檔案系統可以註冊其特有的函式,以便處理其有所能進行的操作。
此做法讓各種檔案系統之間,具有一定程度的共同性。例如,VFS 會用到的 inode(資
訊節點)、superblock(超級區塊)以及 directory entry(目錄項目)等物件。然而,一
個非源自 Unix 的檔案系統,可能會欠缺 Unix-like 的概念(例如 inode),必須予以克
服。的確克服了:Linux 支援 FAT NTFS 之類的檔案系統,而不會有問題。
VFS 的好處多多。單一系統呼叫可以讀取
任何
儲存媒體上的
任何
檔案系統;單一公用程
式可以從一個檔案系統複製到任何其他檔案系統。所有檔案系統均支援相同的概念、相
同的介面以及相同的呼叫。這一切都能夠運作—而且運作地很好。
當一個應用程式進行
read()
系統呼叫時,它會經歷一個有趣的旅程。C 程式庫所提供
的系統呼叫定義,在編譯期間會被轉換成適當的 trap 陳述(statement)。當一個用戶
空間行程陷入(trapped into)核心後,控制權會透過系統呼叫處理程序(system call
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

優雅的SciPy|Python科學研究的美學

優雅的SciPy|Python科學研究的美學

Juan Nunez-Iglesias, Stéfan van der Walt, Harriet Dashnow
C++语言导学(原书第2版)

C++语言导学(原书第2版)

本贾尼 斯特劳斯特鲁普

Publisher Resources

ISBN: 9789862769812