# Linux I/O 栈浅析

DevFeed: [Linux I/O 栈浅析](<https://devfeed.tech/articles/linux-i-o-41000.md>)

Original publisher: [Read original article](<https://blog.joway.io/posts/linux-io-stack/>)

Author: Joway

Published: 2019-08-11T00:00:00Z

Content type: tutorial

Language: zh

Sources: [Random Thoughts](<https://devfeed.tech/sources/random-thoughts.md>)

Topics: [IO](<https://devfeed.tech/topics/io.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Cache](<https://devfeed.tech/topics/cache.md>), [file](<https://devfeed.tech/topics/file.md>), [Ext4](<https://devfeed.tech/topics/ext4.md>), [XFS](<https://devfeed.tech/topics/xfs.md>)

Tags: [block](<https://devfeed.tech/tags/block.md>), [cache](<https://devfeed.tech/tags/cache.md>), [ceph](<https://devfeed.tech/tags/ceph.md>), [ext4](<https://devfeed.tech/tags/ext4.md>), [file](<https://devfeed.tech/tags/file.md>), [filesystem](<https://devfeed.tech/tags/filesystem.md>), [hdd](<https://devfeed.tech/tags/hdd.md>), [hdfs](<https://devfeed.tech/tags/hdfs.md>), [io](<https://devfeed.tech/tags/io.md>), [linux](<https://devfeed.tech/tags/linux.md>), [mysql](<https://devfeed.tech/tags/mysql.md>), [oracle](<https://devfeed.tech/tags/oracle.md>), [ssd](<https://devfeed.tech/tags/ssd.md>), [tech](<https://devfeed.tech/tags/tech.md>), [xfs](<https://devfeed.tech/tags/xfs.md>)

## AI overview

This article provides a high-level overview of Linux file I/O, tracing the path from applications through VFS, page cache, filesystems, FUSE, block devices, and I/O scheduling. It also explains hard and symbolic links, direct I/O, filesystem partitioning, and access to raw devices.

## Source excerpt

在 Linux 中，所有外部资源都以文件形式作为一个抽象视图，并提供一套统一的接口给应用程序调用。本文将以宏观视角试图阐述 Linux 中关于文件 IO 的整个调用脉络。 VFS 在 Linux 中，所有 IO 都必须先经由 VFS 层进行转发。通过 VFS 将包括磁盘、网络 Socket、打印机、管道等资源全部封装成统一的接口。