Está en la página 1de 54

Tema 1: Implementacin del

sistema de archivos

1. Introduccin

2. Implementacin

3. Estructura del almacenamiento


secundario

Sistemas Operativos II Dpto.


Tema Lenguajes y Sistemas
1: Implementacin Informticos.
del Universidad de Granada
sistema de archivos 1
Objetivos
Comprender el concepto de archivo, directorio y
estructura de directorios
Saber las distintas funciones bsicas que se realizan
sobre un sistema de archivos y cmo se pueden
estructurar
Conocer las ventajas e inconvenientes de distintos
mtodos de asignacin de espacio del
almacenamiento secundario y de gestin de espacio
libre
Abordar distintos aspectos de implementacin y
valorar sus ventajas e inconvenientes
Comprender la importancia de la gestin del
almacenamiento secundario y cmo se puede
optimizar su funcionamiento
Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 2
Tema 1: Implementacin del
sistema de archivos

1. Introduccin

2. Implementacin

3. Estructura del almacenamiento


secundario

Sistemas Operativos II Tema


Dpto. 1: Implementacin
Lenguajes del
y Sistemas sistema de archivos
Informticos. Universidad de Granada 3
1. Introduccin: Concepto de archivo

l Coleccin de informacin relacionada y almacenada en


un dispositivo de almacenamiento secundario
l Espacio de direcciones lgicas contiguas

l Estructura interna (lgica)

secuencia de bytes: el tipo del archivo determina su estructura


(texto caracteres,lneas y pginas, cdigo fuente secuencia de
subrutinas y funciones)
secuencia de registros de longitud fija
secuencia de registros de longitud variable
l Tipos de archivos: regulares, directorios, de dispositivo
l Formas de acceso: secuencial, aleatorio, otros

Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 4


Concepto de archivo (y II)
l Atributos (metadatos)
Nombre: nica informacin en formato legible
Tipo: cuando el sistema soporte diferentes tipos
Localizacin: informacin sobre su localizacin
en el dispositivo
Tamao: tamao actual del archivo
Proteccin: controla quin puede leer, escribir y
ejecutar
Tiempo, fecha e identificacin del usuario:
necesario para proteccin, seguridad y monitorizacin
Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 5
Concepto de archivo (y III)
l Operaciones sobre archivos
Gestin:
Crear
Borrar
Renombrar
Copiar
Establecer y obtener atributos
Procesamiento:
Abrir y Cerrar
Leer
Escribir (modificar, insertar, borrar informacin)
Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 6
Estructura de Directorios
lColeccin de nodos conteniendo informacin
acerca de todos los archivos Organizacin

l Tanto la
Directorio
estructura de
directorios como
los archivos
residen en el
Archivos almacenamiento
secundario

Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 7


Estructura de Directorios (y II)
La organizacin (lgica) de los directorios
debe proporcionar:
l Eficiencia: localizacin rpida de un archivo
l Denominacin: adecuada a los usuarios
Dos usuarios pueden tener el mismo nombre
para diferentes archivos
El mismo archivo puede tener varios nombres
l Agrupacin: agrupar los archivos de forma
lgica segn sus propiedades (Ej. todos los
programas en C)
Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 8
Estructura de Directorios (y III)
Casos: D
l A un nico nivel

Problema de denominacin F F F
Problema de agrupacin
l A dos niveles D
Nombres de camino
Diferentes usuarios pueden D D
tener archivos con igual nombre
No hay posibilidad de F F F F F
agrupacin
Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 9
Estructura de Directorios (y IV)
D
l En rbol
Necesidad de bsquedas eficientes D D
Posibilidad de agrupacin
Directorio actual (de trabajo) F F F F D
Nombres de camino absolutos y
F F
relativos D
l En grafo D D
Comparticin de subdirectorios y
archivos F F D
Ms flexibles y complejos
F F
Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 10
Proteccin
lBsicamente consiste en proporcionar un
acceso controlado a los archivos
lo que puede hacerse
por quin
l Tipos de acceso
Leer
Escribir
Ejecutar
Aadir
Borrar
Listar
Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 11
Proteccin: Listas y Grupos de acceso
l Principal solucin a la proteccin: hacer el acceso
dependiente del identificativo del usuario
l Las listas de acceso de usuarios individuales tiene el

problema de la longitud
l Solucin con clases de usuario

