C - 原始硬盘 acces /dev/sd[x] vs /dev/sg[y]



我一直在研究一个从硬盘读取数据的程序。我想知道使用 sda 设备还是 sg0 设备更好?我知道如果您要执行诸如使用 sg 驱动程序进行查询等操作之类的事情,则最好使用 sg0,但我想从驱动器中读取数据......另一个区别是 sg0 是字符设备,sda 是块设备

/dev/sda 是一个块设备 - 你可以从 C 程序中打开它,然后读取/写入/查找/pread/pwrite(常规 Linux I/O 函数!)它,然后关闭它。

"sg"驱动程序是一种更智能、更统一的方式来访问存储设备 - 您需要形成一个 SCSI 命令以通过"sg"驱动程序向设备发送一些内容,并且您需要解析它将向您发送的消息。

欲了解更多信息,请看这里。

最新更新