Está en la página 1de 6

Tecnicatura Universitaria en Programación - UTN

Arquitectura y Sistemas Operativos

2023

Informe:
Estructura de archivos “arbol”

Sistema Op Actual: Android

Docentes: Ing. Francisco A. Sala


Ing. Alejandro Cabral
Lic. Hugo Shoji

Integrantes: Kreitzer, Bernardo


Samela, Facundo
Luna, Tristán
Lencinas, Francisco
Balcar, Eduardo Elio
Sistema de Archivos, Directorios y
Jerarquía de Árbol en Android
Concepto Sistema de archivos
Es un sistema de almacenamiento de un dispositivo de memoria, que estructura y ordena la escritura,
búsqueda, lectura, almacenamiento, edición y eliminación de archivos de una manera determinada.
Las aplicaciones necesitan recuperar y almacenar información, cuando un proceso se está ejecutando
puede almacenar información limitada en su propio espacio de dirección. El objetivo principal de esta
organización es que el usuario pueda identificar los archivos sin lugar a error y acceder a ellos lo más
rápido posible.
Podemos encontrar varios sistemas de archivos estándar para Windows, macOS, Linux, Unix y el
resto de sistemas operativos. A partir de los últimos años, con el desarrollo de las nuevas tecnologías,
se han ido diferenciando cada vez más. Todos los sistemas de archivos comparten la característica de
utilizar una “estructura de árbol” para organizar los archivos, que parte del directorio raíz. A partir de
ahí, se ramifican el resto de directorios y subdirectorios. Aunque presentan algunas similitudes, los
sistemas de archivos son en principio incompatibles entre sí, sin embargo, se pueden utilizar
programas de terceros que permiten el acceso de lectura y escritura a los soportes de datos
incompatibles.
En la actualidad, existen bastantes sistemas de archivos, aunque no todos están igual de extendidos.
Los más habituales hasta la fecha son FAT16, FAT32, exFAT y NTFS (Windows) y HFS + y APFS
(macOS/Mac OS X). Linux utiliza actualmente ext4 (sucesor de ext3 y ext2), entre otros.
FAT16, FAT32: El formato FAT es ideal para gestionar un volumen de datos pequeño, compatible
con muchos tipos de hardware, no garantiza particularmente la seguridad de los datos.
exFAT: Aún no es un estándar generalizado, no permite gestionar derechos, no permite comprimir los
datos y es ideal para memorias flash más pequeñas, a partir de 32 GB (memorias USB, tarjetas SD).
NTFS: Puede comprimir los medios de almacenamiento y brinda una mayor seguridad de los datos
(por ejemplo, mediante cifrado). Una característica especial es que los derechos de acceso y recursos
compartidos de los archivos y carpetas pueden definirse al detalle y de manera integral. Los usuarios
pueden asignar derechos de acceso local y remoto a través de la red.
HFS +: Especialmente indicado para discos mecánicos, no optimizado para tecnologías de
almacenamiento modernas (SSD, flash), mejor compatibilidad con versiones anteriores que APFS,
vida útil limitada; probablemente deje de ser compatible con Apple a largo plazo.
APFS: cumple ante todo con los requisitos de las unidades de estado sólido modernas. APFS está
diseñado como un sistema de 64 bits, por lo que permite cifrar datos y archivos.
ext4: En comparación con versiones anteriores de ext2 y ext3, mejora el rendimiento, mejora de la
seguridad de los datos, incorpora cifrado (desde Linux Kernel 4.1), la nueva función extents aumenta
la velocidad de procesamiento de archivos grandes y evita la fragmentación, gestión de derechos,
volumen máximo de datos: 16 TB.

Android y su Estructura Integral


