0% encontró este documento útil (0 votos)
17 vistas3 páginas

Sistemas de archivos y memoria en Linux y Windows

El documento describe varios conceptos clave relacionados con sistemas de archivos y memoria en Linux y sistemas operativos móviles, incluyendo tablas de asignación de archivos, memoria virtual, sistemas de archivos virtuales, inodos y tipos de enlaces.

Cargado por

fidogiannotti20
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
17 vistas3 páginas

Sistemas de archivos y memoria en Linux y Windows

El documento describe varios conceptos clave relacionados con sistemas de archivos y memoria en Linux y sistemas operativos móviles, incluyendo tablas de asignación de archivos, memoria virtual, sistemas de archivos virtuales, inodos y tipos de enlaces.

Cargado por

fidogiannotti20
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Tabla de asignación de archivos (FAT, file-allocation table)

Es un método simple pero eficiente de asignación del espacio el disco. Se utiliza en los sistemas
operativos MS-DOS y OS/2. Una sección del disco al principio de cada volumen se reserva para
almacenar la tabla, que tiene una entrada por cada bloque del disco y esta indexada según el
número de bloque. La FAT se utiliza de forma bastante similar a una lista enlazada. Cada
entrada de directorio contiene el número de bloque del primer bloque del archivo. La entrada
de la tabla indexada según ese número de bloque contiene el número de bloque del siguiente
bloque del archivo. Esta cadena continúa hasta el último bloque, que tiene un valor especial de
fin de archivo como entrada de la tabla.

Memoria virtual en Linux

El sistema de memoria virtual de Linux es responsable de mantener el espacio de direcciones


visible para cada proceso. Este sistema crea páginas de memoria virtual bajo demanda y
gestiona la carga de dichas páginas desde el disco o la escritura de esas páginas en el espacio
de intercambio del disco, según sea necesario. En Linux, el gestor de memoria virtual mantiene
dos vistas separadas del espacio de direcciones de un proceso: una como conjunto de regiones
separadas y otra como conjunto de páginas.

Sistema de archivos en Linux

Linux mantiene el modelo estándar de sistemas de archivos en UNIX. En UNIX, un archivo no


tiene por qué ser un objeto remoto almacenado en disco o descargado a través de la red desde
un servidor de archivos remoto. En lugar de ello, los archivos UNIX pueden ser cualquier cosa
capaz de procesar la entrada y la salida de un flujo de datos. Los controladores de dispositivos
pueden aparecer como archivos y los canales de comunicación interprocesos o las conexiones
de red también parecen archivos a ojos del usuario.

El kernel de Linux gestiona todo estos tipos de archivos ocultando los detalles de
implementación de cada tipo de archivo concreto por debajo de una capa de software, el
sistema de archivos virtual (VFS, virtual file-system).

El VFS de Linux está diseñado basándose en principios de orientación a objetos. Tiene dos
componentes: un conjunto de definiciones que especifican cual es el aspecto que están
autorizados a tener los objetos del sistema de archivos y una capa de software para manipular
los objetos. El sistema VFS define cuatro tipos principales de objetos:

● Objeto inodo: representa archivo individual


● Objeto archivo: representa archivo abierto
● Objeto superbloque: representa el sistema de archivos completo
● Objeto entrada de directorio: representa una entrada de directorio individual

Para cada uno de estos cuatro tipos de objeto, VFS define un conjunto de operaciones. Cada
objeto de uno de estos tipos contiene un puntero a una tabla de funciones. La tabla de
funciones enumera las direcciones de las funciones reales que implementan las operaciones
definidas para ese objeto.

En los sistemas operativos Unix/Linux solamente existe un único árbol de directorios donde se
organizan los archivos. No existe el concepto de ​unidad de disco​ propia de sistemas operativos
tales como ​MS-DOS​ o ​Windows​.
Cada dispositivo de disco (​disco duro​, ​CD-ROM​, pendrive, etc.) aloja un sistema de archivos
que, conceptualmente, no es más que un árbol de directorios. Dicho árbol puede ser integrado
en el árbol único de Unix utilizando un ​punto de montaje​. El punto de montaje es cualquier
directorio a partir del cual se visualizará el sistema de archivos montado. Si el punto de
montaje contenía ficheros, estos desaparecerán, para visualizar los del dispositivo montado.
Actualmente el sistema de archivos ​NTFS​ de ​Microsoft​ utilizado en ​Windows​ también soporta
puntos de montaje de volúmenes, asignándole letras estándares de dispositivos, (G:, F:), o
carpetas que estén situadas dentro de un volumen ntfs.
Entrada y salida en Linux

