Вы находитесь на странице: 1из 68

GESTIN DE ARCHIVOS

INTRODUCCIN
En la mayora de las aplicaciones, el archivo es el
elemento central. La entrada a la aplicacin se realiza
por medio de archivos y en las aplicaciones, la salida se
guarda en archivos de almacenamiento.

Sistemas de Archivos

Concepto simple

Implementa abstraccin para accesar


almacenamiento secundario
Abstraccin : archivos

Proporciona organizacin lgica para


accesar archivos en directorios
Normalmente directorio implementado como
rboles

Proporciona a usuarios mecanismos de


proteccin y comparticin de archivos
Debe proporcionar semntica de consistencia
para permitir acceso compartido

Ficheros/Archivos
Almacenamiento de informacin a
largo plazo

Almacenar grandes cantidades de datos.


2. La informacin debe vivir ms all de la
terminacin del proceso que la utiliza
(persistencia).
3. Mltiples procesos quieren acceder a la misma
informacin concurrentemente.
1.

Solucin: almacenar la informacin en Ficheros/Archivos.


Sistema Operativo: Gestor de Ficheros (Sistema de Ficheros).
Veremos: la perspectiva del usuario y la del SO.
4

ARCHIVOS
Cuando se habla de archivos, habitualmente se realizan cuatro trminos:

Campo

Es el elemento de datos bsicos.

Registro

Es un conjunto de campos
relacionados.

Archivos

Es un conjunto de registros.

Base de Datos

Es un conjunto de datos
relacionados.

Archivos

Caractersticas

Archivo es una coleccin de datos con algunas


propiedades

Contenido, tamao, dueo, ltima fecha de modificacin,


proteccin, etc

Archivos pueden tener tipos entendibles

Sistema de archivos: archivo simple, directorio, enlace


Otras partes del SO, aplicaciones o bibliotecas
Ejecutable, biblioteca, cdigo fuente, etc

Tpicamente, tipos pueden incluidos en nombre

En Windows, tipo incluido en nombre


En unix, tipo especificado en los dos primeros bytes del
archivo (magic numbers) o caracteres iniciales

Archivos
Extensin
fichero.bak
fichero.c
fichero.gif
fichero.hlp
fichero.html
fichero.jpg
fichero.mp3
fichero.mpg
fichero.o
fichero.pdf
fichero.ps
fichero.tex
fichero.txt
fichero.zip

Significado
Fichero de respaldo
Cdigo fuente en C
Imagen en formato grfico de intercambio Compuserve
Fichero de ayuda
Documento html
Imagen codificada con JPEG estndar
Msica codificada con formato de audio MPEG capa 3
Pelcula codificada con MPEG estndar
Fichero objeto (salida del compilador, sin enlazar)
Fichero en Formato de Documento Portable
Fichero Postscript
Entrada para el programa TEX
Fichero de texto general
Archivo comprimido

ARCHIVOS
Operaciones Tpicas que los usuarios y las aplicaciones hacen uso de los
Registros de los archivos:

Recuperar_Todo

Insertar_Uno

Recuperar_Uno

Borrar_Uno

Recuperar_Siguiente

Actualizar_Uno

Recuperar_Previo

Recuperar_Varios

Archivos
Operaciones

1. Crear
2. Borrar
3. Abrir
4. Cerrar
5. Leer
6. Escribir

7. Aadir
8. Posicionar
9. Obtener atributos
10.Poner atributos
11.Renombrar

D.I.A.

Sistemas Operativos I @ (ITIS)

Archivos
Estructura
1 Byte

1 Registro

Buho

Cabra

Cerdo

Cordero

Gato

Gallina

Pony

Len

Perro

Gusano Hormiga Ibis

(a)

(b)

(c)

Rata

Vaca

Zorro

Archivos

Tipos
Varios tipos de Archivos.
Windows: regulares, directorios.
Unix: regulares, directorios, especiales, pseudoficheros.
Regulares: informacin del usuario, del tipo
Binarios: ejecutables.
ASCII: lneas de texto acabadas en:
lf (UNIX), o crlf (MSDOS)
Directorios: mantienen la estructura del sistema de ficheros.
Especiales de caracteres: impresora, terminal, network.
Especiales de bloques: discos, disquettes.
D.I.A.

