Ich arbeite an einem tragbaren OS-Programm, das davon profitieren würde, festzustellen, ob ein physisches Speichergerät eine SSD oder eine einfache alte Spin-Disk ist.Erkennung von SSD-Speichergeräten unter POSIX-Betriebssystemen
Unter Linux gibt es:
/sys/block/sdX/queue/rotational
, die 0 oder 1, wenn SSD zurückkehren, aber ich bin nicht sicher, ob dies der beste Weg ist.
Unter Windows und UNIX Ich habe keine Möglichkeit, es zu erfassen, vielleicht soll ich ioctl DEVICE_SEEK_PENALTY_DESCRIPTOR
und überprüfe die Such verwenden gefunden penelty (die auf einem SSD-Speichergerät sehr niedrig sein sollen), oder vielleicht DeviceIoControl
verwenden, um die nominalen Medien überprüfen Drehrate (die bei einem SSD-Speichergerät ebenfalls sehr niedrig sein sollte).
Irgendwelche Empfehlungen für mich, wie man mit dem Entdecken der SSD-Disketten auf POSIX kompatiblen OS'es fortsetzt?
Da es keine Standardschnittstelle gibt, müssen Sie auf der ganzen Linie etwas unternehmensspezifisches tun. Es wäre schön, wenn es einen einfachen plattformübergreifenden Weg geben würde, es zu bestimmen. Unter Linux ist IIRC 'rotational' auch für USB-Sticks" 0 ". – Petesh
@Petesh Es wäre schwierig, es in den POSIX-Standard zu bekommen, wenn es keine zuverlässige Möglichkeit zur Erkennung von SSD-Speichergeräten gibt. –
Ihre Anwendung würde wahrscheinlich von einer bescheidenen Benutzer-Set-Option profitieren, vielleicht eine nette Tabelle aller Festplatten und ob sie im "SSD-Modus", "Spinner-Modus" oder möglicherweise "RAM-Disk-Modus", "unbekanntes NAS Gerätemodus "," lustiger spezieller Dateisystemmodus ", und so weiter. Ich würde keine Zeit verschwenden, um eine Erkennungsfunktion zu entwickeln, die wahrscheinlich in jedem Fall manuelle Überprüfung und Überschreibung benötigen würde. –