0% encontró este documento útil (0 votos)
15 vistas6 páginas

Funciones y Estructura de Sistemas de Archivos

Este documento describe los conceptos básicos de los sistemas de archivos, incluyendo su estructura, implementación y características clave como directorios, archivos, atributos y tablas maestras de archivos. También analiza sistemas de archivos específicos como Ext2, Ext3 y NTFS.

Cargado por

airsilver12
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 DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
15 vistas6 páginas

Funciones y Estructura de Sistemas de Archivos

Este documento describe los conceptos básicos de los sistemas de archivos, incluyendo su estructura, implementación y características clave como directorios, archivos, atributos y tablas maestras de archivos. También analiza sistemas de archivos específicos como Ext2, Ext3 y NTFS.

Cargado por

airsilver12
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 DOCX, PDF, TXT o lee en línea desde Scribd

Sistemas Operativos

Relativo a la perduración de la información, un Sistema Operativo debería proveer funcionalidades para:


• Almacenar una cantidad muy grande de información
• La información debe sobrevivir a la terminación del proceso que la usa
• Existir la capacidad de que múltiples procesos accedan a la información de forma concurrente.

Los sistemas de archivos son aquellos que deben proveer estas capacidades al S.O. Para su comprensión,
se pueden dividir en 2 partes:
Perspectiva del usuario: la forma en que se muestran y estructuran los archivos en cuanto a su uso y
manipulación (archivos, directorios, funciones de administración, etc).
Implementación: como se escriben los datos realmente a la unidad de almacenamiento.
/home/usuario/archivo.txt
open(“archivo.txt”)
C:\windows\calc.exe

Definición – Archivos :
“Mecanismo de abstracción que permite almacenar información en un dispositivo y leerla después (…) de
tal modo que el usuario no tenga que enterarse de los detalles de cómo y dónde está almacenada la
información, y de cómo funcionan en realidad los discos”
-El nombre de archivo puede estar restringido a un largo máximo, por ejemplo:
- MSDOS: 8 para el nombre, 3 para la extensión
- NTFS y ext*: 255 en el total (nombre + extensión)

Estructura - Archivos :

Los archivos internamente pueden ser estructurados o libres.


Libres
Los archivos son simplemente secuencia de bytes. Permite la mayor versatilidad, dado que cada usuario
puede establecer como desea almacenar los datos.
Estructurados
Los archivos tienen una organización interna a través de la cual deben ser accedidos los datos. Útil
cuando el sistema de archivos maneja siempre los datos en estructuras rígidas, dado que acelera el
proceso, pero poco conveniente porque amarra al usuario a dicha estructura.

Ejecutables - Archivos :

La estructura de los archivos ejecutables varia dependiendo del sistema en el que sea compilado y
linkeado el programa.

Atributos - Archivos :

Los sistemas de archivos guardan, además del nombre del archivo y sus datos, información como fecha,
hora, usuario, permisos, etc; los cuales se denominan atributos.

Directorios :

De su utilización se derivan los conceptos de:


-Directorio Raíz: aquel que contiene al resto del sistema de archivos. En linux es explicito (/), en
windows está escondido detrás de las unidades lógicas (\??\)
-
-Directorio de trabajo: directorio en el cual se esta ejecutando un proceso, como por ejemplo el interprete
de comandos. Este se simboliza con un punto (.).
-
-Ruta absoluta: ubicación de un archivo o directorio indicando su posición explicitando todos los
directorios desde el directorio raíz al elemento. Ej: /usr/local/nachos/code/build.linux/nachos.
-
-Ruta relativa: ubicación de un archivo o directorio indicando su posición respecto al directorio de trabajo
actual.
Ej: ../build.linux/nachos
-
-Directorio Padre: aquel en el cual es contenido un directorio. Se simboliza con punto doble (..).

Organización del Sist. Archivos - Implementación :