Sistemas Operativos I @ (ITIS)

11

Archivos
Acceso

Acceso secuencial
Lee todos los bytes/registros desde el principio
No puede saltar, solo rebobinar
Adecuado con cintas magnticas

Acceso aleatorio
Se leen bytes/registros en cualquier orden
Esencial para bases de datos
En la lectura
Se da la posicin desde donde leer, o
Seek, read
D.I.A.

Sistemas Operativos I @ (ITIS)

12

Archivos
Acceso

Acceso secuencial
Lee todos los bytes/registros desde el principio
No puede saltar, solo rebobinar
Adecuado con cintas magnticas

Acceso aleatorio
Se leen bytes/registros en cualquier orden
Esencial para bases de datos
En la lectura
Se da la posicin desde donde leer, o
Seek, read
D.I.A.

Sistemas Operativos I @ (ITIS)

13

Archivos
Atributos

SISTEMA DE GESTIN DE ARCHIVOS


Un sistema de gestin de archivos es aquel conjunto
de software del sistema que ofrece a los usuarios y
aplicaciones unos servicios relativos al empleo de
archivos.

SISTEMA DE GESTIN DE ARCHIVOS


Objetivos para un sistema de gestin de archivos:
Cumplir con las necesidades de gestin de archivos y
con los requerimientos del usuario.
Garantizar que los datos de los archivos sean validos.
Optimizar el rendimiento.
Ofrecer soporte de E/S.
Minimizar o eliminar la perdida o destruccin de datos

ARQUITECTURA DE LOS SISTEMAS DE


ARCHIVOS
Programa de
Usuario

Pila

Secuencial

Secuencial
Indexado

Indexado

Dispersin

E/Slgica
SupervisorbsicodeE/S
Sistemadearchivosbsico
Gestordeldispositivodisco

GestordeldispositivoCinta

FUNCIONES DE LA GESTIN DE
ARCHIVOS
Estructura de
archivos
Gestor de
Directorios

Ordenes de
usuarios y
programas Operacin,
nombre de
archivo

Registros
Mtodo de
Acceso

Funciones
de la gestin
de archivos

Bloques
fsicos en
menora
secundaria
(disco)

Bloque fsicos
en buffers de
memoria
principal

Agrupacin

Planificacin de
discos

E/S
Gestin de
almacenamiento
disponible
Asignacin
deArchivos

Control de acceso
de usuarios

Funciones de manipulacin de archivos

Funciones de sistema operativo

ORGANIZACIN Y ACCESO A ARCHIVOS


El termino de organizacin de archivos se refiere a la
estructuracin lgica de los registros determinada por la
forma en que se accede a ellos.
Criterios para la eleccin de una organizacin de
archivos:
Acceso Rpido

Facilidad de
actualizacin

Mantenimiento
sencillo

Economa de
almacenamiento

Fiabilidad

ORGANIZACIN Y ACCESO A ARCHIVOS


Organizaciones comunes de un archivo:
Pilas
Archivos secuenciales
Archivos secuenciales indexados
Archivos directos o de dispersin (hash)

ORGANIZACINYACCESOAARCHIVOS
Archivo de Pila
Archivo donde los datos se recogen
segn el orden en que lleguen.

Registro de longitud variable


Conjunto variable de campos
Orden cronolgico

Archivo Secuencial
Archivo en el que los registros estn
ordenados de acuerdo con los valores de
uno o ms campos clave.

Registro de longitud lgica


Conjunto fsico de campos en orden constante
Orden secuencial por el campo clave

ORGANIZACIN Y ACCESO A ARCHIVOS


Archivo Secuencial
Archivo Indexado
Indexado
Archivo en el que se acceden a los registros
Archivo en el que los registros se
ordenan segn los valores basados en
un campo clave.

de acuerdo con el valor de un campo clave.

ORGANIZACIN Y ACCESO A ARCHIVOS


