首页
学习
活动
专区
圈层
工具
发布

深入理解Linux VFS和Page Cache

编者注:在分析完 Linux inode 基础概念 之后,让我们看下inode在内存中对应的文件系统抽象VFS,然后分析下关于 磁盘操作 中Page Cache的回写策略。...VFS(虚拟文件系统层) VFS是虚拟文件系统层(进程与文件系统之间的抽象层),与它相关的数据结构只存在于物理内存当中。...其目的是屏蔽下层具体文件系统操作的差异,为上层的操作提供一个统一接口,正是由于VFS的存在,Linux中允许多个不同的文件系统共存。...VFS中包含着向物理文件系统转换的一系列数据结构,如VFS超级块、VFS的Inode、各种操作函数的转换入口等。...Linux中VFS依靠四个主要的数据结构来描述其结构信息,分别为超级块、索引结点、目录项和文件对象,这些数据结构大都会与磁盘上的对应上。 超级块(Super Block):超级块对象表示一个文件系统。

3.6K21

VFS 和容器的实际应用

VFS(Virtual File System)和容器(Containers)是两种在现代计算中非常重要的技术,它们在不同的场景和应用中发挥着关键作用。...以下是VFS和容器的一些实际应用:VFS(虚拟文件系统)的实际应用:操作系统核心组件:VFS是大多数现代操作系统(如Linux、Unix)的核心组件,它提供了一个统一的接口来访问不同类型的文件系统。...文件系统抽象:通过VFS,操作系统可以透明地处理本地文件系统、网络文件系统(如NFS、SMB)以及其他特殊文件系统(如procfs、sysfs)。...设备驱动程序:VFS允许设备驱动程序以文件的形式存在,使得设备可以像文件一样被访问和操作。云存储集成:VFS可以用于集成云存储服务,使得远程存储资源可以像本地磁盘一样被操作系统和应用程序访问。...文件系统过滤和安全:VFS可以用于实现文件系统级别的安全策略和过滤,例如,通过VFS层实现的加密文件系统。