Partición: división lógica de una unidad de disco, también denominada volúmen en sistemas Windows.
MBR: Master Boot Record o Registro Maestro de Arranque. Es leído y ejecutado por la BIOS al
encenderse el computador.
Tabla de Particiones: Contiene la información de donde comienza y termina cada partición en el disco.
Cada partición puede tener un sistema de archivos diferente.
Bloque de arranque: primer bloque de cada partición. Contiene la información de cómo arrancar el
Sistema Operativo contenido en ella. Al ejecutarse el MBR, este busca los bloques de arranque para
ejecutarlos. Si no existe S.O. en una partición, se deja el bloque en blanco por provisión.
Físicamente podemos distinguir:
Cilindro: disco físico. Ej: 1 diskette tiene 1 cilindro, mientras que un disco duro puede tener varios.
Pistas: divisiones concéntricas del disco. Un disco removible de 3.5” tiene en formato simple 18 pistas.
Sectores: unidad atómica en la que se divide un disco para acceder a él en múltiplos de esta. Ej: 512b
Bloques: agrupación de sectores que realiza el sistema operativo, denominado cluster en sistemas
Windows. El acceso al disco que realiza el S.O. se hace en esta unidad.

Implementación de archivos - Implementación :

Asignación Contigua
Se entrega espacio continuo en el disco a los archivos. Su ventaja es la implementación simple y el buen
desempeño en lectura. La desventaja es el fragmentación excesiva y compleja dado que se DEBE escribir
cada archivo como un todo cada vez. Si se elimina un archivo se requiere otro de igual tamaño para no
desperdiciar lugar, o reubicar los archivos para hacer espacio a un archivo más grande.
Asignación por Lista Enlazada
Los archivos se mantienen como una lista enlazada de bloques en el disco. Permite que un archivo no
deba estar contiguo en el disco y elimina la fragmentación del disco dado que se pueden utilizar todos los
bloques. Su mayor problema es el acceso aleatorio, pues el S.O. debe ir buscando nodo por nodo la
dirección del siguiente, hasta llegar al que necesita. Por otra parte ahora la cantidad de datos almacenada
en un bloque ya no es potencia de 2, complicando el panorama para la implementación de página, por
ejemplo.

Control de bloques libres - Implementación :

Listas Enlazadas Libres


Se utiliza una lista enlazada de bloques de disco que contienen números de bloques libres. Se almacenan
tantos números como se pueda en cada bloque. Para agilizar el proceso de búsqueda de un bloque libre, se
mantiene uno o más bloques en memoria, dejando el resto en disco. La desventaja es que cuando el
bloque esta por llenarse puede provocar muchas operaciones de I/O al buscar otro bloque, producto de
una seguidilla de creaciones y eliminaciones de archivos y directorios.
Mapas de bits
Se crea un mapa donde se representa a cada bloque disponible con 1 bit. Es muy eficiente en espacio dado
que utiliza 1 bit en lugar de 1 palabra, excepto cuando el disco esta lleno, caso en el cual la lista es más
pequeña.

Introducción - NTFS :

NTFS o New Technology File System, es el sistema de archivos de la línea NT de los sistema MS
Windows.
Fue diseñado desde cero, pensado para reemplazar a la familia de FAT eliminando todas las limitaciones
de este, y pensando en poder extenderlo fácilmente en el futuro.

Esquema General - NTFS :

Boot Partition Record


En los primeros 8kb se contiene la información sobre el volumen (tipo de partición, largo, etc), junto con
el bloque de código básico para iniciar al sistema operativo. Contiene tambien un puntero a la MFT.
MFT – Master File Table
La Tabla Maestra de archivos contiene el donde y como están almacenados los archivos, junto con todos
los atributos asociados a estos.
Archivos de Sistema
Contienen la información sobre los datos y operaciones que se realizan sobre el sistema de archivos:
espacio libre, log de transaccionalidad, etc.
Área de archivos
Donde realmente se almacenan los datos del usuario.

Master File Table Entry, Atributos - NTFS :

Siguiendo la misma filosofía de generizar las estructuras de datos, en un archivo todo es un atributo, hasta
los datos; los cuales pueden estar almacenados en una entrada de la MFT, en varias o incluso en “data
runs” fuera de la MFT.
Atributos residentes
Son aquellos que se encuentran en el registro inicial del archivo y no desbordan fuera de el
Atributos no Residentes
Son aquellos que no están presentes en el registro inicial del archivo dado que están o en otra entrada de
la MFT o en un data run.
Data runs o Extents (extensiones)
Conjunto de bloques (2kb – 4kb) alocados por NTFS para contener atributos que son muy largos para
estar en un registro de la MFT.

