Sunteți pe pagina 1din 11

DESENVOLUPAMENT D'APLICACIONS WEB

Mòdul Professional SISTEMES INFORMÀTICS

Bloc Temàtic 3 Operativa bàsica en els Sistemes Operatius


Departament d’Informàtica
www.iesperemaria.com Tema 6a ELS SISTEMES D'ARXIUS

6.- Gestión del sistema de ficheros

Introducción

El objetivo principal del sistema gestor de ficheros es el almacenamiento 'no


volatil' de la información.

Las funciones principales son:

 Gestionar las estructuras de datos,


 Administrar los nombres,
 Gestionar y controlar los accesos,
 Gestionar el uso (utilización y empleo),
 Establecer sistemas de protección y recuperación.

El sistema de ficheros es gestionado por el Sistema Operativo para el que


se utiliza y éste se encarga de que el usuario no se preocupe de la forma en
la que se utiliza/emplea o del sitio físico real donde se ubicará la información
(es importante estudiar y tener clara la relación existente entre: Sistema de
archivos y Sistema Operativo).

6.1.- Objetos del sistema de ficheros

Todos los sistemas de ficheros trabajan sobre dos tipos de objetos básicos:

✔ Ficheros. Unidad básica de almacenamiento de la información.

✔ Directorios. (o carpetas) Tipos especiales de ficheros cuya finalidad


es la de actuar como contenedores de otros ficheros y/o directorios.

Estos objetos se caracterizan por disponer de una serie de atributos:

1. Nombre
2. Id
3. Tipo
4. Ubicación
5. Tamaño
6. Seguridad y protección (rwx, ACL)
7. Datos
etc...

Nombres lógicos
Espacio físico

IESPEREMARIAORTS Apunts desenvolupats emprant recursos del departament i des d'Intenet Pàg. 1/11
DESENVOLUPAMENT D'APLICACIONS WEB SISTEMES INFORMÀTICS
Bloc 3 Operativa bàsica en els Sistemes Operatius Tema 6a ELS SISTEMES D'ARXIUS

6.2.- Estructuras de los directorios (carpetas)

El modelo básico utilizado actualmente para organizar los directorios se


basa en una estructura jerárquica basada en un modelo de árbol.

Root
/
(raíz)

Dir1 Dir3

Dir2

Los directorios se organizan en forma de árbol desde un punto inicial: raíz.

• C:, D:, etc. en MS-Windows


• / en Linux.

Cada directorio puede contener varios subdirectorios, pero sólo puede tener
un directorio 'padre'.

6.3.- Direccionamiento.

Para acceder a los diferentes ficheros del sistema de archivos, partimos del
directorio inicial o root.

No obstante, podemos referenciar cualquier fichero o directorio empleando


una ruta:

• Absoluta (desde la raíz) o


• Relativa (a partir de una localización identificada).

El sistema de direccionamiento depende del Sistema Operativo, pero


generalmente son similares, por ejemplo:

IESPEREMARIAORTS Apunts desenvolupats emprant recursos del departament i des d'Intenet Pág. 2/11
DESENVOLUPAMENT D'APLICACIONS WEB SISTEMES INFORMÀTICS
Bloc 3 Operativa bàsica en els Sistemes Operatius Tema 6a ELS SISTEMES D'ARXIUS

En los sistemas operativos Linux sólo hay una única raíz '/' y las rutas se
definen separando mediante el carácter ' /' los directorios que necesitamos
recorrer hasta llegar al fichero.

• /Dir1/Dir2/F1.sh (ruta absoluta)

• ../../Dir3.sh (ruta relativa a Dir3, suponiendo que estemos en Dir2)

En los entornos MS-Windows el sistema identifica las distintas unidades


lógicas empleando letras: A: y/o B: (disqueteras), C: D: ….

Cada unidad tendrá su propia estructura de datos (sistema de archivos), las


rutas de acceso se crean a partir de una unidad (origen) y emplearemos el
separador '\' para ir introduciéndonos en los distintos directorios contenidos.

En el esquema anterior, el árbol parte de la unidad 'C:\'

• C:\D1\D2\F1.sh (ruta absoluta)

• ..\..\Dir3.sh (ruta relativa a Dir3, suponiendo que estemos en Dir2)

Muchos Sistemas Operativos tienen dos subdirectorios que son 'especiales'


