原始设备需要文件系统吗?

原始设备需要文件系统吗?

为了在读取文件时绕过操作系统缓存,我O_DIRECT在调用open().在维基百科它说两者之间没有区别。然而,将 HD(或更具体地说是分区)定义为原始设备是否可以避免使用文件系统? (在这个堆栈溢出帖子评论说这是不可能的,因为文件系统已经预先格式化。 )

此外,除了文件系统问题之外,如果有人可以分享一个好的公会来定义和使用原始设备,我将非常感激。

答案1

不,访问原始设备不需要文件系统。好吧,你可以说你正在使用虚拟文件系统/dev,但这只需要公开设备的名称,之后你的 I/O 将转到该设备。

但缓存/缓冲有很多级别。文件系统只是其中之一,系统将有自己的一套,磁盘硬件也有自己的一套。如果你想报复更近对于设备,您将需要访问其他接口。

使用现有工具可能会更好,例如ddhdparm“使用 dd 测试磁盘 I/O 性能”或者“磁盘速度测试(读/写):Linux 中的 HDD、SSD 性能”

相关内容