Sunteți pe pagina 1din 54

Tema 1: Implementacin del

sistema de archivos
1. Introduccin
2. Implementacin
3. Estructura del almacenamiento
secundario

Sistemas Operativos II

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

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

Tema 1: Implementacin del


sistema de archivos
1. Introduccin
2. Implementacin
3. Estructura del almacenamiento
secundario

Sistemas Operativos II

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

1. Introduccin: Concepto de archivo


Coleccin de informacin relacionada y almacenada en
un dispositivo de almacenamiento secundario
l Espacio de direcciones lgicas contiguas
l Estructura interna (lgica)
l

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

Tipos de archivos: regulares, directorios, de dispositivo


l Formas de acceso: secuencial, aleatorio, otros
l

Sistemas Operativos II

Tema 1: Implementacin del sistema de archivos

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

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

Estructura de Directorios
Coleccin de nodos conteniendo informacin
acerca de todos los archivos Organizacin
l

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

Directorio

Archivos

Sistemas Operativos II

Tema 1: Implementacin del sistema de archivos

Estructura de Directorios (y II)


La organizacin (lgica) de los directorios
debe proporcionar:
Eficiencia: localizacin rpida de un archivo
l Denominacin: adecuada a los usuarios
l

Dos usuarios pueden tener el mismo nombre


para diferentes archivos
El mismo archivo puede tener varios nombres

Agrupacin: agrupar los archivos de forma


lgica segn sus propiedades (Ej. todos los
l

programas en C)
Sistemas Operativos II

Tema 1: Implementacin del sistema de archivos

Estructura de Directorios (y III)


Casos:
l A un nico nivel
Problema de denominacin
Problema de agrupacin
l

D
F

A dos niveles
Nombres de camino
D
Diferentes usuarios pueden
tener archivos con igual nombre
F
F
No hay posibilidad de
agrupacin

Sistemas Operativos II

Tema 1: Implementacin del sistema de archivos

D
D
F

Estructura de Directorios (y IV)


l

En rbol

Necesidad de bsquedas eficientes D


Posibilidad de agrupacin
F
F F
Directorio actual (de trabajo)
Nombres de camino absolutos y
relativos
D
l

En grafo

Comparticin de subdirectorios y
F
archivos
Ms flexibles y complejos
Sistemas Operativos II

Tema 1: Implementacin del sistema de archivos

D
F

D
F

D
F
F

D
F
10

Proteccin
Bsicamente consiste en proporcionar un
acceso controlado a los archivos
l

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


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
l

propietario
grupo
pblico

Propuesta alternativa: Asociar un password con el


archivo. Problemas:
l

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
Especifican cundo las modificaciones de datos por un
usuario se observan por otros usuarios
l Ejemplos:
1. Semntica de Unix
l

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
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
l

Asignacin/liberacin del espacio en disco

Traducir las direcciones lgicas del archivo en


direcciones fsicas del disco
l

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
1: Implementacin
sistema de Universidad
archivos
Dpto.
Lenguajes
y Sistemasdel
Informticos.
de Granada

15

2. Implementacin: Estructura del


Sistema de Archivos
Un sistema de archivos posee dos problemas
de diseo diferentes:
l

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
Cada archivo ocupa un conjunto de bloques
contiguos en disco
l Ventajas
l

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
Cada archivo es una lista enlazada de bloques de
disco. Los bloques pueden estar dispersos en el disco
l

Bloque

Bloque

Bloque

Bloque

Bloques
4
Fsicos
l

Archivo A

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)

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)


Tabla de Asignacin de Archivos (FAT): variacin del
mtodo enlazado (Windows y OS/2)
Bloques
l

Reserva una seccin del disco al

comienzo de la particin para la FAT


Contiene una entrada por cada bloque
del disco y est indexada por nmero de
bloque de disco
Simple y eficiente siempre que est en
cach
Para localizar un bloque solo se
necesita leer en la FAT se optimiza el
acceso directo
Problema: prdida de punteros doble
copia de la FAT
Sistemas Operativos II

Tema 1: Implementacin del sistema de archivos

Fsicos

0
1
2
3
4
5
6
7
8
9
...

FAT

6
7

*
2

...

22

Mtodos de Asignacin de espacio:


No Contiguo - Indexado
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
l

Buen acceso directo


No produce fragmentacin
externa

Sistemas Operativos II

Bloque
ndice

Tema 1: Implementacin del sistema de archivos

Datos

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
Atributos

Datos
Datos

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

Datos
Datos

Datos

Datos

Datos
Datos

Datos

Datos
Datos

Datos
Datos

Sistemas Operativos II

Tema 1: Implementacin del sistema de archivos

25

Gestin de espacio libre


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:
l

1. Mapa o Vector de Bits


10010001
11111101
11100000
11111110
00000000
11100011
11100000

Cada bloque se representa con un bit (0-Bloque libre; 1Bloque ocupado)


