国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

從文件I/O 查看Linux 的虛擬文件系統(圖)

2024-08-28 00:16:56
字體:
來源:轉載
供稿:網友

Linux 允許眾多不同的文件系統共存,并支持跨文件系統的文件操作,這是因為有虛擬文件系統的存在。虛擬文件系統,即VFS(Virtual File System)是 Linux 內核中的一個軟件抽象層。它通過一些數據結構及其方法向實際的文件系統如 ext2,vfat 提供接口機制。本文在簡要介紹 VFS 的相關數據結構后,以文件 I/O 為切入點深入 Linux 內核源代碼,追蹤了 sys_open 和 sys_read 兩個系統調用的代碼結構,并在追蹤的過程中理清了跨文件系統的文件操作的基本原理和“一切皆是文件”的口號得以實現的根本。

1 引言

Linux 中允許眾多不同的文件系統共存,如 ext2, ext3, vfat 等。通過使用同一套文件 I/O 系統調用即可對 Linux 中的任意文件進行操作而無需考慮其所在的具體文件系統格式;更進一步,對文件的操作可以跨文件系統而執行。如圖 1 所示,我們可以使用 cp 命令從 vfat 文件系統格式的硬盤拷貝數據到 ext3 文件系統格式的硬盤;而這樣的操作涉及到兩個不同的文件系統。


圖 1. 跨文件系統的文件操作
從文件I/O查看Linux的虛擬文件系統(圖)

“一切皆是文件”是 Unix/Linux 的基本哲學之一。不僅普通的文件,目錄、字符設備、塊設備、套接字等在 Unix/Linux 中都是以文件被對待;它們雖然類型不同,但是對其提供的卻是同一套操作界面。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 抚松县| 京山县| 麟游县| 武山县| 赤峰市| 尖扎县| 辉县市| 陈巴尔虎旗| 大同市| 深泽县| 博罗县| 金华市| 梓潼县| 秦皇岛市| 廉江市| 墨竹工卡县| 社会| 阳原县| 大同市| 岚皋县| 雷山县| 陵水| 高清| 改则县| 大冶市| 金溪县| 科技| 台前县| 肇东市| 称多县| 永年县| 肥西县| 汝城县| 时尚| 灌云县| 万年县| 安义县| 广丰县| 建平县| 凤山市| 托里县|