原始硬盘访问/ dev / sda] vs / dev / sg [y]?

时间:2014-03-05 05:05:49

标签: c linux io hard-drive scsi

我一直致力于从硬盘读取数据的程序。我想知道使用sda设备或sg0设备会更好吗?据我所知,如果你要使用sg驱动程序来处理诸如inquirys之类的东西,但是我想从驱动器中读取数据,那么sg0会被更好地使用...另一个区别是sg0是一个字符设备而sda是一个块设备

1 个答案:

答案 0 :(得分:1)

/ dev / sda是​​一个块设备 - 您可以通过open从C程序打开它,然后读取/写入/搜索/ pread / pwrite(常规Linux I / O函数!)它,然后关闭它。

" sg"驱动程序是一种更智能,更统一的访问存储设备的方式 - 您需要形成一个SCSI命令,通过" sg"驱动程序,你需要解析它将发回给你的消息。

有关详细信息,请查看here