File I/O Kernel Inernals

2019-08-12  本文已影响0人  无无吴

本节介绍Linux内核如何实现I/O,重点是内核的三个主要子系统:虚拟文件系统(VFS)、页面缓存和页面回写。这些子系统有助于使I/O无缝、高效和优化。

The Virtual Filesystem 虚拟文件系统

虚拟文件系统允许Linux 内核在不知道当前使用的文件系统类型的情况下调用文件系统的功能并且操作文件系统数据。

The Page Cache 页缓存

页面缓存是最近从磁盘文件系统访问的数据的内存存储。
磁盘访问速度慢得令人痛苦,特别是相对于今天的处理器速度而言。将请求的数据存储在内存中允许内核完成对来自内存的相同数据的后续请求,避免重复磁盘访问。

Page Writeback 页面回写

内核通过使用缓冲区延迟write。当进程发出写请求时,数据被复制到缓冲区中,缓冲区被标记为脏,表示内存中的副本比盘上复制得到的新。
脏缓冲区需要提交到磁盘,同步磁盘上的文件和内存中的数据。这就是所谓的写回。
这在两种情况下发生:

上一篇 下一篇

猜你喜欢

热点阅读