Integridad de datos - NTFS :


Las operaciones al sistema de archivos NTFS no son realizadas directamente sobre las estructuras de
datos que lo implementan, sino contra un log de operaciones las cuales son luego realizadas en duro.
Este log es almacenado en el archivo de sistema $LogFile, y permite mantener la consistencia del sistema
de archivo ante falla, dado las operaciones que se realicen en una transacción, se realizan todas o ninguna
en absoluto (Concepto de atomicidad).

Características Adicionales - NTFS :

Puntos de Reparseo
Son marcas aplicadas a archivos (dado que todo en NTFS es un archivo), que permite extender las
funcionalidades del sistema de archivo, asociando un manejador al acceso del objeto en disco que
reparsea la petición. El proceso es completamente transparente para el usuario. Utilizado para
implementar:
Links Simbólicos: reapuntamiento a un archivo. Aquí se lo que se hace es hacer que el reparse vaya a
buscar a otra entrada de la MFT los datos del archivo.
Junction Points: idem a links simbólicos, pero para directorios.
Volume Mount Points: idéntico a montar un dispositivo en unix, permite colocar un volumen en cualquier
parte de la estructura de archivos, quitando la restricción de las unidades lógicas.

Sistemas de archivos Linux :

El sistema de archivos ext2, utilizados como estándar en los sistemas Linux, derivan del sistema de
archivos de Minix. Se crea para poder solucionar las limitaciones que presentaba el sistema de archivos
Minix:
El funcionamiento aun así, es en su esencia idéntico. Utiliza nodos-i para mantener los metadatos del
archivo, mapas de bits para mantener los bloques de datos e i-nodes libres.
Ext3 no es más que una extensión de Ext2 para proveer journaling y otras funcionalidades al FS.

Estructura Ext2 - LinuxFS :

En los sistemas de archivos linux no existe la restricción de 4 particiones como en los sistemas windows.
De hecho es muy común ver estaciones linux con 6 o más particiones que separan físicamente datos que
lógicamente tienen contextos diferentes.

Descriptor de grupo Ext2 - LinuxFS :

El Descriptor de grupo (Group Descriptor) contiene la estructuras que controlan la asignación de bloques
dentro de un grupo. Estas al igual que el superbloque, están replicadas en cada grupo de bloques, justo
después del superbloque, permitiendo así su recuperación ante una falla del sistema de archivos.

Superbloque Ext2 - LinuxFS :

El superbloque es la estructura que contiene la información sobre la partición misma, y esta replicado en
cada grupo de bloques para protegerlo contra fallos en el sistema de archivos. Este contiene la cantidad de
bloques por grupo y nodos-i por grupo (datos más importantes) entre otros.
Aunque el superbloque se escribe de forma redundante, sólo se utiliza aquel que esta en el bloque 0.
Cuando este se daña, se busca otro superbloque en el disco para reemplazarlo.
El numero mágico le permite a ext2 reconocer la estructura como válida. Útil en el caso de búsqueda de
un superbloque de reemplazo.
Se lleva el conteo de la cantidad de inodes y bloques del grupo, asi como la cantidad libre de estos.

i-node Ext2 - LinuxFS :

-Los primeros 12 bloques referencian directamente bloques donde están los datos en disco

- Los 3 últimos son punteros indirectos que permiten agregar mas direcciones de bloque al archivo:
-
- 1 puntero a bloques indirectos: la dirección de un bloque que contiene tantos punteros a bloques de
datos como quepan en un bloque de disco.
-
- 1 puntero a bloques indirectos dobles: la dirección de un bloque, donde están direcciones de bloques que
contienen direcciones de bloques de datos

- 1 puntero a bloques indirectos triples: idem, con un nivel más.


Tipos de documentos informáticos

Se distinger por:

1- Extensión

2- Icono

3- Aplicación que utiliza

Tipos de archivos

 De texto: este tipo de archivo es aquel que contiene texto, como su propio nombre indica.
Además, existen archivos de texto plano, o también en binario. Y puede ser de diferentes
formatos, como .txt, .rtf, .doc, .odt, etc.
 Datos: es un tipo de archivo que contiene datos de entrada y salidapara ser usados por un
