Ver Mensaje Individual
  #2350  
Viejo 01/05/14, 21:08:04
Array

[xs_avatar]
bernarbernuli bernarbernuli no está en línea
Colaborador/a
 
Fecha de registro: ago 2010
Localización: Vigo
Mensajes: 1,377
Modelo de smartphone: Xiaomi Mi6, Nexus 6, Samsung Galaxy S IV
Tu operador: Yoigo
Bueno, aquí está el tutorial que dije hace un rato, para el que pueda interesar. No lo meto por ahora en los primeros post, porque no tengo espacio en el 2º post, que es donde lo quiero meter.

Mañana, a ver si tengo un rato ocioso por la tarde o el finde y hago otro tuto sobre "gadgets" útiles



¿Por qué tengo tan poco espacio en el móvil? ¿Que son las particiones?

Seguramente te habrás preguntado alguna vez, si el SGS4 lo publicitan con que posee 16 GB de capacidad, ¿por qué me marca el móvil que en la memoria interna solo tengo 9 GB de capacidad para instalar aplicaciones, por ejemplo? ¿Donde están los 7 GB restantes?

La clave de todo esto son las particiones. Android es un sistema operativo basado en Linux y, como tal, estructura sus archivos en particiones. Pero, ¿Que son las particiones? Las particiones de un disco son divisiones virtuales independientes unas de las otras que se realizan sobre una sola unidad física de almacenamiento de datos. Cuando el sistema monta una determinada partición (montar una partición es hacerla accesible por el sistema), éste le asigna unas determinadas opciones de montaje que incluyen tanto el modo de acceso (lectura y escritura o solo lectura), como otras propiedades (sistema de ficheros que se implementa, posibilidad de ejecutar archivos de root, etc.) y que no pueden modificarse posteriormente, lo que hace imposible, por ejemplo, escribir un archivo en una partición montada como de lectura exclusiva. La mayoría de estas particiones se crean en la memoria interna del dispositivo, una memoria de estado solido (flash), conocida como NAND.

Por tanto, y como verás mas abajo, el SGS4 se estructura en mas de 20 particiones, y solo la partición /data de un tamaño aproximado de 9 GB es la que el sistema permite hacer uso por parte de los usuarios para almacenar datos, el resto de las particiones son de uso exclusivo del sistema, unos 6 GB aprox. Al instalar una ROM sea stock, CM o cualquiera, se flashean entre otras particiones, en la partición /system (que tiene casi 3 GB de capacidad). Teniendo en cuenta esto, para una ROM stock (de 2,5 GB aprox.), el tamaño de la partición /system puede ser el apropiado, pero para la CM que su ROM solo tiene apenas 300 megas de tamaño, solo ocupa el 15% de la partición, desaprovechando espacio que podría ser útil en la partición /data. De esto no se puede hacer nada, o casi, existe una aplicación en XDA, llamada Pit Magic, con el que podrías crear un archivo pit modificado que reparticionaría las particiones con el tamaño apropiado, disminuyendo, por ejemplo, el tamaño de las particiones /system y /cache, a favor de la partición /data. Evidentemente, solo es indicado para un usuario avanzado, ya que es sumamente fácil convertir el móvil en un pisapapeles.

Comprender la estructura en particiones y que contienen, además de saber el motivo del tamaño de la SD interna, es útil para saber qué estás haciendo cuando, al instalar la ROM, se te pide que previamente hagas ciertas acciones como formatear ciertas particiones, hacer wipe cache, o wipe data / factory reset. Por lo tanto, a continuación se detallan cuales son las particiones principales y para qué sirven.


Particiones en Android: Estructura del sistema de Archivos

(Click para mostrar/ocultar)

Partición de arranque (/boot)
La partición de arranque se encarga de gestionar el arranque del dispositivo. En su interior está el llamado bootloader y el kernel. Sin esta partición, el dispositivo sencillamente no sería capaz de iniciarse. Es muy importante saber que, si formateamos esta partición (con el ClockworkMod Recovery, por ejemplo), no debes reiniciar el dispositivo bajo ningún concepto antes de instalar otra ROM que incluya una partición /boot, ya que no volvería a iniciarse.