y comunes:

• '.'  que hace referencia a la posición actual, y

• '..'  que hace referencia a su directorio 'padre'

Estos recursos permiten una navegación muy cómoda cuando se emplea


direccionamiento relativo (pudiendo ir hacia atrás y hacia adelante).

• ../Dir1/Dir2/F1.sh (ruta relativa a F1 desde Dir3, en Linux)

• ..\Dir1\Dir2\F1.sh (ruta relativa a F1 desde Dir3, en MS-Windows)

Un ejercicio simple

Escribe las rutas relativas y absolutas para acceder a los directorios


indicados en un sistema Linux, partiendo del esquema anterior:

ORIGEN DESTINO Ruta absoluta Ruta relativa


Cualquiera /

/ Dir2

Dir2 Dir1

Directorio
Cualquiera
padre

Dir3 Dir1

Dir2 Dir3

IESPEREMARIAORTS Apunts desenvolupats emprant recursos del departament i des d'Intenet Pág. 3/11
DESENVOLUPAMENT D'APLICACIONS WEB SISTEMES INFORMÀTICS
Bloc 3 Operativa bàsica en els Sistemes Operatius Tema 6a ELS SISTEMES D'ARXIUS

6.4.- Métodos de almacenamiento de datos.

En este punto empieza la tarea más complicada del Sistema Operativo,


gestionar la relación entre la información física almacenada en el disco (en
pistas, sectores, etc...) y la estructura lógica de los archivos y directorios
(espacio de nombres).

El SistemaOperativo divide la memoria en unidades de longitud fija que se


denominan bloques (clusters) que se componen de un determinado
número de sectores, de forma que cada archivo se almacena en uno o más
bloques.

Si el tamaño de sector es grande, se malgastará espacio, en cambio si es


pequeño su gestión se complicará y se hará más lenta el acceso. Por tanto
resulta necesario utilizar una solución de compromiso:

En los sistemas UNIX o MS-DOS el tamaño de los bloques era de: 1KB, 2
KB.

Si el tamaño de un sector era de 512 bytes y se empleaban bloques de 2


kbytes, entonces cada bloque contenía 4 sectores para gestionar 2KB.

6.4.1.- Políticas de asignación de bloques.

El Sistema Operativo gestiona la información sobre el lugar en el que se


encuentra cada archivo físicamente; a continuación se exponen algunos
mecanismos empleados para realizar esta labor:

• Asignación contigua: En el directorio sólo se almacena la dirección


del primer bloque, el resto son consecutivos. Los problemas son que
será necesario encontrar suficientes espacios consecutivos para
almacenar cada archivo y además que genera mucha
fragmentación.

Espacio de nombres
Tamaño Dirección
Nombre
(en bloques) (al bloque inicial)
Pepe.txt 3 1

• Asignación con lista ligada: El directorio contiene la dirección al


primer bloque, y cada bloque contiene la dirección al siguiente. De
esta forma se aprovechan todos los bloques y se evita la
fragmentación, pero se pierde la capacidad de almacenamiento del
bloque y se retardan las operaciones de lectura.

Espacio de nombres
Dirección
Nombre
I S I S I S ...
Pepe.txt 1 5 5 9 9 23 ...

IESPEREMARIAORTS Apunts desenvolupats emprant recursos del departament i des d'Intenet Pág. 4/11
DESENVOLUPAMENT D'APLICACIONS WEB SISTEMES INFORMÀTICS
Bloc 3 Operativa bàsica en els Sistemes Operatius Tema 6a ELS SISTEMES D'ARXIUS

• Asignación con lista ligada más índice. Funciona igual que el


sistema anterior pero además mantiene una tabla en memoria con la
información de los bloques, sus enlaces e información sobre los
bloques que están libres.

El acceso es mucho más rápido porque se consulta la tabla antes de


acceder a los bloques. Este sistema es el que empleaba Ms-DOS,
Windows 95, 98 y Me.

La tabla se denomina FAT (File Allocation Table), y se pueden


encontrar las versiones de 16 bits (FAT16) y 32 bits (FAT32), estos
valores indican el número de bits utilizados para acceder a las
direcciones de los bloques (en la partición).

Directorio
Dirección
Nombre
(al bloque inicial)
Pepe.txt 1
Ana.txt 3

FAT
Bloque Siguiente
0
1 2
2 5
3 6
4 0
5 0
6 4