programa. Por ejemplo, tenemos archivos como .csv, .ppt, .xml, etc.
 Audio: como su propio nombre indica, contienen audio digital. Algunos ejemplos pueden
ser .mp3, .wav, .ogg, etc.
 Vídeo: al igual que el anterior, también es un tipo de archivo multimedia, y en este caso contiene
vídeo digital. Algunos ejemplos de formatos son .mp4, .avi, .mpg, .mkv, etc.
 Imagen 3D: este tipo de archivos contienen una imagen tridimensional modelada. Algunas
extensiones típicas son .obj, .3dm, .max, etc.
 Imagen rasterizada: es decir, se trata de una imagen compuesta por una serie de píxeles, con
unos colores definidos. También se conoce como mapa de bits. Ejemplos de este tipo de
imágenes son .bmp, .png, .tiff, .psd, .jpg, etc.
 Imagen vectorial: este tipo de archivos también contienen una imagen como el punto anterior,
pero se trata de de una imagen diferente, formada por objetos geométricos dependientes, cada
uno de ellos definido por atributos matemáticos de forma, de posición, etc. Algunos formatos
comunes son .ai, .eps, .spg, .svg, etc.
 Archivo de diseño: también denominado page layout, es un tipo de archivo que tiene tanto texto
como imágen. Por ejemplo, muy usados para publicaciones para imprimir. Algunos formatos
conocidos incluyen .pdf, .pct, .indd, etc.
 Base de datos: una bbdd es un archivo usado para almacenar de forma jerárquica una serie de
objetos o información. Algunos formatos populare sson .sql, .db, .mdb, etc.
 Ejecutable: se trata de un tipo de archivo en formato binario y que se corresponde a una serie de
instrucciones y datos capaces de componer un programa. Este formato binario o código máquina,
debe haber sido compilado para la arquitectura de la máquina con la que se trabaja, o no podrá
ser ejecutado. Algunos formatos habituales son .apk, .exe, .jar, etc. También puede haber juegos
como .sav, .rom, .gam, etc.
 Web: los tipos de archivos web no son más que sitios web o aplicaciones web almacenada en un
archivo que puede estar en formatos tales como .html, .php, .aspx, etc.
 Plugin: no se trata de programas como tal, pero sí que son utilidades sencillas que pueden hacer
alguna tarea concreta. Y se pueden agregar a programas modulares para extender sus funciones.
Algunos ejemplos son formatos como .crx, .plugin, etc.
 Archivos del sistema: son aquellos archivos que son necesarios para el funcionamiento del
sistema. Y pueden ser de multiples tipos, como los de fuentes, paranso por los archivos de
configuración, hasta otros como las bibliotecas, etc. Por ejemplo, alguna extensiones
son .fnt, .fon, .ttf, .sys, .dll, .a, .ink, etc.
 Comprimidos: se trata de archivos o carpetas que están comprimidas para ocupar menor espacio
en el medio de almacenamiento. Algunas extensiones son .zip, .rar, .zx, etc.
 Copia de seguridad: una copia de seguridad o backup es un archivo de información de
cualquier tipo que se copia para tener un respaldo si algo sucede. Algunos tipos básicos son .tmp,
.tar, .bak, etc.
 Imagen de disco: este tipo de archivos también contiene información o tipos de archivos
variados, y pueden ser la copia de una unidad de disco completa. Por ejemplo, podemos
encontrar formatos como .dmg, .iso, .mdf, etc.
 Encoded: son ficheros que contienen un formato codificado como los de tipo .hgx, .mim, y .uue.
 Cifrado: se trata de un archivo de cualquier tipo que ha sido cifrado mediante algún algoritmo
de cifrado. Por ejemplo, se puede cifrar un archivo de texto plano para que nadie pueda acceder a
él sin una clave para descifrarlo. Algunas extensiones típicas
son: .cypher, .cyp, .gpg, .axx, .key, .cha, .epm, .kdbx, etc.
 Código fuente: son archivos con código fuente usado para el desarrollo de software, firmware, o
hardware. Por ejemplo, podemos tener extensiones como .c, .cpp, .js, .vhdl, etc.
 Más: además de los ya indicados anteriormente, también puede haber otros muchos tipos de
archivos. Por ejemplo, .msi, .ics, etc.

También podría gustarte