En la estructura de archivos, al menos los datos relativos al kernel del sistema, se monta en la carpeta /sys, también los módulos y librerías asociados a éste; y los datos y archivos de cada uno de los dispositivos, tales como la CPU (por ejemplo, los archivos relacionados con las velocidades máxima y mínima del procesador se encuentran en la carpeta /sys/devices/system/cpu).
Partición de recuperación (/recovery)
La partición de recuperación se puede considerar como una partición alternativa a la de arranque (/boot). Permite iniciarlo en un modo especial llamado modo de recuperación, el cual muestra una consola con la que realizar tareas de mantenimiento o recuperación de datos. Es muy típico instalar un "Custom Recovery" como CWM o Philz Recovery, el cual permite hacer tareas más avanzadas como limpiar o borrar alguna de las particiones de manera individual, crear particiones, hacer copias de seguridad y restaurarlas, y lo más importante, flashear ROMs cocinadas.

Esta partición no se monta, por lo que no la encontrarás en la estructura de archivos.
Partición de sistema (\system)
La partición de sistema contiene básicamente el sistema operativo en sí (excepto el kernel y el bootloader que se ubican en /boot). Incluye la interfaz de usuario, así como las aplicaciones de sistema y configuraciones que vienen preinstaladas, siendo su contenido montado por el sistema de forma predeterminada en modo de lectura exclusiva en la carpeta /system, lo que indica que puedes leer los archivos que contiene pero no puede modificarlos, con independencia de los permisos asignados a los mismos. Formatear esta partición borraría Android del dispositivo, aunque podría arrancar para, por ejemplo, iniciarlo en modo bootloader o en modo recuperación para instalar una nueva ROM, ya que la partición /boot o /recovery son independientes a esta.

Dentro de la estructura de archivos de la carpeta /system están, entre otras carpetas:
  • La carpeta /app, contiene las aplicaciones de sistema, tales como el launcher, las aplicaciones de contactos y de telefonía, el calendario, reproductor de música, etc.
  • la carpeta /etc, contiene las configuraciones estáticas del sistema.
  • La carpeta /media contiene los sonidos de notificaciones y tonos de llamada que se incluyen por defecto.
  • Las carpetas /bin y /xbin contienen archivos binarios y scripts que utiliza el sistema para realizar algunas tareas, así como los scripts que permiten implementar algunos de los comandos del sistema, tales como el propio intérprete de comandos (habitualmente sh o bash).
Partición de datos de usuario (\data)
La partición /data contiene las aplicaciones que instala el usuario y sus datos, es decir, todo lo que el usuario ha creado o modificado, así como los datos de las aplicaciones de sistema, cuyo contenido es montado de tal forma que el sistema pueda leer y escribir sus archivos, lo que permite la modificación dinámica de su contenido. En esta partición se alojan tambien los contactos y toda su información asociada, el registro de llamadas, mensajes (SMS y MMS), emails, favoritos, Dispositivos bluetooth y puntos Wifi guardados, fondos de pantalla, datos del calendario o asociaciones a cuentas como Google, Facebok, Twiteer, etc. Hacer wipe data / factory reset afecta directamente a esta partición, es como si lo hubieras iniciado por primera vez, sin afectar a la SD interna (/data/media/0) y a la partición /system, que es donde se flashea la ROM.

Dentro de la estructura de archivos de la carpeta /data estan, entre otras carpetas:
  • La carpeta /app contiene las aplicaciones que instala el usuario, antiguamente la carpeta /app-private incluía también algunas aplicaciones ocultas, pero este directorio se encuentra en desuso gracias al nuevo sistema de comprobación de licencias online.
  • La carpeta /data almacena los archivos asociados a cada una de las aplicaciones, bien se trate de aplicaciones del sistema o instaladas por el usuario, encargándose Android de crear un directorio para cada una de ellas, a la que asigna permisos de acceso de forma que sólo la aplicación a la que pertenecen los mismos puede acceder a ellos.
  • La carpeta /media, y en concreto la carpeta /media/0, es donde se guardan los datos que se quieran almacenar, como archivos multimedia, documentos, y un largo etcétera, pero además muchas aplicaciones instaladas por el usuario guardan aquí muchos datos y configuraciones de estas. Este espacio es el que llamamos SD interna, que se puede acceder a través de varias rutas o enlaces simbólicos: /storage/emulated/0, /storage/emulated/legacy, /mnt/sdcard ó /mnt/shell/emulated/0.