Ejemplo:

✔ El archivo Pepe.txt ocupa los bloques 1, 2 y 5.


✔ El archivo Ana.txt ocupa los bloques 3, 6 y 4.

Ejercicio: Si partimos de la siguiente tabla FAT ...

Indicar:

a) Qué bloques ocupa el archivo cuyo primer bloque es el 20 ?


b) Qué bloques ocupa el archivo cuyo primer bloque es el 11 ?
c) Cuántos archivos más hay en el disco ?
d) Qué bloques se encuentran libres ?

IESPEREMARIAORTS Apunts desenvolupats emprant recursos del departament i des d'Intenet Pág. 5/11
DESENVOLUPAMENT D'APLICACIONS WEB SISTEMES INFORMÀTICS
Bloc 3 Operativa bàsica en els Sistemes Operatius Tema 6a ELS SISTEMES D'ARXIUS

• I-nodes: Este técnica la utilizan los sistemas basados en Unix.

Cada archivo tiene asociada una pequeña tabla denominada i-node


que contiene los atributos y direcciones de los bloques que
componen el archivo.

Espacio de nombres - Directorio


Nombre Tabla de i-nodes
Pepe.txt 4

Tabla de inodos
...
inodo 4
Atributos
Dirección al bloque 1
Dirección al bloque 2

Nº de enlaces (nombres del archivo)
(Reservadas)

Enlace a otros i-nodes

6.4.2.- Gestión del espacio libre.

• Bit map. Tabla de bits en la que se indica si un bloque está


ocupado o libre (1 o 0). Utilizado por NTFS y EXT3.

• Free list. Lista enlazada de bloques libres. Cada bloque libre


apunta al siguiente. Utilizada en los sistemas FAT.

IESPEREMARIAORTS Apunts desenvolupats emprant recursos del departament i des d'Intenet Pág. 6/11
DESENVOLUPAMENT D'APLICACIONS WEB SISTEMES INFORMÀTICS
Bloc 3 Operativa bàsica en els Sistemes Operatius Tema 6a ELS SISTEMES D'ARXIUS

6.4.3.- Fragmentación.

La fragmentación es el efecto que se produce como consecuencia del


proceso de almacenamiento de archivos en dispositivos como discos y/o
memoria RAM.

Es un problema que surge debido a las operaciones de inserción y


borrado de la información (datos); en consecuencia puede provocar que
un archivo se encuentre almacenado en muchos bloques no
consecutivos. Este problema es muy frecuente en los sistemas de archivos
basados en FAT.

Cuando el disco se encuentra muy fragmentado, el acceso a los datos se


realizará de forma más lenta debido a que se tiene que acceder a muchos
bloques no continuos. Para evitar este problema es necesario realizar
operaciones de defragmentación, que consiste en agrupar los datos de los
archivos empleando bloques contiguos.

Nota.
La fragmentación del disco hemos de entenderlo de la misma forma que cuando en
el tema 4 estudiamos la gestión de la memoria principal.

6.4.4.- Journaling.

El journaling es una técnica que permite acelerar las detecciones y


correcciones del/en el sistema de archivos.

En sistemas como FAT, que no utilizan journaling, cada vez que se detecta
un error (generalmente debido a problemas de apagado mientras se están
realizando operaciones con/sobre archivos) se sigue toda la tabla de
asignaciones para intentar recomponer los 'archivos perdidos'.

Los sistemas de archivos con journaling (también denominados El sistema transaccional será
transaccionales) cada vez que se inicia una operación (transacción) sobre estudiado en la gestión de datos
cuando sea necesario realizar
archivos se anota en un 'diario' (journal) la operación que se va a realizar y operaciones de acceso y
los archivos afectados. manipulación de datos en el
módulo de Bases de Datos.

Si la operación tiene éxito, se marca como completado y puede ser Recordad esto por el momento:
eliminada del journal. BEGIN TRAN. Especifica que va a
empezar una transacción.
Cada vez que se inicia el S.Op. se comprueba el journal para analizar si COMMIT TRAN. Le indica al motor
hay operaciones pendientes de finalizar, Si es así, se puede optar por que puede considerar la transacción
completada con éxito.
finalizarlas o 'deshacerlas' (manteniendo la integridad de los archivos).
ROLLBACK TRAN. Indica que se ha
alcanzado un fallo y que debe
restablecer la base al punto de
El journaling está implementado en sistemas de archivos: integridad.