propietario
grupo
pblico
lPropuesta alternativa: Asociar un password con el
archivo. Problemas:
Recordar todos
Si solo se asocia un password acceso total o ninguno
Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 12
Semnticas de consistencia
l Especifican cundo las modificaciones de datos por un
usuario se observan por otros usuarios
l Ejemplos:

1. Semntica de Unix
La escritura en un archivo es directamente observable
Existe un modo para que los usuarios compartan el puntero
actual de posicionamiento en un archivo
2. Semnticas de sesin (Sistema de archivos de Andrew)
La escritura en un archivo no es directamente observable
Cuando un archivo se cierra, sus cambios slo se observan en
sesiones posteriores
3. Archivos inmutables
- Cuando un archivo se declara como compartido, no se puede
modificar
Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 13
Funciones bsicas del Sistema
de Archivos
l Tener conocimiento de todos los archivos del
sistema
l Controlar la comparticin y forzar la proteccin

de archivos
l Gestionar el espacio del sistema de archivos

Asignacin/liberacin del espacio en disco


l Traducir las direcciones lgicas del archivo en
direcciones fsicas del disco
Los usuarios especifican las partes que quieren
leer/escribir en trminos de direcciones lgicas
relativas al archivo
Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 14
Tema 1: Implementacin del
sistema de archivos

1. Introduccin

2. Implementacin

3. Estructura del almacenamiento


secundario

Sistemas Operativos II Tema


Dpto. 1: Implementacin
Lenguajes y Sistemasdel sistema de Universidad
Informticos. archivos de Granada 15
2. Implementacin: Estructura del
Sistema de Archivos
lUn sistema de archivos posee dos problemas
de diseo diferentes:
1. Definir cmo debe ver el usuario el sistema de
archivos
definir un archivo y sus atributos

definir las operaciones permitidas sobre un

archivo
definir la estructura de directorios

2. Definir los algoritmos y estructuras de datos que


deben crearse para establecer la correspondencia
entre el sistema de archivos lgico y los dispositivos
fsicos donde se almacenan
Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 16
Estructura del Sistema de Archivos (y II)
l Organizacin en niveles (capas)
- Por eficiencia, el
SO mantiene una
tabla indexada (por
descriptor de
archivo) de
archivos abiertos

- Bloque de
control de archivo:
estructura con
informacin de un
archivo en uso
Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 17
Mtodos de Asignacin de
espacio: Contiguo
l Cada archivo ocupa un conjunto de bloques
contiguos en disco
l Ventajas
Sencillo: solo necesita la localizacin de comienzo
(n de bloque) y la longitud
Buenos tanto el acceso secuencial como el directo
l Desventajas
No se conoce inicialmente el tamao
Derroche de espacio (problema de la asignacin
dinmica fragmentacin externa)
Los archivos no pueden crecer, a no ser que se
realice compactacin ineficiente
Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 18
Contiguo (y II)
l Asociacin lgica a fsica

Supongamos que los bloques de disco son de


512 bytes:

Direccin lgica (DL)/512 C(cociente), R(resto)

- Bloque a acceder = C + direccin de comienzo


- Desplazamiento en el bloque = R

Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 19


Mtodos de Asignacin de espacio:
No Contiguo - Enlazado
l Cada archivo es una lista enlazada de bloques de
disco. Los bloques pueden estar dispersos en el disco

Archivo A
Bloque Bloque Bloque Bloque

0 1 2 3
Bloques
4 7 2 6
Fsicos

l Ventajas
Evita la fragmentacin externa
El archivo puede crecer dinmicamente cuando hay bloques
de disco libres no es necesario compactar
Basta almacenar el puntero al primer bloque del archivo
Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 20
No Contiguo - Enlazado (II)
l Desventajas
El acceso directo no es efectivo (si el secuencial)
Espacio requerido para los punteros de enlace.
Solucin: agrupaciones de bloques (clusters)
Seguridad por la prdida de punteros. Solucin: lista
doblemente enlazada (overhead)
l Asociacin lgica a fsica (direccin = 1byte)
Direccin lgica (DL)/511 C(cociente), R(resto)
- Bloque a acceder = C-simo
- Desplazamiento en el bloque = R + 1
Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 21
No Contiguo - Enlazado (y III)
lTabla de Asignacin de Archivos (FAT): variacin del
mtodo enlazado (Windows y OS/2) Bloques FAT
Reserva una seccin del disco al Fsicos
comienzo de la particin para la FAT 0
1
Contiene una entrada por cada bloque
2 6
del disco y est indexada por nmero de 3
bloque de disco 4 7 A
Simple y eficiente siempre que est en 5
cach 6 *
7 2
Para localizar un bloque solo se 8
necesita leer en la FAT se optimiza el 9
acceso directo ... ...
Problema: prdida de punteros doble
copia de la FAT
Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 22
Mtodos de Asignacin de espacio:
No Contiguo - Indexado
l Todos los punteros a los bloques estn juntos en una
localizacin concreta: bloque ndice
l El directorio tiene la localizacin a este bloque ndice y