Partición /cache
Esta partición es en la que Android guarda datos a los que el usuario accede con frecuencia, para que la carga de estos datos sea mucho más rápida cuando sea solicitada. Esto hace que tareas frecuentes funcionen mucho más rápido que otras que no sean tan habituales. Limpiar esta partición no afectará en absoluto a los datos personales, simplemente afectará a esta funcionalidad que pretende mejorar el rendimiento del dispositivo. En cualquier caso, una vez limpia, con el uso se volverá a rellenar con los datos que el sistema operativo considere más oportunos. Hacer Wipe cache partition afecta a esta partición.

En la estructura de archivos esta partición se ubica en la carpeta /cache.
Partición /efs
Esta partición, que solo está presente en los dispositivos de Samsung, almacena información relevante referente al hardware de comunicaciones del dispositivo (direcciones MAC del bluetooth y red inhalámbrica), así como el IMEI del teléfono.

En la estructura de archivos esta partición se ubica en la carpeta /efs.
Partición /mdm
La partición modem almacena todos los datos relacionado con las antenas de comunicaciones (telefonía, Wifi, bluetooth, GPS). En la estructura de archivos esta partición se ubica en la carpeta /firmware-mdm. Cuando flasheas un nuevo modem, evidentemente se ubican en esta partición.
Partición /param
Esta partición contiene una serie de parametros (de ahí el nombre), variables y configuraciones de el hardware del móvil. Tambien, entre otras cosas, contiene todos los ajustes del modo de depuración (DLOW/DMID/DHIG etc), el "chivato" de si has flasheado o no una "custom" ROM y el contador de flasheos.
Otras particiones:
Hay bastante mas particiones pero sería muy farragoso desgranar cada una, de lo que es ya un tostón. Aquí cuelgo la tabla de particiones que tiene el SGS4, ordenadas por tamaños:

Código:
Nº	Partición	    Tamaño	            carpeta	        File System	Descripción       

1	userdata        9961 MB (9,7 GB)	    /data	                ext4		        Application & User Data
2	system	    2894 MB (2,8 GB)	    /system	                ext4		        Android Platform  
3	cache	    2171 MB (2,1 GB)	    /cache	                ext4		        Cache             
4	hidden	    524 MB	                	                        ext4		        preload                 
5	mdm	            54 MB	                    /firmware-mdm     vfat		        CP Binary       
6	carrier	    21 MB	                		                ext4	                        
9	pad	            17,3 MB	                		                        
7	efs	            14,3 MB	                    /efs		        ext4		         EFS Partition           
8	apnhlos	    13,1 MB	                    /firmware	        vfat	                
10	boot	            10,5 MB	                		                emmc	         Kernel + Ramdisk        
11	fota	            10,5 MB	                				                         FOTA backup partition   
12	recovery        10,5 MB	                		                emmc	         Recovery                
13	persdata        9,2 MB	                		                ext4	                        
14	persist	     8,2 MB							                         Persist                           
15	backup	     6,1 MB							                         NV data backup partition          
16	param	     6,1 MB							                         Parameter Block                   
17	modemst1      3,1 MB							                         Modem Storage 1 (NV data)         
18	modemst2      3,1 MB							                         Modem Storage 2 (NV data)         
19	fsg	             3,1 MB							                         Modem Storage "Golden Copy"       
20	aboot	     2 MB							                         AP Bootloader                     
21	m9kefs1	     0,8 MB							                                  
22	m9kefs2	     0,8 MB							                                  
23	m9kefs3	     0,8 MB							                                  
24	sbl3	             0,5 MB							                         Secondary Bootloader 3            
25	rpm	             0,5 MB							                         Resource and Power Manager        
26	tz	             0,5 MB							                         Trust Zone                        
27	sbl2	             0,3 MB							                         Secondary Bootloader 2            
28	sbl1	             0,1 MB							                         Secondary Bootloader 1            
29	ssd	             0,008 MB						                         Secure Software Download

	TOTAL	     15746,4 MB (15,4 GB)