Archivo directos o de dispersin
Los archivos directos son usados a menudo donde se necesita
un acceso rpido, donde se usan registros de longitud fija y
donde siempre se acceden a los registros de una vez. Algunos
ejemplos son las guas telefnicas, tablas de precios, horarios y
listas de nombres.

Directorios

Organizar archivos en sistema


til para usuarios
til para sistema de archivos y usuarios para buscar y
accesar archivos

Mayora de sistemas de archivos soportan mltiples

niveles de directorios
Con jerarqua de nombres
Mayoria soport directorio actual y anterior
Rutas absolutas y relativas
$cd /home/alumnos/pedro (absoluto)
$cd tareas

(relativo a dir actual)

ORGANIZACIN DE DIRECTORIOS
Contenido: El directorio contiene in formacin sobre los
archivos, incluyendo atributos, ubicacin y propietario.
La informacin que se almacena normalmente en el directorio
para cada archivo del sistema:

Informacin bsica
Informacin de direccin
Informacin de control de acceso
Informacin de uso

Implementacin directorios

Normalmente un directorio es slo un


archivo con metadata
con lista de archivos y atributos contenidos en
actual directorio
Lista (nombre archivo, atributos archivo)
Atributos pueden ser
Tamao, proteccin, dueo, tiempo de creacin, tiempo
de ltima modificacin, ubicacin en disco, etc

ORGANIZACIN DE DIRECTORIOS
Estructura: la forma mas simple de estructuracin es
una lista de entradas, una para cada archivo.
Operaciones que se pueden realizar con un directorio:

Buscar

Crear
Archivo

Borrar
Archivo

Enumerar
Directorio

Actualizar
Archivo

ORGANIZACIN DE DIRECTORIOS
Designacin:
Nombre de camino: es una serie de nombres de
directorios, terminados con el propio nombre del
archivo.
Directorio de trabajo: Cada usuario interactivo o
proceso tiene asociado un directorio actual.

Directorios
De un nivel

Directorios (folders, carpetas): estructuran el sistema de


ficheros.
Directorio Raz

Es simple, fcil de implementar.


Colisin de nombres (solo un espacio de nombrado).
Tampoco til con un solo usuario (miles de ficheros).
29

Directorios

De dos niveles
Cada usuario tiene su propio directorio.
Directorio Raz
Directorio de
Usuario
B

C
C

Ficheros

Identificacin del usuario.


Acceso a ficheros que no son del usuario (p.e. del sistema).
30

Directorios
Jerrquico

Directorio Raz
Directorio de
Usuario
B

A
A

B
Subdirectorios de
Usuario

Fichero de
Usuario
31

ORGANIZACIN DE DIRECTORIOS
Directorio Maestro

Subdirectorio
Subdirectorio

Subdirectorio

Archivo

Subdirectorio

Archivo

Directorio estructurado en rbol

Subdirectorio

Archivo

Archivo

Directorios
Path Names

/
bin
etc
lib
usr
tmp

Nombre absoluto.
Nombre relativo.
Directorio de trabajo.

bin

etc

lib

Entradas: . ..
ast

Root directory

usr
ast
jim
lib

lib
dict

tmp

jim

/usr/jim

33

Directorios
Operaciones

1.
2.
3.
4.

Crear
Borrar
Abrir
Cerrar

5. Leer
6. Renombrar
7. Enlazar
8. Desenlazar

34

COMPORTAMIENTO DE ARCHIVOS
Derechos de acceso
Ninguno

Conocimiento

Ejecucin

Lectura

Adicin

Actualizacin

Cambio de
Proteccin

Borrado

Puede ofrecerse acceso a las siguientes clases de usuarios:


Usuario Especifico

Grupos de Usuarios

Accesos Simultneos

Todos

AGRUPACIN DE REGISTROS
Dado el tamao de bloque, pueden seguirse tres mtodos de agrupacin de bloques:

Bloques Fijos

Bloques de longitud variable con tramos

Bloques de longitud variable sin tramos

Implementacin de Sistemas de
Archivos

Componentes de SA

Administracin de disco
Como organizar coleccin de bloques de discos en archivos

