En esta práctica final del módulo de Sistemas Operativos Monopuesto, realizaremos una comparativa empírica de rendimiento midiendo las tasas de velocidad de lectura y escritura en unidades de almacenamiento mecánico (HDD) frente a unidades de estado sólido (SSD) bajo diferentes sistemas de archivos, utilizando herramientas nativas de consola en Windows y GNU/Linux.
Objetivo:
Medir y contrastar las diferencias de rendimiento en velocidad secuencial y aleatoria entre distintas tecnologías de almacenamiento (HDD vs SSD) y formatos de sistemas de archivos mediante pruebas de estrés y lectura/escritura por comandos.
Escenario:
- Un equipo con un disco duro mecánico (HDD) y una unidad de estado sólido (SSD) disponibles.
- Acceso a la terminal de comandos con privilegios de administrador o superusuario (
sudo).
Instrucciones:
Opción A: Entorno Windows (Pruebas mediante PowerShell / DiskSpd o CrystalDiskMark)
- Preparación y análisis de velocidad con comandos nativos en PowerShell:
- Abre PowerShell con privilegios de administrador.
- Para realizar una prueba básica de rendimiento de escritura y lectura de un archivo temporal de prueba de 1 GB en la unidad analizada (ej.
C:para SSD oD:para HDD), puedes utilizar un bucle de rendimiento o herramientas especializadas portables como CrystalDiskMark en su interfaz gráfica. - Si prefieres un enfoque puramente por consola con la herramienta oficial de Microsoft DiskSpd, puedes ejecutar un test de lectura/escritura secuencial y aleatoria especificando el tamaño del bloque y la ruta del archivo de prueba (ej.
diskspd -c1G -d10 -w50 -b8k -o4 D:\testfile.dat).
Opción B: Entorno GNU/Linux (Pruebas de rendimiento con el comando dd)
- Prueba de velocidad de escritura secuencial con dd:
- Abre una terminal con privilegios de superusuario.
- Ejecuta el siguiente comando para escribir un archivo de 1 Gigabyte compuesto de ceros en una partición de prueba (asegúrate de apuntar a una ruta montada, como
/mnt/ssd/o/mnt/hdd/), midiendo la tasa de transferencia real:sudo dd if=/dev/zero of=/mnt/ssd/test_escritura.img bs=1M count=1000 conv=fdatasync - Observa el informe detallado que devuelve la consola al finalizar, indicando los megabytes por segundo (MB/s) transferidos y el tiempo total empleado.
- Prueba de velocidad de lectura secuencial con dd:
- Para evitar que la caché de la memoria RAM interfiera en la prueba y medir la velocidad real de lectura desde el dispositivo físico, limpia primero las cachés del kernel ejecutando:
sudo sync && echo 3 | sudo tee /proc/sys/vm/drop_caches - A continuación, lee el archivo creado midiendo el rendimiento de lectura:
sudo dd if=/mnt/ssd/test_escritura.img of=/dev/null bs=1M status=progress - Borra el archivo temporal de pruebas al terminar:
sudo rm /mnt/ssd/test_escritura.img
- Para evitar que la caché de la memoria RAM interfiera en la prueba y medir la velocidad real de lectura desde el dispositivo físico, limpia primero las cachés del kernel ejecutando:
Verificación
- Comprueba que has ejecutado las pruebas de velocidad tanto en la unidad HDD como en la unidad SSD.
- Verifica y anota los valores de velocidad de lectura y escritura obtenidos en ambas tecnologías.
- Confirma que los resultados reflejan la superioridad abrumadora de los SSD frente a los HDD, especialmente en operaciones de acceso aleatorio y bloques pequeños.
Preguntas de reflexión:
- ¿Por qué la diferencia de velocidad entre un HDD y un SSD es mucho más drástica en las pruebas de lectura/escritura aleatoria (IOPS) que en las pruebas de transferencia puramente secuencial?
- ¿Cómo influye el tipo de sistema de archivos elegido (por ejemplo, NTFS frente a ext4 o Btrfs) en el rendimiento global de lectura y escritura de una misma unidad SSD sometida a alta concurrencia?
- ¿Qué papel juegan tecnologías como el comando
TRIMen los discos SSD para mantener un rendimiento óptimo de escritura a lo largo del tiempo, evitando la degradación progresiva de las celdas flash?
Haz clic aquí para ver la solución orientativa
1. ¿Por qué la diferencia de velocidad entre un HDD y un SSD es mucho más drástica en operaciones de lectura/escritura aleatoria (IOPS)...
En un HDD, las operaciones aleatorias obligan al cabezal mecánico a saltar constantemente de una pista a otra y esperar a que el plato gire hasta la posición exacta del sector (latencia rotacional y tiempo de búsqueda físico), lo que hunde drásticamente el rendimiento en IOPS (operaciones de E/S por segundo).
En cambio, un SSD carece de partes móviles; accede a cualquier celda de memoria flash de forma puramente electrónica y directa mediante controladores paralelos, ofreciendo velocidades de acceso aleatorio decenas o cientos de veces superiores.
2. ¿Cómo influye el tipo de sistema de archivos elegido en el rendimiento global de lectura y escritura de una unidad SSD?
Cada sistema de archivos gestiona la asignación de bloques, la fragmentación lógica y los metadatos de manera diferente.
Sistemas modernos orientados a Linux como ext4 o Btrfs optimizan de forma excelente la indexación por extents y árboles B-tree, reduciendo la sobreoverhead de escritura. Por su parte, NTFS en Windows incluye funciones transaccionales y de compresión/indexación en tiempo real que, aunque robustas, añaden un pequeño coste computacional adicional que puede repercutir ligeramente en benchmarks extremos de E/S frente a sistemas de archivos minimalistas o especializados.
3. ¿Qué papel juega la tecnología TRIM en los discos SSD para mantener un rendimiento óptimo de escritura?
Cuando un sistema operativo borra un archivo, el sistema de archivos marca lógicamente los bloques como libres, pero sin el comando TRIM, el controlador del SSD no sabe qué celdas físicas ya no contienen datos válidos.
Cuando el SSD necesita escribir nuevos datos en esos bloques, se ve obligado a realizar un ciclo previo de lectura-borrado-escritura que ralentiza enormemente el rendimiento (efecto conocido como degradación por escritura). El comando TRIM avisa de inmediato al controlador del SSD para que limpie y prepare esas celdas en segundo plano, manteniendo la velocidad máxima nativa y prolongando la vida útil de las memorias flash.