一篇文章理解Linux操作系统中的块设备

块设备也就是存储以“块”为单位存储数据的设备,比较典型的如磁盘设备、光盘或者优盘。本文首先集中在磁盘设备的相关内容的分析,其他设备类型很类似,暂时不做介绍。

在Windows操作系统下磁盘设备似乎是一个实实在在的设备,我们可以通过图形界面对磁盘设备进行管理。如图1是Windows下的磁盘管理界面,可以通过这个界面清晰的看到磁盘设备,并且可以对其进行格式化等操作。

图1 Windows磁盘设备

Linux操作系统的磁盘设备并不直观,在LInux系统中“一切皆文件”的理念下,磁盘设备其实是一个文件,只不过是一个比较特殊的文件。如图2是某些磁盘和分区的文件路径,其中黄色字体部分是磁盘的路径(类似文件路径),而前面红色方框内的b表示这个文件是磁盘设备文件,而非普通文件。

图2 Linux系统下磁盘设备

磁盘设备文件也是位于VFS(虚拟文件系统)下面,与Ext4等文件系统类似(参考图3)。用户层面可以用访问普通文件的接口(API)访问磁盘。如下代码是用Python实现的一个向磁盘写入字符串的程序。代码很简单,就是打开磁盘所在的路径(path),然后调用write函数写

你可能感兴趣的:(零基础linux入门到精通,Linux内核,存储技术从入门到精通,Linux,内核,块设备,磁盘,驱动)