标签: c linux io hard-drive scsi
我一直致力于从硬盘读取数据的程序。我想知道使用sda设备或sg0设备会更好吗?据我所知,如果你要使用sg驱动程序来处理诸如inquirys之类的东西,但是我想从驱动器中读取数据,那么sg0会被更好地使用...另一个区别是sg0是一个字符设备而sda是一个块设备
答案 0 :(得分:1)
/ dev / sda是一个块设备 - 您可以通过open从C程序打开它,然后读取/写入/搜索/ pread / pwrite(常规Linux I / O函数!)它,然后关闭它。
" sg"驱动程序是一种更智能,更统一的访问存储设备的方式 - 您需要形成一个SCSI命令,通过" sg"驱动程序,你需要解析它将发回给你的消息。
有关详细信息,请查看here。