• NTFS, y
• EXT3/4

IESPEREMARIAORTS Apunts desenvolupats emprant recursos del departament i des d'Intenet Pág. 7/11
DESENVOLUPAMENT D'APLICACIONS WEB SISTEMES INFORMÀTICS
Bloc 3 Operativa bàsica en els Sistemes Operatius Tema 6a ELS SISTEMES D'ARXIUS

6.5.- Sistemas de Archivos.

6.5.1.- MS-Windows.

FAT. Tabla de asignación de ficheros (File Allocation Table) es un sistema


de archivos desarrollado para MS-DOS y también ha sido empleado como
sistema de archivos principal de las ediciones no empresariales de Microsoft
Windows hasta la versión Windows Me.

Dispone de varias versiones:

• FAT12: La primera utilizada para los disquetes. Muy limitada.

• FAT16: Versión de 16 bits: cada entrada de la tabla se corresponde


con 16 bits. Los bloques son de 32 KB. No distingue entre
mayúsculas y minúsculas en los nombres de los archivos y
directorios, además no soporta dominios.

• FAT32: Mejora de la versión FAT16, aumenta el tamaño de las


entradas a 32 bits lo que permite un mayor tamaño de los discos,
archivos, etc... (mayor capacidad de direccionamiento). A partir de
Windows 95, los bloques son de 4 KB y, a pesar de que los
volúmenes ya podían disponer de tamaños de -hasta- a 2 TB, en
Windows sólo se permitía llegar a los 32 GB por decisión de
Microsoft. No distingue entre mayúsculas y minúsculas en los
nombres de los archivos y directorios, tampoco soporta dominios.

NTFS. (New Technology File System) Sistema de archivos empleado desde


MS-Windows NT, estaba pensado y fue desarrollado para servidores que
ofrezcían grandes prestaciones.

Es un sistema inspirado en los i-nodes de Linux, pero mejorado.

Los datos correspondientes a cada archivo o directorio están en la Master


File Table (MFT) que suele encontrarse en la zona intermedia del disco (el
objetivo es aumentar la eficiencia en los accesos).

IESPEREMARIAORTS Apunts desenvolupats emprant recursos del departament i des d'Intenet Pág. 8/11
DESENVOLUPAMENT D'APLICACIONS WEB SISTEMES INFORMÀTICS
Bloc 3 Operativa bàsica en els Sistemes Operatius Tema 6a ELS SISTEMES D'ARXIUS

Las principales ventajas de NTFS respecto de FAT son:  Admite nombres


largos (hasta a
• Añade opciones de protección y seguridad en el acceso a los 255 caracteres).
archivos.
• Permite la asignación de cuotas de disco para los usuarios.
• Soporta dominios y Active Directory.
• Distingue entre las mayúsculas y minúsculas en los nombres de los
archivos.
• Utiliza/emplea: journaling.
• Permite la división/distribución de datos entre varios discos.
• Emplea redundancia y tolerancia a fallos (mirroring y RAID 5).
• Ofrece soporte a tamaños de discos muy grandes.
• Admite cifrado de datos y compresión de archivos.
• A partir de Windows Server 2008, se añade un nuevo proceso de
recuperación denominado: 'autocuración' (self-healing) cuyo objetivo
es reparar archivos con errores (actúa en segundo plano).

6.5.2.- Linux

ext2: Sistema de archivos ampliamente desarrollado para el Kernel de


Linux. Utiliza un sistema de i-nodos almacenados en una tabla repartida
por todo el disco. Otras características son:

 Implementa opciones de protección y seguridad de acceso para


archivos.
 Permite el acceso a particiones de gran tamaño (~16 TB).
 Permite el acceso a ficheros de gran tamaño (~2 TB).
 Distingue entre mayúsculas y minúsculas.

IESPEREMARIAORTS Apunts desenvolupats emprant recursos del departament i des d'Intenet Pág. 9/11
DESENVOLUPAMENT D'APLICACIONS WEB SISTEMES INFORMÀTICS
Bloc 3 Operativa bàsica en els Sistemes Operatius Tema 6a ELS SISTEMES D'ARXIUS

ext3: Mejora del sistema anterior con el cual es compatible. Es similar, pero
añade journaling.