Nombres
Usuarios identifican sus archivos mediante nombres,
abstrayndose de como se almacenan internamente (#cilindro,
pista y sectores). Uso de nombres para archivos y directorios

Proteccin
Como se protege la informacin de archivos en el sistema entre
distintos usuarios y sistema

Confiabilidad/durabilidad/Rendimiento
Cuando sistema se cae, se pierde informacin en Memoria
(caches), pero se desea que informacin de archivos no se
pierda

Implementacin de Sistemas de
Archivo

Estructuras en Disco y Memoria para implementar


SA
En disco
Bloque Control de Buteo (Boot Control Block)
Informacin para butear SO de particin (si existe en
particin). Unix : Boot block, NTFS : Partition Block
Sector
Bloque de Control de Particin (Partition Control Block)
Detalles de particin: Tamao bloque, contador y
punteros de bloques libres, contador y punteros de
FCBs. Unix Superblock, NTFS : Tabla de Archivo Maestra
(Master File Table). En Unix/linux llamado superblock
Estructura de Directorios a usar
FCB (File Control Block)
Contiene informacin de archivo: dueo, tamao,
permisos, punteros a bloques de disco, etc
Unix Inodo, NTFS, info guardada en Tabla de Archivo
Maestra

Implementacin de Sistemas
de Archivos

Estructuras en Memoria
Tabla de Particiones
Tabla con informacin acerca de cada particin

Estructura de directorios
Tabla de directorios accesados recientemente con su
informacin

Tabla de Archivos Abiertos a nivel de Sistema


(TAAS)
Contiene copia de los FCBs de cada archivo, y otra
informacion como nmero de Procesos que tiene archivo
abierto

Tabla de Archivos Abiertos a nivel de Proceso


(TAAP)
Contiene puntero a entrada a tabla de archivos abiertos de
sistema

Implementacin del sistema de


Archivos
Estructura Caso Unix
Tabla de
Particiones
MBR

Bloque de Super Bloque


arranque

Disco

Linux

Particin de Disco

Gestin del
espacio libre

i-nodos

Directorio
Raz

Fichero y
Directorios

Cada particin
boot block, puede subir sistema cargando programa residente aqui
Superblock. Especifica los lmites de las reas siguientes, contiene
punteros a listas de inodos libres y bloques de archivos libres
Area de inodos. Contiene descriptores (inodos) para cada archivo en el
disco. Todos los inodes son del mismo tamao
Dir root. Inodo y directorio root
Archivos y directorios. Bloques de se usan para
Una particin puede usarse para un sistema de archivos o como area de
swapping ( en este caso es slo bloques para respaldo)

PowerOn: BIOS lee y ejecuta MBR; MBR localiza particin activa, lee y ejecuta el boot block.
40

Proceso de buteo
Caso Unix/linux

CPU ejecuta cdigo residente en ROM BIOS


(Read Only Memory Basic Input Output System)

Cdigo verifica y prepara HW de sistema


Carga programa (master boot program o boot
loader) ubicado en sector 0 (Master Boot Record) de
disco
En linux puede ser lilo o grub, los que permiten elegir
una particin a subir
Contiene programa ejecuta SO en particin
Estos boot loaders estn en MBR o en primer sector
de parcicin activa

Con programas Lilo o Grub es posible definir varias


particiones con diferentes SOs
Aunque tambien sirven para usar el mismo sistema de
archivos pero identificar diferentes SO (asociados a
diferentes linux kernels)

Sistema de Archivos Unix (UFS)

Sistema de Archivos original en Unix (1970)


Disco dividido en particiones
Una particin: grupo de cilindros adyacentes
Un sistema de archivos puede residir en una
particin
BIOS define sector de buteo (boot sector) para estar
en cabeza 0, cilindro 0, sector 1
Master Boot Record (MBR) usado para butear
computador
Sabe de boot loader y tabla de particiones
Tabla de particin
Define direcciones de inicio y fin de cada particin
Una particin es marcada como activa
Cuando sistema sube
BIOS ejecuta MBR
MBR localiza particin activa y ejecuta bloque de
buteo

Para que usar particiones?

Dividir el disco para diversos propsitos