Android se destaca como un sistema operativo diseñado para ser independiente de cualquier
arquitectura de hardware en dispositivos móviles, lo que lo convierte en una opción atractiva para
fabricantes y desarrolladores. Su portabilidad, flexibilidad y enfoque en la seguridad atraen a aquellos
interesados en los sistemas de código abierto. Este sistema operativo está construido sobre una
arquitectura de capas interconectadas. Su estructura culmina en la Capa de Aplicaciones. Justo
debajo de esta capa se encuentra el Framework de la API de Java, que es un marco de trabajo de
apoyo para la construcción de aplicaciones, seguido por una capa de Bibliotecas C/C++ nativas,
relacionadas con una estructura de administración de tiempo de ejecución (ART). A continuación, se
encuentra la Capa de abstracción de hardware (HAL). En la base de esta estructura reside el
Kernel de Linux, proporcionando una base sólida y estable para todo el sistema.
Las actualizaciones en las diferentes versiones de Android han llevado a la implementación de
diversos administradores de archivos en su Kernel de Linux. Por ejemplo, al migrar de ext2 a ext3, se
incorporó el journaling, un registro diario de transacciones de archivos que permite al sistema de
archivos recuperarse de fallos de energía u otros problemas. En ext3, el tamaño de inodo
predeterminado era de 128 bytes, pero en ext4, este tamaño puede variar de 256, 512, 1024, etc., hasta
el tamaño de bloque del sistema de archivos. Esto permitió espacio adicional para los nuevos campos
necesarios para funciones planificadas y marcas de tiempo de nanosegundos.
El sistema de archivos ext4 utiliza una serie de estructuras de datos para organizar archivos y
directorios, incluyendo:
- El superbloque: Contiene información general sobre el sistema de archivos, como el tamaño, tipo y
número de bloques del sistema de archivos.
- Grupos de bloques: El sistema de archivos ext4 divide el disco duro en grupos de bloques, que son
colecciones de bloques de datos contiguos.
- Bitmaps de bloques: Se utilizan para rastrear los bloques libres y ocupados en el sistema.
- Inodos: Contienen información detallada sobre archivos y directorios, como tamaño, fecha de
creación y permisos.
Actualmente, Android se encuentra en la versión 14 y utiliza el sistema de archivos ext4 en su Kernel.
Se espera que en futuras actualizaciones, Android no solo pueda leer sistemas de archivos NTFS en
dispositivos externos, sino también escribir en ellos, mejorando aún más su compatibilidad y
funcionalidad.

API de archivos de Android


Las aplicaciones de Android utilizan la API de archivos de Android para acceder al sistema de
archivos. Esta API proporciona métodos para crear, leer, escribir y eliminar archivos y directorios.
Cuando una aplicación de Android necesita acceder a un archivo, el sistema operativo utiliza la API
de archivos de Android para acceder al sistema de archivos ext4. El sistema operativo traduce las
llamadas a la API de archivos de Android en llamadas a las funciones del sistema de archivos ext4.

El Estándar de Jerarquía del Sistema de Archivos en Linux