ext4: Mejora de ext3. Las principales incorporaciones son:

• Soporta volúmenes de hasta 1024 PB.


• Soporte de extent.
• Menor uso de la CPU.
• Mejoras en velocidad de lectura y escritura.

Los extents han sido introducidos para reemplazar al tradicional esquema


de bloques usado por los sistemas de archivos ext2/3. Un extent es un
conjunto de bloques físicos contiguos, mejoran el rendimiento puesto que
permiten el acceso a archivos de gran tamaño y reducen la fragmentación.
Un extent simple en ext4 es capaz de manejar hasta 128 MB de espacio
contiguo y un tamaño de bloque igual a 4KB.

Otros sistemas de archivos para Linux/UNIX:

• ReiserFS: Sistema alternativo a ext3. Fue ser el primero en


incorporar journaling. Es muy seguro, pero es más lento.

• UFS: Sistema utilizado en sistemas Unix.

• HFS+: Sistema utilizado en MAC OS X.

FAT16 FAT32 NTFS EXT3 EXT4


Tamaño máx
de archivo
2 GB 4 GB 16 TB 2 TB 16TB

Nº máx de 4.294.967.295
archivos
65.517 268.435.437
(232-1)
variable 4x10⁹

Long. Máx. de
8.3 (11) o 255
nombre de 255 caracteres 255 bytes 255 bytes
archivo caracteres con LFNs

Tamaño máx
de 2 GB 2 TB 256 TB 32 TB 1024PB=1EB
disco/volumen
3.0.1

6.5.3.- Sistemas de archivos distribuidos.

Un sistema de archivos distribuido o sistema de archivos de red es un


sistema de archivos que sirve para compartir archivos, impresoras y otros
recursos como un sistema de almacenamiento persistente en una red de
ordenadores. El primer sistema de archivos de este tipo fue desarrollado en
la década de los '70, y en 1985 Sun Microsystems creó su sistema de
archivos de red denominado: NFS, (Nerwork File System) para UNIX/Linux;
el cual fue ampliamente utilizado como sistema de archivos distribuido.

Otros sistemas de archivos de tipo distribuido son: AFS y DCE DFS.

IESPEREMARIAORTS Apunts desenvolupats emprant recursos del departament i des d'Intenet Pág. 10/11
DESENVOLUPAMENT D'APLICACIONS WEB SISTEMES INFORMÀTICS
Bloc 3 Operativa bàsica en els Sistemes Operatius Tema 6a ELS SISTEMES D'ARXIUS

6.5.4.- Sistemas de archivos virtuales.

Un sistema de archivos virtual (Virtual File System - VFS) se basa en


una capa de abstracción que actúa por encima de un sistema de archivos
real (concreto).

El objetivo de un VFS es permitir que las aplicaciones cliente tengan acceso


-de una manera uniforme- a diversos tipos de sistemas de archivos
concretos. Esta técnica puede ser utilizada para 'tender un puente' sobre las
diferencias entre los sistemas de archivos locales sin tener que saber a que
tipo de sistema de archivos concreto se está accediendo.

El Kernel de Linux utiliza VFS para acceder a los diferentes sistemas de


archivos que soporta/utiliza.

También se suele hacer referencia al directorio: /proc de Linux como un


sistema de archivos virtual, ya que contiene archivos que contienen
información acerca de los procesos y el hardware del sistema.

Por ejemplo, si en una consola escribimos: more /proc/cpuinfo

… y obtendremos información acerca de todas las CPU's.

6.5.5.- Otros sistemas de archivos.

ISO 9660: Sistema para soportes de disco compacto (CD-ROM). Es


multiplataforma, se puede emplear en MS-Windows, Linux, etc.

Enlaces interesantes:

• http://es.wikipedia.org/wiki/Disco_duro (estructura física y lógica).


• http://es.wikipedia.org/wiki/Formato_%28disco%29 (formato de disco).
• http://es.wikipedia.org/wiki/Anexo:Sistemas_de_archivos_de_disco
• http://es.wikipedia.org/wiki/Inodo (I-nodes).
• http://www.ual.es/~acorral/DSO/Tema_4.pdf (información avanzada sobre I-nodes)

IESPEREMARIAORTS Apunts desenvolupats emprant recursos del departament i des d'Intenet Pág. 11/11

S-ar putea să vă placă și