我在硬盘上找东西有问题。
我想知道如何在硬盘上进行一系列的搜索操作,而不需要读写。这就像文件“硬盘功耗建模”中的工作一样。我需要一个工具、一个接口或一个命令来查找磁盘上的指定地址,比如LBA或柱面地址。
我想使用这个命令来计算硬盘的搜索距离,而不需要数据传输。因为我需要根据实验绘制一条寻求距离和能量的曲线。
我需要的是一个查找命令和圆柱格式的搜索距离。linux和windows都很好。请帮我一把。
发布于 2015-01-19 11:45:45
查找并不是通常的块设备API的一部分,所以您需要发出一个特定于设备的命令来执行一个查找。为了方便起见,USB和IDE/SATA都选择对此类命令使用SCSI命令集,因此您需要参考SCSI标准。
这至少在一定程度上是为什么这些设备在Linux上显示为/dev/sdX的SCSI磁盘,相应的/dev/sgN上有相应的"SCSI通用“设备。FreeBSD提供了类似的API,MacOS和MacOS都有ASPI和朋友,除非您编写自己的内核驱动程序(对于Yosemite,让它签名),否则您在MacOS X上就不走运了。
因此,您需要的两部分是如何编写Linux的SG设备的程序:
...and标准。这些是由T10发布的昂贵的专有标准,但是一些创造性的搜索查询应该会找到您的草稿或其他链接副本。描述SCSI的一般称为“信息技术- SCSI主要命令-4 (SPC-4)”,与硬盘和类似媒体有关的是“信息技术- SCSI块命令-2 (SBC-2)”。(这些未来版本将称为SPC-5、-6等)后面的文档描述了用于查找的特定命令,您想要的命令称为for (10)。well(6)是一个遗留命令,它只支持小型磁盘,在非SCSI设备上可能不受很好的支持。
https://stackoverflow.com/questions/28023135
复制相似问题