Tener diversos SOs cargados uno en cada
particin
SOs y sistemas de archivos pueden ser usados
en forma independiente
Respaldos o cualquier uso que quiera darle el
usuario

Crear, Abrir y Usar un Archivo

Crear
SO busca en bloque de control de particin por un puntero de
un FCB no usado
SO suma puntero de FCB en la estructura del directorio.

Abrir

Buscar si archivo esta abierto en TAAS, si no esta Buscar en


directorios por nombre de archivo
Copiar informacin de FCB a la TAAS
Sumar una entrada para el archivo en la TAAP, que contiene
puntero a TAAS
SA retorna descriptor de archivo o handle a proceso que lo
abre

Usar

Escribir, buscar el bloque de control de particin por punteros


a bloques de disco vacos
Leer. buscar en FCB bloques a leer

Usando Disco para


Almacenar Archivos

SA almacena archivos en bloques


Define tamao de bloque, en general entre 1KB y 4KB
Existe un Bloque Maestro que define la ubicacin del
directorio root
Siempre una ubicacin bien conocida
En general replicada para proporcionar mayor disponibilidad
Posee una lista con bloques libres y bloques ocupados
En general, bitmap, define un bit por bloque de disco
1 si esta ocupado, 0 si esta libre
Almacenada en disco y en memoria (para aumentar
rendimiento)
SO usa Caching
SO mantiene cache con bloques de disco usados mas
recientemente (disminuir latencia de acceso a disco)

Registro de Bloques
Asignado a Archivos

Estructura de datos comn


Encabezado de archivo: cada archivo posee uno
Que bloques de disco estan siendo ocupados por
archivo
Distintas implementaciones: Como se sabe que
bloques pertenecen a que archivos
Asignacin contigua
Archivos enlazados
Archivos indexados
Archivos indexados en mltiples niveles

GESTIN DE ALMACENAMIENTO
SECUNDARIO
Asignacin contigua:

Asignacin contigua de
archivos
Asignacin contigua de
archivos (tras compactacin)

Asignacin Contigua
Usuario dice por adelantado tamao de
archivo
SO busca en bitmap (usando criterio)
bloques de disco que satisfacen
requerimiento de usuario
El encabezado de archivo posee

Primer sector de bloque en disco


Tamao de archivo en trminos de nmero de
sectores

Ventajas/Desventajas

+ Acceso secuencial rpido


+ Acceso aleatorio fcil
- Fragmentacin externa
- Difcil cuando archivo crece ms de lo definido
originalmente

GESTIN DE ALMACENAMIENTO
SECUNDARIO
Asignacin encadenada:

Asignacin encadenada
Asignacin encadenada
(tras concentracin)

Archivos Enlazados
Cada bloque de disco incluye puntero al siguiente
bloque de disco
Encabezado de archivo posee direccin del primer
bloque de disco
Ventajas/Desventajas

+ Archivos pueden crecer dinmicamente


- Acceso secuencial no es tan bueno, pero mejor que
aleatorio
Requiere tiempo de bsqueda de prximo bloque
- Acceso aleatorio muy lento
- No es confiable, que pasa si se pierde o se estropea un
bloque?

MS-DOS FAT (File Allocation Table) usa esta


filosofa, pero implementacin mediante una tabla
Mejor rendimiento, sobretodo si tabla esta en memria

Ejemplo FAT

Entrada directorio
test.txt

...........

88

20

35

25

103

35

25

88

20

95

103

EOF

GESTIN DE ALMACENAMIENTO
SECUNDARIO
Asignacin indexada:
Asignacin indexada por
secciones de longitud variable

Asignacin indexada por


bloques

Archivos Indexados con


Mltiples Niveles

Unix implementa este mecanismo


Ventajas/Desventajas
+ Simple
+ Archivos pueden crecer fcilmente (tamao
max relativamente grande)
+ Archivos pequeos rpidos
- Archivos grandes penalizados en tiempo de
bsqueda, por el uso de indireccin de mltiples
niveles
- Mucho tiempo usado en bsqueda de bloques
(cuando archivos son grandes)

