Permítanme empezar dándoles algunos antecedentes generales. Mi pregunta real está en la parte inferior de este post.
Antecedentes, parte 1: Repeticiones del diario frente a comprobaciones de consistencia.
Por favor, asuma que su dispositivo Android utiliza el sistema de archivos ext4 para su almacenamiento interno, y el sistema de archivos FAT32 para su almacenamiento MicroSD extraíble (si está presente).
En ext4, una "repetición del diario" es una operación de comprobación y reparación parcial del sistema de archivos que normalmente no tarda más de unos segundos. ( Fuente .) El kernel de Android hace una repetición del diario cuando es necesario. (Basado en esta fuente y esta fuente .)
En ext4, una comprobación completa de la consistencia del sistema de archivos lleva más tiempo. En un dispositivo Android medio, tarda unos 12 segundos. (Basado en esta fuente .)
FAT32 es un sistema de archivos que no tiene diario. Por lo tanto, no hay repeticiones del diario. Sólo hay comprobaciones de consistencia.
Antecedentes, parte 2: Probablemente sea una buena idea que tu sistema operativo realice comprobaciones periódicas de consistencia. He aquí por qué.
Kiran Bangalore, director del programa de Microsoft escribe que hay ciertos casos en los que un sistema de archivos puede corromperse. En un sistema de archivos con registro como ext4, estos casos son extremadamente raros. En las tarjetas MicroSD extraíbles, sospecho que estos casos no son tan raros.
La forma habitual de comprobar la existencia de este tipo de corrupción es configurar el sistema operativo para que ejecute una herramienta de comprobación de consistencia cada cierto tiempo. Estas herramientas incluyen chkdsk
, ScanDisk, Apple Disk Utility, fsck
y otros.
Incluso en el almacenamiento ext4 integrado en un dispositivo Android, las comprobaciones periódicas de consistencia son probablemente una buena idea. El tune2fs
La página del manual explica por qué:
Las unidades de disco defectuosas, los cables, la memoria y los errores del kernel pueden corromper un sistema de archivos sin marcarlo como sucio o con errores. Si utiliza el registro en el diario de su sistema de archivos, éste nunca se marcará como sucio, por lo que normalmente no se comprobará. Un error en el sistema de archivos detectado por el kernel [puede] forzar una [comprobación de consistencia] en el siguiente reinicio, pero puede ser ya demasiado tarde para evitar la pérdida de datos en ese momento.
(Tenga en cuenta que, en Android, creo que un error del sistema de archivos detectado por el kernel no llevan a una comprobación de consistencia en el siguiente reinicio. Android es extraño en ese sentido).
Antecedentes, parte 3: Esto es lo que hacen otros SO.
Windows
Windows Vista, y todas las versiones posteriores de Windows, incluyen un Autorreparación de NTFS característica. Por lo tanto, Kiran Bangalore escribe que, hoy en día, los usuarios de Windows ya no necesitan realizar comprobaciones periódicas de consistencia. Explica que el sistema operativo "le informará cuando... se encuentre una corrupción".
Windows 10 Mobile
Windows 10 Mobile es probablemente el El tercer sistema operativo para smartphones más popular . Creo que utiliza NTFS. Así que tal vez también puede hacer NTFS auto-sanación.
OS X
Mac OS X se ejecuta fsck_hfs -p
durante cada arranque . No sé qué hace esto. Ver el página del manual .
Linux
Es cierto que algunos Los desarrolladores de ext4 dicen que las comprobaciones periódicas de consistencia de ext4 no son especialmente útiles. Pero otros Los desarrolladores de ext4 dicen que estas comprobaciones mejoran la seguridad y la fiabilidad.
En la práctica, cuando un sistema de archivos se marca con un error, Linux ejecuta una comprobación de consistencia en el siguiente reinicio. En otras ocasiones, las distribuciones modernas de Linux no realizan comprobaciones periódicas automáticas de consistencia, nunca. Aquellos que las deseen deben programar estas comprobaciones por sí mismos.
Android
Android de serie incluye un herramienta de comprobación de la coherencia de ext4 . Además, incluye una comprobación de coherencia herramienta que funciona con tarjetas MicroSD extraíbles de 32 GB o menos (pero puede corromper tarjetas más grandes). Por último, su dispositivo puede o no incluir también fsck.exfat
o exfatfsck
para ejecutar comprobaciones de consistencia en tarjetas MicroSD extraíbles de 64 GB o más.
Pero, ¿el sistema operativo ejecuta alguna vez alguna de estas herramientas de forma automática?
iOS
El sistema de archivos de iOS suele ser HFSX o APFS, y fsck
es incluye con el sistema operativo. No sé si iOS ejecuta o no comprobaciones automáticas de consistencia.
Esta es mi pregunta.
Tenga en cuenta las ROMs de stock que vienen con los dispositivos Android actuales.
¿Las ROMs de este tipo realizan periódicamente comprobaciones de consistencia, ya sea en el dispositivo de almacenamiento interno o (si procede) en la tarjeta MicroSD extraíble?
(P.D. En los casos en los que un dispositivo se apaga de forma elegante y le queda suficiente carga de batería, es posible para ejecutar una comprobación de consistencia al apagar en lugar de al iniciar. Pero se necesita un esfuerzo de ingeniería para implementar esta funcionalidad, por lo que los desarrolladores de sistemas operativos normalmente no se molestan en hacerlo. Me pregunto qué hace Android).
(P.P.S. También me pregunto si existe o no cualquier teléfonos inteligentes, correr cualquier OS, que hacen cualquier comprobación periódica de la consistencia de la rutina. Una vez más, por favor, publique sus comentarios a continuación).