La estructura de directorios en Linux y sus funciones están definidas por el "Filesystem Hierarchy
Standard" (FHS), un estándar reconocido en la comunidad de sistemas Linux y derivados de UNIX.
Establecido en 1994, el FHS es mantenido actualmente por la Linux Foundation. Aunque es un
estándar ampliamente aceptado, algunas distribuciones de GNU/Linux optan por implementarlo de
manera diferente. Un ejemplo es Gobo Linux.
La estructura parte de una raíz común llamada "root", simbolizada por una barra inclinada (/). Es
importante mencionar que varios de estos directorios pueden encontrarse en particiones separadas del
sistema principal. En muchas distribuciones de GNU/Linux, es común ubicar ciertos directorios,
como /home, en particiones independientes del resto del sistema.
El FHS distingue entre directorios estáticos, que contienen binarios, bibliotecas y documentación, y
directorios dinámicos, que requieren acciones frecuentes como copias de seguridad. También se
diferencia entre directorios compartibles, que contienen archivos accesibles desde otros dispositivos, y
directorios no compartibles, que solo pueden utilizarse en el dispositivo en el que están ubicados.
Este estándar proporciona una estructura coherente y organizada para los sistemas Linux, permitiendo
una administración efectiva y consistente de los directorios y archivos en el sistema.
Toda la estructura de directorios en los sistemas basados en UNIX parte de un directorio raíz también
llamado directorio root y que se simboliza por una barra inclinada o /. De este directorio, es desde
donde nacen todo el resto de directorios, independientemente que estén almacenados en particiones
diferentes, o incluso en unidades físicas separadas. Cualquier dirección de archivo o carpeta en Linux
empieza por el directorio raíz o /, seguido de todos los directorios y subdirectorios que lo contienen,
separados cada uno de ellos por /.
Android, al ser un sistema operativo basado en Linux, sigue muchos de los principios del FHS. Sin
embargo, tiene una estructura de directorios simplificada y adaptada a las necesidades de los
dispositivos móviles. A continuación, se enumeran algunos de los directorios definidos por FHS que
también son utilizados por Android:
/ (Raíz): La raíz del sistema de archivos en Android, similar a otros sistemas basados en Unix. Todos
los demás directorios están contenidos dentro de este directorio.
/system: Contiene archivos del sistema operativo Android, incluyendo bibliotecas y archivos binarios
fundamentales.
/data: Almacena datos de las aplicaciones, incluyendo configuraciones, preferencias, bases de datos y
archivos de caché. Cada aplicación tiene su propio subdirectorio en este directorio.
/cache: Contiene archivos temporales que pueden ser eliminados para liberar espacio, pero no datos
críticos de las aplicaciones.
/sdcard o /storage/emulated/0: Este es el directorio principal para el almacenamiento externo en
muchos dispositivos Android. Aquí es donde los usuarios almacenan sus fotos, videos, música y otros
archivos personales.
/mnt: Puede contener puntos de montaje para dispositivos de almacenamiento externo, como tarjetas
SD y unidades USB.
/system/app: Contiene aplicaciones del sistema preinstaladas.
/data/data: Almacena los datos específicos de la aplicación, incluyendo bases de datos y archivos de
preferencias. Cada aplicación tiene su propio subdirectorio aquí.
/data/app: Contiene las aplicaciones instaladas por el usuario.
/proc: Proporciona información sobre los procesos en ejecución y otros datos del sistema en forma de
archivos, similar a otros sistemas basados en Unix.
/sys: Proporciona una interfaz al kernel del sistema, permitiendo controlar y configurar aspectos del
kernel en tiempo de ejecución.

Conclusión:
La comprensión profunda del sistema de archivos de un sistema operativo es esencial para su correcta
implementación, incluso si se utiliza de manera transparente para el usuario. Los sistemas de archivos,
con su alta abstracción, son fundamentales ya que resuelven aspectos cruciales como la ubicación en
memoria y los permisos de acceso, proporcionando seguridad y otros beneficios esenciales. Además,
entender cómo los sistemas de archivos se integran con nuevos dispositivos es crucial, por el hecho de
que algunos son compatibles entre sí, mientras que otros no lo son.

En el caso específico de Android, utiliza el sistema de archivos ext4 junto con el kernel de Linux y
sigue los principios del estándar FHS. Esta estructura jerárquica en forma de árbol invertido, donde el
directorio principal es el Directorio raíz /, establece una organización coherente para los archivos en
dispositivos móviles. Ext4 ha evolucionado para adaptarse a las últimas tecnologías de
almacenamiento, mejorando su rendimiento tanto en dispositivos con almacenamiento sólido como
mecánico. Se han añadido nuevas funcionalidades y características para adecuarse a las tecnologías
modernas sin perder la compatibilidad con dispositivos de generaciones anteriores.

La estructura flexible tipo "árbol" en Android, aunque simplificada en comparación con Linux, ha
demostrado ser ágil y efectiva en la integración con dispositivos móviles. Esto subraya la importancia
de un diseño adaptable y bien estructurado, permitiendo que Android siga siendo un sistema operativo
móvil altamente eficiente y versátil en constante evolución.
Bibliografía,Webgrafía.
Tanenbaum Sistemas Operativos Modernos 3ra Edición. (2009). Apps4two.
https://apps4two.com/curso_dba/bibliografia/2-Sistemas%20operativos%20moderno%203ed
%20Tanenbaum.pdf