Ejemplo Inodos Unix


(tambin en FFS)

Inodo estructura de datos que contiene dueo archivo, modo,


tamao, proteccin, contadores de enlaces y tabla de
asignacin de bloques de disco

GESTIN DE ALMACENAMIENTO
SECUNDARIO
GESTIN DEL ESPACIO LIBRE
Tablas de bits: Este mtodo utiliza un vector que contiene
un bit por cada bloque.
Secciones libres encadenadas: Este mtodo puede
encadenarse juntas mediante un puntero y un valor de
longitud en cada seccin libre.

GESTIN DE ALMACENAMIENTO
SECUNDARIO
Indexacin: Este mtodo trata el espacio libre como
si fuera un archivo y utiliza la tabla de ndice.
Lista de bloques libres: cada bloque tiene asignado
un numero secuencial y la lista de nmeros de todos
los bloques libres.

GESTIN DE ARCHIVOS EN UNIX


Se distinguen cuatro tipos de archivos:

Ordinarios

Directorio

Especiales

Nombrados

GESTIN DE ARCHIVOS EN UNIX


NODOS-I
Informacin de un nodo-i :
Modo de archivo

Direcciones del archivo

Cuenta de enlaces

ltimo acceso

ID del propietario

ltima modificacin

ID del grupo

Modificacin del nodo-i

Tamao de archivo

GESTIN DE ARCHIVOS EN UNIX


Asignacin deArchivos

Esquema de direccionamiento de bloques en UNIX

GESTIN DE ARCHIVOS EN UNIX


Asignacin deArchivos
Nivel

Nmero de bloques

Nmero de bytes

Directo

10

10 Kb

Indirecto simple

256

256 Kb

Indirecto doble

256*256=65 K

65 Mb

Indirecto triple

256*65K=16 M

16 Gb

Capacidad de un archivo en UNIX

SISTEMA DE ARCHIVOS EN WINDOWS


Caractersticas de NTFS:
Recuperabilidad
Seguridad
Discos grandes y archivos grandes
Series de datos mltiples
Capacidad de indexacin general

SISTEMA DE ARCHIVOS EN WINDOWS


2000
Estructura de archivos y volmenes NTFS
NTFS hace uso de los siguientes conceptos de
almacenamiento de disco:
Sector
Agrupamiento (cluster)
Volumen

SISTEMA DE ARCHIVOS EN WINDOWS


2000
Tamaodelvolumen

Sectoresdeagrupamiento

Tamaodeagrupamiento

<=512Mbyte

512bytes

512Mbyte-1Gbyte

1k

1Gbytes-2Gbytes

2k

2Gbytes-4Gbytes

4k

4Gbytes-8Gbytes

16

8k

8Gbytes-16Gbytes

32

16k

16Gbytes-32Gbytes

64

32k

>32Gbytes

128

64

Tamao de agrupamiento y de particin en Windows NTFS

SISTEMA DE ARCHIVOS EN WINDOWS


2000
Disposicin de un volumen NTFS
Particin del
sector de
arranque

Tabla maestra de
archivos

Archivos del
sistema

Entre los archivos del sistema estn:


MTF2
Archivos de registro
Mapa de bits de agrupamiento
Tabla de definicin de atributos

rea de archivos

SISTEMA DE ARCHIVOS EN WINDOWS


2000
Recuperabilidad
Los elementos claves para ofrecer recuperabilidad son:
Gestor de E/S
Servicio de archivo de registro
Gestor de cache
Gestor de memoria virtual

SISTEMA DE ARCHIVOS EN WINDOWS


2000

Componentes de Windows NTFS

CONCLUSIONES
Un sistema de gestin de archivos es un sistema que
proporciona servicios a usuarios y aplicaciones para el
uso de archivos, conservacin de directorios y control de
acceso.
Una funcin de cualquier esquema de gestin de archivos
es la gestin del espacio en el disco.

BIBLIOGRAFA
Stalling ,William :
Sistemas Operativos. Principios de Diseo e
Interioridades, Cuarta Edicin, Prentice
Hall/Pearson,
Paginas 513-547.

Вам также может понравиться