cada archivo tiene asociado su propio bloque ndice


l Para leer el i-simo bloque buscamos el puntero en la

i-sima entrada del bloque ndice


l Ventajas Datos
Buen acceso directo
No produce fragmentacin
externa Bloque
ndice Datos

Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 23


No Contiguo - Indexado (II)
l Desventajas
Posible desperdicio de espacio en los bloques ndices
Tamao del bloque ndice. Soluciones:
(a) Bloques ndices enlazados
(b) Bloques ndices multinivel
- Problema: acceso a disco necesario para recuperar la
direccin del bloque para cada nivel de indexacin
- Solucin: mantener algunos bloques ndices en
memoria principal
(c) Esquema combinado (Unix)

Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 24


No Contiguo - Indexado (y III)
l Unix (s5fs)
I-nodo Datos

Atributos Datos

... Datos

Datos Datos
1
2
3
4
5 Datos Datos
6 Datos Datos
7
8
9
10 Datos
11 Datos
12
13

Datos
Datos

Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 25


Gestin de espacio libre
l El sistema mantiene una lista de los bloques que estn
libres: lista de espacio libre
l La FAT no necesita ningn mtodo

l A pesar de su nombre, la lista de espacio libre tiene

diferentes implementaciones:
1. Mapa o Vector de Bits
Cada bloque se representa con un bit (0-Bloque libre; 1-
10010001 Bloque ocupado)
11111101 Fcil encontrar un bloque libre o n bloques libres
11100000
11111110 consecutivos. Algunas mquinas tienen instrucciones
00000000 especficas
11100011 Fcil tener archivos en bloques contiguos
11100000 Ineficiente si no se mantiene en memoria principal
Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 26
Gestin de espacio libre (y II)
2. Lista enlazada
Enlaza todos los bloques libres del disco,
guarda un puntero al primer bloque en un
lugar concreto
No derrocha espacio
Relativamente ineficiente No es normal atravesar bloques
vacos
34 4 84
3. Lista enlazada con agrupacin 57 78
Cada bloque de la lista almacena n-1 3 9
direcciones de bloques libres
Obtener muchas direcciones de bloques libres es rpido
4. Cuenta
Cada entrada de la lista: una direccin de bloque libre y un
contador del n de bloques libres que le sigue
Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 27
Implementacin de Directorios
l Contenido de una entrada de directorio. Casos:

(a) Nombre de Archivo + Atributos + Direccin de los bloques de


datos (DOS)

Entrada de directorio de MS-DOS


Bytes 8 3 1 10 2 2 2 4

Nombre del archivo reservado tamao

Tipo de archivo Tiempo N primer


(extensin) Atributos Fecha bloque

Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 28


Implementacin de Directorios (y II)
(b) Nombre de Archivo + Puntero a una estructura de datos que
contiene toda la informacin relativa al archivo (UNIX)
Entrada de directorio de UNIX (s5fs)
Bytes 2 14

Nombre del archivo

l Cuando se abre un archivo


El SO busca en su directorio la entrada correspondiente
Extrae sus atributos y la localizacin de sus bloques de datos y
los coloca en una tabla en memoria principal
Cualquier referencia posterior usa la informacin de dicha tabla

Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 29