Fcil encontrar un bloque libre o n bloques libres
consecutivos. Algunas mquinas tienen instrucciones
especficas
Fcil tener archivos en bloques contiguos
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

3. Lista enlazada con agrupacin

34
57
3

4
78
9

84

Cada bloque de la lista almacena n-1


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

Nombre del archivo


Tipo de archivo
(extensin)

Sistemas Operativos II

10

reservado

Tema 1: Implementacin del sistema de archivos

tamao
Tiempo

Atributos

Fecha

N primer
bloque

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

14

Nombre del archivo

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)


Posibilidades respecto a la implementacin:
1. Lista lineal
l

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)


Implementacin de archivos compartidos (o enlace):
1. Enlaces simblicos
l

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
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:
l

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
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:
l

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
1: Implementacin
del
sistema de archivos
Dpto.
Lenguajes
y Sistemas
Informticos.
Universidad de Granada

34

3. Estructura del almacenamiento


secundario: Estructura del Disco
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:
l

unidad (nmero de dispositivo),


superficie (o cara),
pista, y
sector

Existe un esquema de asociacin de la direccin de un


bloque lgico Bi a direccin fsica (pista, sector, ...)
l

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
El SO puede mejorar el tiempo medio de servicio del
disco
l Una peticin se atiende en tres fases:
l

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

La planificacin intenta minimizar el tiempo de


posicionamiento distancia de posicionamiento
l Si el disco est ocupado, las peticiones se encolan
l

Sistemas Operativos II

Tema 1: Implementacin del sistema de archivos

36

Planificacin de Disco (II)


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
l

Sistemas Operativos II

Tema 1: Implementacin del sistema de archivos

37

Planificacin de Disco (III)


l

FCFS (First Come First Served)

14

37

Sistemas Operativos II

53 65 67

98

122 124

Tema 1: Implementacin del sistema de archivos

183

38

Planificacin de Disco (IV)


l

SSTF (Shortest Seek Time First): Primero la peticin

cuyo tde posicionamiento sea ms corto


14

37

Sistemas Operativos II

53 65 67

98

122 124

Tema 1: Implementacin del sistema de archivos

183

39

Planificacin de Disco (V)


SCAN La cabeza recorre el disco desde el principio al
fin y desde el fin al principio sirviendo las peticiones para
cada pista
l

14

37

Sistemas Operativos II

53 65 67

98

122 124

Tema 1: Implementacin del sistema de archivos

183

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

Sistemas Operativos II

53 65 67

98

122 124

Tema 1: Implementacin del sistema de archivos

183

41

Planificacin de Disco (VII)


l

LOOK Solo se mueve hacia una direccin si hay

peticiones pendientes
14

37

Sistemas Operativos II

53 65 67

98

122 124

Tema 1: Implementacin del sistema de archivos

183

42

Planificacin de Disco (VIII)


l

C-LOOK
14

37

Sistemas Operativos II

53 65 67

98

122 124

Tema 1: Implementacin del sistema de archivos

183

43

Seleccin de un algoritmo de
planificacin
En general, para cualquier algoritmo, el rendimiento
depende mucho del nmero y tipo de las peticiones
si la cola est prcticamente vaca, cualquier algoritmo es
l

vlido

El servicio de peticiones puede estar muy influenciado


por el mtodo de asignacin de espacio en disco
utilizado
l

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

Master Boot
Record
(Tabla de particiones)

Particin 4

S.A. UNIX
Sistema de Archivos DOS

Boot FAT
sector

FAT

Sistemas Operativos II

Directorio
raz
Bloques de datos

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, ...)

Bloque de arranque para inicializar el sistema


localizado por bootstrap
l Mtodos necesarios para detectar y manejar bloques
daados
l

Sistemas Operativos II

Tema 1: Implementacin del sistema de archivos

47

Gestin del Espacio de Intercambio


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
l

Intercambio: procesos completos


Paginacin: pginas de procesos

La cantidad necesaria depende normalmente


de la computadora:PC, Workstation, ...
l Algunos SOs permiten el uso de mltiples
espacios de intercambio
l

Sistemas Operativos II

Tema 1: Implementacin del sistema de archivos

48

Gestin del Espacio de Intercambio (y II)


Asignacin del espacio de intercambio. Dos
posibilidades:
En el propio sistema de archivos (p.e. Windows)
fcil de implementar pero ineficiente
En una particin independiente:
l

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)


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)
l

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

En sistemas modernos, con ms memoria principal, se


asigna espacio de intercambio solo cuando la pgina se
saca de memoria (Solaris 2)
l

Sistemas Operativos II

Tema 1: Implementacin del sistema de archivos

51

Eficiencia y Seguridad de Disco


Tcnica de entremezclamiento (Striping) de
disco
l

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
de disco
Sistemas Operativos II

D1
D2

D3

Tema 1: Implementacin del sistema de archivos

Disco
lgico
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
1: Implementacin
del
sistema de archivos
Dpto.
Lenguajes
y Sistemas
Informticos.
Universidad de Granada

54

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