43610
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    解析Linux中的VFS文件系统之文件系统的注册(二)

    文件系统的注册 这里的文件系统是指可能会被挂载到目录树中的各个实际文件系统,所谓实际文件系统,即是指VFS 中的实际操作最终要通过它们来完成而已,并不意味着它们一定要存在于某种特定的存储设备上。...比如在笔者的 Linux 机器下就注册有 "rootfs"、"proc"、"ext2"、"sockfs" 等十几种文件系统。...3.1 文件系统的数据结构 在 Linux 源代码中,每种实际的文件系统用以下的数据结构表示(include/linux/fs.h): 1 struct file_system_type { 2...mount:这个函数非常重要,它VFS能够和底层文件系统交互的起始点,该函数是不能放在super_block结构中的,因为super_block是在get_sb执行之后才能建立的。...的关系太过密切,如果说 ext2/ext3 是 Linux 的本土文件系统,那么 rootfs 文件系统则是 VFS 存在的基础。

    2.4K60

    解析Linux中的VFS文件系统之文件系统的来源与简介(一)

    最近挂载了N多的文件系统,大致了不同文件系统的相应特性及挂载方式,却还是对Linux的文件系统没有从源码方面去了解。不求甚解确实不好不好。...于是借鉴一些大牛的博客及自己的理解,总结了博客系列: 一、VFS是什么: VFS是Linux中的一个虚拟文件文件系统,也称为虚拟文件系统交换层(Virtual Filesystem Switch),是一种软件机制...等); (2)通过系统调用到VFS到实际文件系统的操作。...二、文件系统种类: (1)基于磁盘的文件系统; (2)网络文件系统(NFS); (3)伪文件系统(sysfs、proc); VFS 目录树结构: ?...Reference: https://www.ibm.com/developerworks/cn/linux/l-vfs/ 在链接中,文章选用的是Linux2.4.20,我选择Linux3.4.2来分析源码

    2.4K90

    快速了解虚拟文件系统(VFS)

    前言 为什么 Linux 内核的文件系统类型那么多,都能挂载上呢?为什么系统里可以直接 mount 其他文件系统呢?...甚至能把 windows 下的文件夹挂载到 windows 上,为什么 Linux 的虚拟文件系统这么强大?这得益于它的数据结构设计得十分精妙。好像听过,Linux 有什么解决不了的?加一层。...VFS 是什么 虚拟文件系统,简称 VFS(Virtual Filesystem),是一个内核软件层。...VFS 的作用 概括地讲,VFS 有两个作用: 处理与 Unix 标准文件系统相关的所有系统调用 为各种文件系统提供一个通用的接口 VFS 支持的文件系统类型 以下列出以下常见的文件系统类型,本文暂时不对其进行详细分析...因此,Linux 有一句经典的话:一切皆文件。 关键数据结构介绍 Linux VFS 抽象出 4 种类型的数据结构,实现将不同类型的文件系统挂载到目录结构中。

    3.8K22

    OneCode3.0 VFS分布式文件管理API速查手册

    VFS(虚拟文件系统)作为核心插件之一,通过实现VFSPlugin接口无缝集成到微内核中,提供分布式文件管理能力。...核心服务模块设计2.1 客户端服务(VFSClientService)设计目的:作为前端应用与VFS系统的交互入口,提供面向业务的高层API,封装底层复杂逻辑。...磁盘服务API2.1 文件夹操作API路径请求方法描述参数返回类型/api/vfs/disk/MkDirPOST创建目录path: StringResultModel/api/vfs/disk...无论是构建企业网盘、内容管理系统,还是需要处理海量文件的大数据平台,OneCode-VFS都能提供可靠、高效的文件管理解决方案。...通过本速查手册,开发者可以快速掌握VFS API的使用方法,加速应用集成过程。

    23600

    年终PPT不求人,必备PPT模板网站

    自从踏入工作之后,感觉时间过的非常快,再过几个月就过年了,临近年终各公司都在准备各种总结,计划,汇报PPT等,遇到PPT很多人有开始犯愁了,因为不会做,所以今天给大家推荐几个高逼格国外PPT模板网站。...0918-1.png 顶尖PPT www.gfxaa.com 全网质量最高的PPT模板网站,主要以分享国外PPT,keynote模板为主,从设计到配色再到版式都是引领行业,PPT达人都在用的网站。...0918-3.png 吾爱设计 www.52sheji.cc 这个网站主要以国外画册与PPT为主,并且提供很多免费的国内PPT模板,并且该网站还提供PPT定制和画册定制服务,质量也非常高。...0918-4.png 尚图网 www.76pic.cn 尚图网是今年新开的网站,主要是以PPT模板为主,网站主要有国外PPT和国内PPT两种素材,并且提供免费的PPT模板,还有各种配图与图形图标素材,并且会员价格全网站最低...,当然你不要拿他去跟免费PPT网站比,尚图网模板质量很高。

    1.9K30

    干货!大话EXT4文件系统完整版

    VFS架构 要说Linux文件系统,不得不说VFS:Virtual File System,如上图,Linux设计了一个文件系统的中间层,上层用户都直接和VFS打交道,文件系统开发者再把VFS转换为自己的格式...VFS层:我们知道Linux分为用户态和内核态,用户态请求硬件资源需要调用System Call通过内核态去实现。...VFS组成 尽管Linux内核是C语言写的,但VFS是一种面向对象的框架,把文件相关的东西分为4个对象: Superblock:一个文件系统有一个,含有文件系统的属性和接口, 属性:文件系统的一些参数;...有人要问,真的靠一个VFS能统一所有的文件系统操作吗?微软那么配合啊,会采用和Linux一样的接口?...src=http%3A%2F%2Fwww.cs.umd.edu%2Fprojects%2Fshrug%2Fppt%2F5-Oct-2001.ppt 七:最适合SSD的文件系统 饿想她超市和GRE单词

    6.3K30

    【Linux文件系统】Linux文件系统与设备驱动

    其实这背后藏着 Linux 最精妙的设计之一 —— 文件系统与设备驱动的协同工作。...于是,Linux内核引入了一位伟大的翻译官和调度员——VFS(Virtual File System,虚拟文件系统)。...Linux 的哲学体现 这种设计背后藏着 Linux 的核心哲学:一切皆文件。...七、关键概念图 Linux文件系统与设备驱动协作 ├── 核心纽带:VFS(虚拟文件系统) │ ├── 作用:统一接口,屏蔽差异 │ ├── 对接对象:文件系统、设备驱动、用户程序 │ └─...驱动执行实际硬件操作 八、看懂它们,就看懂了 Linux 的半壁江山 理解文件系统与设备驱动的关系,以及file、inode结构体的作用,相当于掌握了 Linux 内核的 "任督二脉"。

    9510

    OpenHarmony 轻内核M核源码分析系列二一 01 虚拟文件系统VFS

    1、VFS结构体定义在文件components\fs\vfs\fs_operations.h中定义了VFS虚拟文件系统操作涉及的结构体。...(*Stat)(const char *path, struct stat *buf); int (*Ftruncate)(int fd, off_t length); };2、VFS...重要的内部全局变量在文件components\fs\vfs\los_fs.c中有2个全局变量比较重要,⑴处定义的数组g_fsmap维护文件系统类型映射信息,数组大小为2,支持"fat"和"littlefs...相关的操作接口在之前的系列文章《鸿蒙轻内核M核源码分析系列十九 Musl LibC》中介绍了相关的接口,那些接口会调用VFS文件系统中操作接口。...的结构体和全局变量,分析了下VFS文件操作接口,对于随机数文件也进行了分析。

    20910
    领券