Implementacin de Directorios (y III)
l Posibilidades respecto a la implementacin:
1. Lista lineal
Sencillo de programar
Consume tiempo en las creaciones, bsquedas,
..., si no se utiliza una cach software
2. Tabla hash
Decrementa el tiempo de bsqueda
Dificultades:
- Tamao fijo de la Tabla hash
- Dependencias de la funcin hash sobre el
tamao de la tabla
- Necesita previsin para colisiones
Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 30
Implementacin de Directorios (y IV)
l Implementacin de archivos compartidos (o enlace):
1. Enlaces simblicos
Se crea una nueva entrada en el directorio, se indica que
es de tipo enlace y se almacena el camino de acceso
absoluto o relativo del archivo al cual se va a enlazar
Se puede usar en entornos distribuidos
Gran nmero de accesos a disco
2. Enlaces absolutos (o hard)
Se crea una nueva entrada en el directorio y se copia la
direccin de la estructura de datos con la informacin del
archivo
Problema al borrar los enlaces: solucin Contador de
enlaces
Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 31
Eficiencia y Rendimiento
l Los discos suelen ser el principal cuello de botella del
rendimiento del sistema
l La eficiencia depende de la asignacin de disco y de la

implementacin de directorios utilizada


l Para proporcionar mejor rendimiento:

1. Cach de disco:
secciones de M.P. con
bloques usados
2. Discos virtuales o
discos RAM: almacn
temporal. Su contenido
es controlado por el
usuario
Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 32
Recuperacin
l Como los archivos y directorios se mantienen tanto en
MP como en disco, el sistema debe asegurar que un fallo
no genere prdida o inconsistencia de datos
l Distintas formas:

1. Comprobador de consistencia:
Compara los datos de la estructura de directorios con los bloques
de datos en disco y trata cualquier inconsistencia
Ms fcil en listas enlazadas que con bloques ndices

2. Usar programas del sistema para realizar copias de


seguridad (backup) de los datos de disco a otros
dispositivos y de recuperacin de los archivos perdidos
Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 33
Tema 1: Implementacin del
sistema de archivos

1. Introduccin

2. Implementacin

3. Estructura del almacenamiento


secundario

Sistemas Operativos II Tema


Dpto. 1: Implementacin
Lenguajes del
y Sistemas sistema de archivos
Informticos. Universidad de Granada 34
3. Estructura del almacenamiento
secundario: Estructura del Disco
l Desde el punto de vista del SO, el disco se puede ver
como un array de bloques (B0, B1,...,Bn-1)
l La informacin se referencia por una direccin formada

por varias partes:


unidad (nmero de dispositivo),
superficie (o cara),
pista, y
sector
l Existe un esquema de asociacin de la direccin de un
bloque lgico Bi a direccin fsica (pista, sector, ...)
El rea de asignacin ms pequea es un bloque (1 o ms
sectores)
Fragmentacin interna en los bloques
Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 35
Planificacin de Disco
l El SO puede mejorar el tiempo medio de servicio del
disco
l Una peticin se atiende en tres fases:

1. Posicionamiento de la cabeza en la pista o cilindro


2. Latencia: espera a que pase el bloque deseado
3. Transferencia de los datos entre MP y disco

t_total de servicio = tposicionamiento + t_latencia + t_transferencia

l La planificacin intenta minimizar el tiempo de


posicionamiento distancia de posicionamiento
l Si el disco est ocupado, las peticiones se encolan
Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 36
Planificacin de Disco (II)
l Informacin necesaria para una peticin:
- Si la operacin es de entrada o de salida
- Direccin de bloque
- Direccin de memoria a donde, o desde donde,
copiar los datos a transferir
- Cantidad de informacin a transferir
l Existen distintos algoritmos de planificacin de

peticiones
l Ejemplo: Cola de peticiones (nmeros de pistas) 98,

183, 37, 122, 14, 124, 65, 67. Inicialmente la cabeza est
en la pista 53

Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 37


Planificacin de Disco (III)
l FCFS (First Come First Served)
14 37 53 65 67 98 122 124 183

Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 38


Planificacin de Disco (IV)
l SSTF (Shortest Seek Time First): Primero la peticin
cuyo tde posicionamiento sea ms corto
14 37 53 65 67 98 122 124 183

Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 39


Planificacin de Disco (V)
l SCAN La cabeza recorre el disco desde el principio al
fin y desde el fin al principio sirviendo las peticiones para
cada pista

14 37 53 65 67 98 122 124 183

Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 40


Planificacin de Disco (VI)
l C-SCAN Supone que la lista de bloques es circular,
cuando llega al final, comienza otra vez por el principio
14 37 53 65 67 98 122 124 183

Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 41


Planificacin de Disco (VII)
l LOOK Solo se mueve hacia una direccin si hay
peticiones pendientes
14 37 53 65 67 98 122 124 183

Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 42


Planificacin de Disco (VIII)
l C-LOOK

14 37 53 65 67 98 122 124 183

Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 43


