PDF de programación - Sistemas de archivos

Imágen de pdf Sistemas de archivos

Sistemas de archivosgráfica de visualizaciones

Publicado el 8 de Mayo del 2019
687 visualizaciones desde el 8 de Mayo del 2019
499,4 KB
27 paginas
Creado hace 15a (30/09/2008)
6

Sistemas de Archivos

• Conceptos generales
• Archivos
• Directorios
• Semánticas de consistencia

SOI

1

Persistencia de datos
Persistencia de datos

Los sistemas de archivos implementan el
almacenamiento persistente - los datos
creados por un programa persisten a la
finalización del mismo.
Los sistemas de archivos suministran una
versión mejorada de los dispositivos del
almacenamiento (discos, cintas, CD-ROM …)
Existen sistemas de computación especiales
que no tienen, o no necesitan, sistema de
archivos. P. ej. un SO de un satélite, o en un
microondas.

SOI

2

Abstracciones
Abstracciones

El SO suele implementar cuatro
abstracciones básicas relativas al
almacenamiento permanente:

Archivo
Directorio
Descriptor de archivo
Sistema de archivos

En este tema, vamos a definir cada una de
ellas, y como se implementan de forma
genérica.

SOI

3

Concepto de archivo
Concepto de archivo

Un archivo es una colección de
información relacionada con nombre que
se guarda en almacenamiento secundario.
Podemos verlos como un espacio de
direcciones lógicas contiguas.
Un archivo puede:

Tener cierta estructura interna, p.ej,
registros, campos, etc.
No tener estructura. En cuyo caso, si es
necesaria, se simula por el SO o la
aplicación.

SOI

4

Funciones de la
Funciones de la
gestión de archivos
gestión de archivos

Gestión de disco - cómo organizar bloques
de disco en archivos.
Designación (naming) - nombres de
archivos dados por el usuario.
Protección - mantener segura la
información.
Fiabilidad/durabilidad - cuando cae el
sistema, se mantiene información en disco.
Control de concurrencia o bloqueo de
archivos- accesos concurrentes al mismo
archivo.

5

SOI

Servicios de archivos
Servicios de archivos

Podemos agrupar las funciones anteriores:
Servicio de almacenamiento permanente
- la abstracción archivo actúa como un
contenedor de datos. Permite al usuario
crear, borrar, …, archivos y controlar la
compartición y el acceso.
Servicio de directorio (gestión de datos) -
la abstracción sistema de archivos
permite organizar, manipular, y acceder
a diferentes archivos. Suministra un
sistema de designación lógico.

SOI

6

Solicitud de servicio
Solicitud de servicio

Nombre

Pasos:
Pasos:

1º1º

2º2º

Identificador
de archivo

3º3º

Información
solicitada

Cerrar
5º5º

4º4º

Servicio de
directorio

Servicio de

almacenamiento
Manejador de disco

Distribución

Disco

Cliente

SO

SOI

7

Pasos de la solicitud
Pasos de la solicitud

Solicitud de apertura dado su nombre. El SO
realiza un control de acceso (el cliente esta
autorizado a usarlo), y la traducción de
nombre de usuario al nombre en el SO.
El SO devuelve un identificador de archivo,
descriptor, para manipulaciones posteriores.
El usuario lo manipula con las operaciones
read, write, lseek, close, etc., pasando como
argumento el descriptor de archivo.
El sistema suministra la información deseada

5.Cerramos el archivos al terminar.

8

SOI

Descriptor de archivo
Descriptor de archivo

Podemos verlo como un puntero
“protegido” que nos da acceso a una
sesión de trabajo sobre un archivo.
Podemos abrir un mismo archivo de varias
formas (lectura, escritura,
lectura/escritura), cada sesión se aísla
permitiendo el acceso a ella sólo a través
del descriptor (handle en la terminología
Microsoft).

SOI

9

Atributos de archivo
Atributos de archivo

Metadatos - información que mantiene el SO
para describir el archivo. Suelen contener:
Nombre - nombre de usuario
Tipo - caracteriza el contenido del archivo
Ubicación – su localización en el dispositivo
Tamaño - tamaño actual (bytes, bloques, ...)
Protección - información de control de
acceso: quién y qué puede hacer con él
Tiempos de creación, modificación, último
acceso – por seguridad y vigilancia de uso.

SOI

10

Atributos: ejemplos
Atributos: ejemplos

SOI

11

Archivos: operaciones
Archivos: operaciones
y métodos de acceso
y métodos de acceso

Operaciones

create
write
read
lseek
delete
truncate
open
close
. . .

Métodos de acceso

Secuencial
Aleatorio o
directo
Indexado
Archivos
proyectados en
memoria

SOI

12

Los directorios
Los directorios

Un directorio es un objeto que relaciona
nombres de usuario de archivos con el
nombre interno del archivo en el SO.
Pueden implementarse como:

Archivos especiales
archivos normales.

Tanto la estructura directorio como los
archivos residen en disco.

SOI

13

Organización del
Organización del
directorio
directorio