El sistema operativo del móvil provee de varios comandos que permiten la comprobación del estado de las particiones, así como del tamaño de las mismas, a los que se accede a través de una shell (bien sea usando una aplicación de terminal en el propio móvil o bien mediante el comando adb desde un ordenador). Para ver la tabla de particiones por ti mismo, sigue estos pasos:

1. Asegurate tener los drivers de Samsung y ADB bien instalados. Si no es así, descargalos de aquí.
2. Apaga el móvil, accede en modo recovery y conecta el USB del ordenador al móvil.
3. Desde windows, ve a la función ejecutar y escribe adb shell. Se abrirá una pantalla que permite ejecutar comandos de consola dentro del móvil.
4. Escribe ahora parted /dev/block/mmcblk0 y después print. De esta forma verás la tabla de particiones del móvil y su tamaños.

¿Tiene algo que ver esta estructura de particiones, que impida conectar por USB la SD interna como almacenamiento masivo?
Antes de la aparición de Android 4.0 ICS, el sistema tenía divida la memoria de almacenamiento del usuario en 2 particiones principales
  • Almacenamiento de aplicaciones (/data): Dónde se ubican las aplicaciones que instalas. Los datos que las aplicaciones generaban también se podía guardar aquí, aunque también podían ser guardados en la partición que sigue.
  • Almacenamiento de datos (SD interna): Se utilizaba para el almacenamiento de datos, ya sea por parte del usuario (por ejemplo, fotos o videos que tomaba) o por las aplicaciones. Incluso podía mover aquí parte de los componentes de una aplicación instalada, con la función "Mover a almacenamiento interno en ajustes > aplicaciones.
A partir de Android 4.0, Android introduce una nueva gestión de la memoria interna, unificando estas 2 particiones en una sola, la partición /data y lo que era la SD interna, ahora es un sistema de archivos virtual de /data, es decir, ya no hay división entre el espacio de almacenamiento de aplicaciones y el espacio de almacenamiento interno que en versiones mas antiguas iban en /data y /sdcard respectivamente. Esta partición es la única que puedes usar, además debes convivir con todo el espacio que usan las aplicaciones para almacenar datos. Es decir, no perderás más espacio por tener la partición de almacenamiento de aplicaciones casi vacía mientras que el almacenamiento de datos está hasta los topes, o viceversa. La memoria se maneja como un espacio único que nos permite utilizar a voluntad toda su capacidad ya sea para aplicaciones o archivos almacenados. Sin embargo, dicha mejora conlleva un inconveniente, ya que al no existir divisiones internas, el espacio de memoria es visto como un todo y no permite que sea montado como unidad de almacenamiento al mismo tiempo que es usado por el sistema operativo del móvil. Llevado a la práctica, supone que si conectas el móvil a un ordenador por USB, no será reconocido como un disco duro externo, a través del protocolo de Almacenamiento masivo USB (UMS) (donde actúa esencialmente como otra unidad en Windows), y solo podrás acceder a los datos a través del protocolo MTP (Media Transfer Protocol), que seguiría permitiendo usar el móvil como dispositivo de almacenamiento, pero con algunas diferencias y limitaciones, por ejemplo, al copiar archivos, MTP no mantiene la fecha de modificación y creación, y establece para todos los archivos la hora actual, por lo que si copias la fotos de la cámara se pierde la fecha de cuando se tomaron. Mas info sobre esto aquí.

Todo lo dicho, y para concluir las explicaciones, sólo tiene efecto esta limitación con la SD interna, puesto que la SD externa si soporta el protocolo de almacenamiento masivo, pero con la ayuda de aplicaciones como USB Mass Storage Enabler o UMS Widget que lo activan.
¿Por qué no puedes mover apps a la tarjeta SD externa?
En relación con la nueva gestión de almacenamiento con Android 4.0 ICS, se produjo otra limitación, y es que se anuló la capacidad de mover aplicaciones de forma nativa a la SD Externa, es decir, la función nativa "Mover a a la tarjeta SD" en información de aplicación, cuando seleccionabas una aplicación del administrador de aplicaciones. ¿Por qué? para entender esto, se debe explicar la historia desde el principio.