Seleccin de un algoritmo de
planificacin
lEn general, para cualquier algoritmo, el rendimiento
depende mucho del nmero y tipo de las peticiones
si la cola est prcticamente vaca, cualquier algoritmo es
vlido
l El servicio de peticiones puede estar muy influenciado
por el mtodo de asignacin de espacio en disco
utilizado
con asignacin contigua: peticiones que reducen el tiempo de
posicionamiento
con asignacin no contigua (enlazado o indexado): mayor
aprovechamiento de disco pero mayor tiempo de
posicionamiento

Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 44


Gestin de disco
l Particin del disco

Particin 4 Particin 5

Particin 2

Particin 3

Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 45


Gestin de disco (y II)
Ejemplo de organizacin en particiones

MBR Particin 1 Particin 2 Particin 3 Particin 4

Master Boot
Record
(Tabla de particiones) S.A. UNIX

Sistema de Archivos DOS


Boot FAT FAT Directorio
sector raz

Bloques de datos
Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 46
Gestin de disco (y III)
l Formateo del disco:
Fsico: pone los sectores (cabecera y cdigo de
correccin de errores) por pista
Lgico: escribe la informacin que el SO necesita para
conocer y mantener los contenidos del disco (un directorio
inicial vaco, FAT, lista de espacio libre, ...)
l Bloque de arranque para inicializar el sistema
localizado por bootstrap
l Mtodos necesarios para detectar y manejar bloques

daados

Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 47


Gestin del Espacio de Intercambio

l La memoria virtual requiere el uso del disco


como extensin de la memoria principal
l Su uso depende de los algoritmos de gestin

de memoria del SO
Intercambio: procesos completos
Paginacin: pginas de procesos
l La cantidad necesaria depende normalmente
de la computadora:PC, Workstation, ...
l Algunos SOs permiten el uso de mltiples

espacios de intercambio
Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 48
Gestin del Espacio de Intercambio (y II)

lAsignacin del espacio de intercambio. Dos


posibilidades:
En el propio sistema de archivos (p.e. Windows)
fcil de implementar pero ineficiente
En una particin independiente:
no utiliza estructura de directorios ni sistema de
archivos
utiliza su propios algoritmos eficiente
Problema: aumentan las necesidades de espacio en
disco fragmentacin interna
l Algunos SOs admiten ambos mtodos (Solaris2)
Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 49
Gestin del Espacio de Intercambio (y III)

l 4.3BSD asigna espacio de intercambio cuando se lanza


el proceso y utiliza una particin independiente
l El espacio de direcciones de un proceso se divide en

pginas y stas se guardan en el espacio de intercambio


l El ncleo utiliza dos mapas de intercambio por proceso:

1. Mapa de texto
(tamao fijo)

Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 50


Gestin del Espacio de Intercambio (y IV)
2. Mapa de datos (tamao variable). Dado un ndice i, el
bloque apuntado por la entrada i tiene tamao i*16K

lEn sistemas modernos, con ms memoria principal, se


asigna espacio de intercambio solo cuando la pgina se
saca de memoria (Solaris 2)
Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 51
Eficiencia y Seguridad de Disco
lTcnica de entremezclamiento (Striping) de
disco
Un grupo de discos se trata como una unidad. Cada
bloque est formado por subbloques, y cada uno de
stos se almacenan en un disco diferente
Los discos realizan el posicionamiento y transfieren

sus bloques en paralelo decrementa el tiempo de


transferencia del bloque

Bloque D1 Disco
de disco
D2 lgico
D3
Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 52
Eficiencia y Seguridad de Disco (y II)
l RAID (Redundant Array of Independent Disks)
Mejoras en el rendimiento y la seguridad

Organizaciones:

- Sombra (shawdowing): mantiene duplicados de


cada disco
- Paridad entremezclada de bloques: los datos se
escriben en cada disco del array en un bloque y se
tiene un bloque extra de paridad en otro disco los
datos daados de un disco se obtienen a partir de
los datos del resto de discos

Sistemas Operativos II Tema 1: Implementacin del sistema de archivos 53


Fin del tema 1: Implementacin del
sistema de archivos

1. Introduccin

2. Implementacin

3. Estructura del almacenamiento


secundario

Sistemas Operativos II Tema


Dpto. 1: Implementacin
Lenguajes del
y Sistemas sistema de archivos
Informticos. Universidad de Granada 54

También podría gustarte