De hecho, puede determinar con bastante facilidad la latencia rotacional: lo hice una vez como parte de un proyecto universitario. Se describe en this report. Deberá pasar a la página 7, donde verá algunos buenos gráficos de la latencia. Va de aproximadamente 9.3 ms a 1.1 ms - una caída de 8.2 ms. Eso corresponde directamente al 60 s/8.2 ms = 7317 RPM
.
Se hizo with simple C code - aquí está la parte que mide la posición entre las posiciones a
y b
en un archivo reutilizable. Hicimos esto con más y más grandes b
valores hasta que se nos ha extraviado todo el camino alrededor de un cilindro:
/* Measure the difference in access time between a and b. The result
* is measured in nanoseconds. */
int measure_latency(off_t a, off_t b) {
cycles_t ta, tb;
overflow_disk_buffer();
lseek(work_file, a, SEEK_SET);
read(work_file, buf, KiB/2);
ta = get_cycles();
lseek(work_file, b, SEEK_SET);
read(work_file, buf, KiB/2);
tb = get_cycles();
int diff = (tb - ta)/cycles_per_ns;
fprintf(stderr, "%i KiB to %i KiB: %i nsec\n", a/KiB, b/KiB, diff);
return diff;
}
Esta pregunta tiene [una respuesta en Unix y Linux] (http://unix.stackexchange.com/questions/65595/how-to-know-if-a-disk-is- an-ssd-or-an-hdd/65602 # 65602). – Totor
[¿Cómo comprobar si mi Ubuntu se coloca en SSD?] (Http://askubuntu.com/q/792814/253474) –