En los inicios de Android, los móviles no disponían de las capacidades de almacenamiento de la que disponen actualmente. Antes, lo más habitual era encontrar dispositivos con un máximo de 150 Mb para instalar aplis y de poco más para los datos de usuario. ¿Quién no ha recibido un mensaje de notificación del tipo "El espacio del almacenamiento se está agotando" o incluso el mensaje "No hay suficiente espacio de almacenamiento disponible" en algún momento u otro?. Para solucionar esta limitación de hardware, a partir de Android 2.2 Froyo se introdujo esa función nativa que permitía mover las aplis a la tarjeta SD externa, para así poder instalar más aplis en el dispositivo. Cuando utilizabas la opción Mover alplicaciones a la SD (o cualquier aplicación que realizaba una función equivalente), lo que realmente sucedía es que se movían parte de las apli en cuestión desde la partición del sistema, a la partición del usuario. Cuando digo parte de la aplicación, es que en realidad desplazaba determinados datos dependientes de esa aplicación (que normalmente eran los de mayor peso) pero la apli en sí, el apk, siempre quedaba en el almacenamiento interno del dispositivo, no se movía a la tarjeta SD externa.

Mucha gente tenía una tarjeta externa, solo por la posibilidad de pasar aplicaciones a la externa, y así liberar espacio en la interna. No obstante, a pesar de que con esa medida se solucionaba un problema, se creaban otros:
  • Dado que las aplicaciones estaban instaladas en la tarjeta SD, la velocidad de respuesta del móvil se reducía considerablemente puesto que esta estaba limitada a la velocidad de lectura y escritura de la tarjeta, que estará siempre muy por debajo de la velocidad de la memoria interna NAND. Esto producía bloqueos, falta de fluidez y la sensación de “lag” o congelación del dispositivo.
  • El montaje y desmontaje de la tarjeta cuando se conectaba al ordenador, provocaba la inestabilidad de las aplis instaladas en la tarjeta SD y las que estaban funcionando en ese momento.
  • La falta de optimización de algunas de ellas, que al desinstalarse del sistema no tenían en cuenta que la apli podía estar instalada en la tarjeta SD, provocaba un fallo en su desinstalación que hacía que la apli continuará apareciendo en el sistema, pero sin ser operativa, ni poder desinstalarla completamente.
Ya al disponer de más memoria de almacenamiento interna para instalar aplicaciones los dispositivos más nuevos, como el SGS4, y así evitar esos problemas antes mencionados, Google reaccionó, y a partir de la introdución de Android 4.0 ICS anuló la capacidad de mover aplicaciones a la SD externa y quitó esa función. No obstante, en el Samsung Galaxy S4 entre algunos pocos más y debido a las múltiples quejas los usuarios, por el enorme espacio que ocupaba el sistema operativo, Samsung mantuvo esa función, aunque con ciertos matices, ya que cuando pulsabas el botón "Mover a la SD, lo que realmente sucedía es que la apli en cuestión se movía desde la partición del sistema a la partición que emula a la tarjeta SD virtual. Es decir, que no se mueve del almacenamiento interno de tu dispositivo por mucho que indique que está en la SD. Si bien es cierto que algunas aplis que necesitan una gran cantidad de datos (juegos en su gran mayoría) permitían mover estos datos a la SD externa. Finalmente con la aparición de Android 4.4.2 Kitkat eliminó definitivamente esta función. Algunas aplis como App2SD, que antaño resultaron tan útiles, perdieron toda razón de ser con las nuevas actualizaciones de Android. De hecho, si intentas mover apps a la tarjeta SD con ellas, te mostrarán un mensaje de error indicándote que no es posible ya que tu tarjeta SD es emulada, no real.
__________________

Recomiendo el uso de Firefox o Google Chrome, sobre todo, porque tiene corrector autográfico integrado. Los que escriben no aprenderán nada, pero al menos los que lo leen no le quemarán los ojos.

Última edición por bernarbernuli Día 07/05/14 a las 23:17:16.
Los siguientes 10 usuarios han agradecido a bernarbernuli su comentario:
[ Mostrar/Ocultar listado de agradecimientos ]