在POSIX OS上检测SSD存储设备


NetworkAttachedStorage
2025-02-21 08:45:13 (8天前)
  1. 我正在开发一个OS便携式程序,可以检测物理存储设备是否存在


SSD
</跨度>
或者一个普通的旧旋转盘。

在Linux上有:

/ SYS /块/ sdX的/队列/旋转

如果…返回0或1

SSD
</跨度>
,但我不确定这是不是最好的方法。

在Windows和UNIX上我还没有找到任何检测它的方法,也许我应该使用ioctl DEVICE_SEEK_PENALTY_DESCRIPTOR并检查搜索…

3 条回复
  1. 0# Innate Mind | 2019-08-31 10-32



    有关:

    https://unix.stackexchange.com/questions/65595/how-to-know-if-a-disk-is-an-ssd-or-an-hdd



    IMO虽然。您可以使用POSIX方法来确定操作系统,并使用各种方法来检测SSD,当无法确定时,只需询问最终用户,如果他们不知道,则具有安全默认值。我想如果没有符合POSIX标准的方法,那就是我会做的事情(但我可能会首先查看POSIX邮件列表)。我希望这有帮助。


  2. 1# Charizard | 2019-08-31 10-32



    我将回应Lorenzo Gatti上面的评论,他说,做到这一点的最好方法几乎肯定是一个暴露给用户的选择。没有可移植的方法这样做,如果其他操作系统(特别是较旧的操作系统,除非你有一些保证,你的用户使用的是当前操作系统)之外没有办法,我也不会感到惊讶。



    实际上,“我正在使用固态驱动器”的复选框,默认关闭,可能是最好的选择,特别是因为那些可能拥有SSD的(现在,至少)技术娴熟足以知道他们有什么。


登录 后才能参与评论