Para el usuario el sistema de E/S en Linux se parece bastante al de cualquier otro sistema UNIX.
Es decir, en la medida de lo posible, todos los controladores de dispositivos aparecen como
archivos normales. Un usuario puede abrir un canal de acceso a un dispositivo de la misma
forma/ en que abre cualquier otro archivo, los dispositivos pueden aparecer como objetos
dentro del sistema de archivos. El administrador del sistema puede crear archivos especiales
dentro de un sistema de archivos que contengan referencias a un controlador de dispositivo
especifico, y un usuario que abra dicho archivo será capaz de leer y escribir en el dispositivo
referenciado. Utilizando el sistema normal de protección de archivos, que determina quién
puede acceder a cada archivo, el administrador puede establecer los permisos de acceso para
cada dispositivo.

Sistema de archivos Windows

Históricamente, los sistemas MS-DOS utilizaban el sistema de archivos FAT (file-allocation


table, tabla de asignación de archivos). El sistema de archivos FAT de 16 bits tiene diversas
desventajas, incluyendo el fenómeno de la fragmentación interna, un límite de tamaño de 2
GB y una falla de protección de acceso para los archivos. El sistema de archivos FAT de 32 bits
resolvió los problemas de tamaño y fragmentación, pero su rendimiento y sus características
siguen siendo pobres por comparación con los sistemas de archivos modernos. El sistema NTFS
es mucho mejor. Fue diseñado para incluir numerosas funciones, incluyendo mecanismos de
recuperaciones de datos, seguridad, tolerancia a fallos, soporte de sistemas de archivos y
archivos de gran tamaño, múltiples flujos de datos, nombres UNICODE, archivos dispersos,
cifrado, mecanismo de diario, copia de volúmenes ocultas y comprensión se archivos.

Windows XP utiliza NTFS como su sistema de archivos básico, aunque continua utilizando
FAT16 para leer disquetes y otros soportes extraíbles. Y, a pesar de las ventajas de NTFS, FAT32
continua siendo importante para la interoperabilidad de soportes físicos con sistemas
Windows 95/98. Windows XP permite emplear tipos de sistemas de archivos adicionales para
los formatos comunes utilizados en los soportes CD y DVD.

Inodos

Todos los archivos de UNIX son administrados por el sistema operativo como inodos. Un inodo
es una estructura de control que contiene información clave necesaria para el sistema
operativo para un archivo en particular. Muchos nombres de archivos pueden estar asociados
a un solo inodo, pero un inodo activo está asociado con exactamente un archivo, y ese archivo
es controlado por exactamente un inodo. Los atributos de un archivo, sus permisos y otra
información de control esta almacenada en el inodo.

Soft-link
La manera más sencilla de comprender que es un enlace simbólico en Linux es compararlo con
el “enlace directo” o “shortcut” en Windows. El fichero o directorio se encuentra en un único
​ untero​ contra él. Cada enlace simbólico tiene su propio
punto del disco y los enlaces son un p
número de inodo lo que permite hacer enlaces simbólicos entre distintos sistemas de ficheros.

Hard-link

Los enlaces duros lo que hacen es asociar dos o más ficheros compartiendo el mismo inodo​.
Esto hace que cada enlace duro es una copia exacta del resto de ficheros asociados, tanto de
datos como de permisos, propietario, etc. Esto implica también que cuando se realicen
cambios en uno de los enlaces o en el fichero este también se realizará en el resto de enlaces.
Los enlaces duros no pueden hacerse contra directorios y tampoco fuera del propio sistema de
ficheros​.
Swapping en sistemas móviles
Aunque muchos sistemas operativos para computadoras soportan alguna versión modificada
de swapping, los sistemas móviles no soportan el swapping de ningún modo. Los dispositivos
móviles generalmente usan memoria flash en lugar de discos duros más espaciosos. El espacio
resultante es una de las razones por las cuales los diseñadores de los sistemas operativos
móviles evitan el swapping. Otras razones incluyen el limitado número de escritas que la
memoria flash puede tolerar antes que se convierta en inusable y el bajo rendimiento entre la
memoria principal y la memoria flash en estos dispositivos.
En lugar de usar swapping, cuando la memoria libre cae debajo de un cierto umbral, el sistema
operativo Apple le exige a las aplicaciones que voluntariamente renuncien a la memoria
alocada. Los datos de solo lectura se remueven del sistema y luego se vuelven a cargar desde
la memoria flash si es necesario. Los datos que han sido modificados nunca son removidos. Sin
embargo, cualquier aplicación que no libere la suficiente memoria puede ser terminada por el
sistema operativo.
Android no soporta swapping y adopta una estrategia similar a la usada por iOS. Debería
terminar un proceso si no tiene la memoria suficiente disponible. Sin embargo, antes de que
termine un proceso, Android escribe el estado de la aplicación en memoria flash para que
luego pueda ser reiniciada rápidamente.
Debido a estas restricciones, los desarrolladores de los sistemas móviles deben asignar y
liberar memoria cuidadosamente para garantizar que sus aplicaciones no usen demasiada
memoria ni sufran filtraciones de memoria. Tanto iOS como Android soportan paginación, por
lo que tienen habilidades en el manejo de la memoria.

También podría gustarte