Google for Developers. (s.f.) Arquitectura de la plataforma. Android Developers.


https://developer.android.com/guide/platform?hl=es-419

Arquitectura de Android. (2012, 17 septiembre). La columna 80.


https://columna80.wordpress.com/2011/02/17/arquitectura-de-android/

Both, D. (s. f.). An introduction to Linux’s EXT4 filesystem. Opensource.com.


https://opensource.com/article/17/5/introduction-ext4-filesystem

Conceptos básicos sobre el sistema de archivos (Solaris Common Desktop Environment:


Guía del usuario). (s. f.).
https://docs.oracle.com/cd/E19683-01/816-3938/6ma6eh79q/index.html

Cosmos. (2018, 25 febrero). Paragon File System Link hace compatible tu Android con las
unidades externas USB en formato NTFS. Xataka Android.
https://www.xatakandroid.com/aplicaciones-android/como-hacer-compatible-tu-android-con-
las-unidades-externas-usb-en-formato-ntfs

Curso de Administración de Servidores Linux-Gestión del árbol de directorios. (2023, 18


octubre). Platzi. https://platzi.com/clases/1667-linux-old/22992-gestion-del-arbol-de-
directorios/

De Oriol, V. T. L. E. (2022, 11 septiembre). El árbol de directorios de Linux. conoce las


principales carpetas. ComputerNewAge. https://computernewage.com/2015/06/14/el-arbol-
de-directorios-de-linux-al-detalle-que-contiene-cada-carpeta/

Directorios y sistemas de archivos. (s. f.).


https://help.ubuntu.com/kubuntu/desktopguide/es/directories-file-systems.html#:~:text=Los
%20sistemas%20de%20ficheros%20de,est%C3%A1n%20bajo%20el%20directorio%20ra
%C3%ADz.

Equipo editorial de IONOS. (2020, 11 septiembre). Sistemas de archivos: qué son y cuáles
son los más importantes. IONOS Digital Guide.
https://www.ionos.es/digitalguide/servidores/know-how/sistemas-de-archivos/

García, A. (2020, 11 junio). F2FS vs EXT4: La guerra de los sistemas de archivos en Android
ha comenzado. Andro4all. https://www.lavanguardia.com/andro4all/sony/f2fs-vs-ext4

García, D. (2022, 8 noviembre). El gran paso adelante de Android 14 en cuanto a


almacenamiento. Andro4all. https://www.lavanguardia.com/andro4all/android/el-gran-paso-
adelante-de-android-14-en-cuanto-a-almacenamiento

Pedro. (2023, 20 marzo). ¿Qué es sistema de archivos ExT2, ExT3, ExT4 y cuál es la
diferencia? EaseUS. https://es.easeus.com/partition-manager-tips/sistema-de-archivos-ext2-
ext3-ext4.html

Pulido, R. U. (2013, 19 agosto). Directorios y ficheros en Android. Blog Virtualizacion.


https://www.maquinasvirtuales.eu/directorios-y-ficheros-en-android/
Revelo, J. (2020, 30 noviembre). Aprendiendo sobre la arquitectura de Android. Develou.
https://www.develou.com/aprendiendo-la-arquitectura-de-android/

Sistemas de archivos en Windows, MAC y Linux. (2017, 23 abril). Sistemas Operativos.


https://whitehat216.wordpress.com/sistemas-de-archivos-en-windows-mac-y-linux/

Sistemas operativos móviles, Linux y macOS. (2016). Facultad de Ingeniería U.Na.M.


https://aulavirtual.fio.unam.edu.ar/pluginfile.php/283424/mod_resource/content/1/Sistemas
%20Operativos%20M%C3%B3viles.pdf

También podría gustarte