La organización de directorios permite obtener
Eficiencia - localización rápida de un archivo
Designación - conveniente para usuarios
Dos usuarios pueden tener el mismo
nombre para dos archivos diferentes
El mismo archivo puede tener varios
nombres

Agrupación - agrupar lógicamente archivos
por propiedades, p. ej. programas C, juegos,
etc.

SOI

14

Directorio de dispositivo
Directorio de dispositivo

Un disco se suele estructurar en
particiones o volúmenes, que podemos
ver como dispositivos virtuales
Los metadatos de todos los archivos de
la partición se almacena en el directorio
de dispositivo o tabla de volumen.
P. ej. en Unix esta información se
almacena en el superbloque; en
Windows NT, se almacena en el MFT
(Master File Table).

SOI

15

Operaciones sobre
Operaciones sobre
directorios
directorios

Los podemos ver como un tipo de dato
abstracto con las operaciones:
Directorio

Búsqueda de un archivo
Creación de un archivo
Borrado de un archivo
Lista un directorio
Renombrado de archivos
Atravesar el sistema de archivos, ....

Crear
Borrar



archivo1 …
archivo2 …

SOI

16

Estructuras de directorios
Estructuras de directorios

Estructura de un sólo nivel - un directorio
para todos los usuarios. P. ej. CP/M.
Problemas de designación y agrupación
Estructura de dos niveles - un directorio
separado para cada usuario
Búsqueda eficiente, sin capacidad de
agrupar
Búsqueda eficiente, capacidad de
agrupación
El concepto de directorio actual permite
utilizar nombres relativos.

Estructura de árbol –

SOI

17

Estructura grafo acíclico
Estructura grafo acíclico

Permite la existencia
de subdirectorios y/o
archivos
compartidos, es
decir, dos o más
nombres para un
mismo objeto.
Más flexible, pero
más compleja.
La compartición se
suele implementar a
través de enlaces.

SOI

Dir1

Dir2

Arch1

Dir3

Arch2

Arch3

Arch4

18

Estructura de grafo general
Estructura de grafo general

Más general pero tiene
problemas:

Podemos generar
ciclos infinitos en el
recorrido del
mismo.
Debemos emplear
un recolector de
basura para ver
cuando se puede
borrar un archivo.

SOI

Dir1

Dir2

Arch1

Dir3

Arch2

Arch3

Arch4

19

Enlaces duros
Enlaces duros

Un enlace duro (hard link) es un puntero
(nombre) hacia un archivo.
Limitados a un único sistema de archivos
- el puntero es único en el mismo sistema
de archivos.
En Unix:

Directorio 2

Unnombre 25

Directorio 1

Otronombre 25

SOI

Inodo

25

archivo

20

Enlace duro: ejemplo
Enlace duro: ejemplo

SOI

21

Enlaces simbólicos
Enlaces simbólicos

Es un archivo especial cuyo contenido es el
nombre absoluto del archivo al que apunta.
Podemos atravesar
diferentes sistemas
de archivos
Problema: si borramos
el puntero se queda
“colgado”.

25
datos
archivo

Directorio 1

Directorio 2

Otronombre 25

30

Unnombre 30

Directorio2/Otronombre

SOI

22

Enlaces simbólicos:
Enlaces simbólicos:
ejemplo
ejemplo

SOI

23

Borrado de archivos
Borrado de archivos
compartidos
compartidos

¿ Cuando podemos desasignar el espacio
asignado a estos archivos cuando se borran ?

Para enlaces simbólicos, simplemente
punteros colgados
borrar el archivo
(Cualquier acceso posterior se trata como
acceso a nombre ilegal)
Asociar un contador de referencias. La
creación/borrado, de un enlace
incrementa/decrementa, el contador. El
archivo se borra cuando contador=0. P.
ej. contador enlaces duros en UNIX.

SOI

24

Estructura general de
Estructura general de
directorios
directorios

La principal ventaja de un grafo acíclico
es la relativa simplicidad de los
algoritmos para atravesarlo y ver cuando
no hay más referencias a un archivo. Por
ello debemos evitar los ciclos.
Para garantizar la no existencia de ciclos:
Permitir sólo enlaces a archivos, no a
directorios
Al añadir un enlace, activar un
algoritmo de detección de ciclos para
determinar si todo es correcto.

SOI

25

Protección
Protección

Tipos de accesos:

El propietario / creador de un archivo
debe ser capaz de controlar:
qué puede hacerse con él
quién puede hacerlo
lectura
escritura
ejecución
añadir
borrar
listar …

La veremos en Sistemas Operativos II.

SOI

26

Semánticas de
Semánticas de
consistencia
consistencia

Si un usuario modifica un archivo, ¿cuando
es visible esta modificación por otro usuario?
Semántica UNIX: atomicidad a nivel de
operaciones write/read.
Semántica de sesión: atomicidad a nivel de
sesión (accesos realizados entre las
operaciones open y close). P. ej. AFS.
Semántica de archivos compartidos
inmutables: un archivo compartido, no
puede ser modificado. Utilizada en
sistemas distribuidos.

SOI

27
  • Links de descarga
http://lwp-l.com/pdf15872

Comentarios de: Sistemas de archivos (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad