Sei sulla pagina 1di 23

16-06-2015

INTRODUCCIN
Para administrar los dispositivos de almacenamiento masivo (cintas, discos),
es necesario que el SO implante el concepto abstracto de archivo.

Los archivos almacenan datos y programas y para facilitar su uso se


organizan en estructuras denominadas directorios.

Es necesario controlar quien y como puede acceder a un archivo.

Para esto se utilizan ciertas tcnicas de proteccin y seguridad.

Para almacenar sistemas de archivos se utilizan medios fsicos como: cintas,


discos magnticos.

El S.O. a partir de las caractersticas del sistema fsico definir una unidad
lgica de almacenamiento.

2/46

1
16-06-2015

INTRODUCCIN
Un sistema de archivos vendr dado por:
un conjunto de archivos.
estructura de directorios.

Cmo definir estos conceptos?

3/46

QU ES UN ARCHIVO?
Elemento que sirve para el almacenamiento de
informacin.

Conjunto de informacin relacionada definida por su


creador.

En UNIX la abstraccin de archivo consiste en una


secuencia ordenada de bytes residentes en memoria
secundaria.

En general es una secuencia de bits, bytes, lneas o


registros definidos por su creador y el usuario.

4/46

2
16-06-2015

QU ES UN DIRECTORIO?
Es un mecanismo o estructura para organizar los
archivos.

Con esta estructura, si se sobrepasa la capacidad


fsica del dispositivo se pueden usar otras
unidades de almacenamiento incluso en
computadoras diferentes.

Algunos sistemas utilizan dos estructuras diferentes:


directorio del dispositivo: se almacena en cada dispositivo e
informa de las propiedades fsicas de los archivos, ubicacin fsica.
directorio de archivos: describe las propiedades lgicas de los
archivos, nombre, tipo...

5/46

ARCHIVO COMO ENTRADA EN UN DIRECTORIO


La entrada en un Directorio es diferente segn el sistema operativo que
usemos.
En general contiene la siguiente informacin:
Nombre de archivo nombre simblico dado por el usuario.

Tipo de archivo para sistemas que permiten varios tipos.

Ubicacin puntero al dispositivo y su posicin en l.

Tamao tamao del archivo en bits, bytes, bloques.. etc.

Posicin actual puntero a la posicin actual en el archivo si se est realizando una


operacin de lectura o escritura.
Proteccin informacin sobre el control de acceso.

Recuento de uso valor que indica el nmero de procesos que estn usando el archivo (que
lo han abierto).
Propietario usuario que creo el archivo.

Hora, fecha informacin referente a hora y fecha de creacin, ultima modificacin,


ltimo acceso.
6/46

3
16-06-2015

ESTRUCTURA DE DIRECTORIO
En general un directorio es una estructura de datos que contiene un conjunto
de entradas o registros que hacen referencia a un archivo u otro directorio.

En UNIX los directorios se implementan como archivo.

En otros sistemas operativos se implementan como estructuras de datos


sobre el disco.

Operaciones: bsqueda , creacin y eliminacin de archivos, listado del


directorio... etc.

7/46

ESTRUCTURA DE DIRECTORIO
ESTRUCTURA PLANA

Un solo nivel:
Directorios de un solo nivel
Archivos con nombres nicos
No hay distincin entre usuarios

Dos niveles:
Directorios maestro con directorios
de usuarios
Usuarios aislados

8/46

4
16-06-2015

ESTRUCTURA DE DIRECTORIO
ESTRUCTURA JERRQUICA O DE RBOL DE ALTURA ARBITRARIA

9/46

EJEMPLO DE SISTEMA DE ARCHIVOS - FAT


Utilizado en el S.O. MS-DOS.
Estructura arborescente.
Una entrada en un directorio proporciona un puntero al primer bloque de
datos (FAT = File Allocation Table).
Existe un directorio raz de tamao fijo.

10/46

5
16-06-2015

EJEMPLO DE SISTEMA DE ARCHIVOS - EXT

Utilizado en el S.O. UNIX.


Estructura arborescente
Nmero arbitrario de entradas
2 entradas predeterminadas "." y ".."

11/46

EJEMPLO DE SISTEMA DE ARCHIVOS - EXT


OPERACIONES SOBRE ESTRUCTURA DE RBOL

Acceso a un archivo dando su ruta o path absoluta o relativa.


absoluta: comienza en el raz y se da la ruta hasta el archivo.
relativa: se define la ruta desde el directorio actual.

Cambio de directorio: mediante la llamada al sistema chdir(dir). Toma el


directorio que se especifica como el actual.

Borrado de directorios:
si est vaco: se elimina la entrada del directorio que lo contiene.
si no vaco: los S.O. borran primero su contenido y despus el
directorio.

12/46

6
16-06-2015

EJEMPLO DE SISTEMA DE ARCHIVOS - EXT


DIRECTORIO COMO GRAFO ACCLICO: ENLACES

Dos o ms usuarios puede compartir archivo o directorios como si todos


fuesen propietarios.

Con un archivo compartido solo hay un archivo, modificaciones de un


usuario son vistas instantneamente por el otro.

Estructura jerrquica
Nombrado (ruta completa)
rbol (con enlaces->grafo acclico)

13/46

EJEMPLO DE SISTEMA DE ARCHIVOS - EXT


COMO COMPARTIR ARCHIVOS O DIRECTORIOS?

Duplicando la informacin.
As se obtienen entradas idnticas. (cp)

Creando enlaces.
Un enlace es un puntero a otro archivo o directorio. En la entrada al
directorio del archivo o directorio compartido se indica que hay un
enlace y el nombre real del archivo o directorio. En UNIX se crean
enlace sobre archivos con la orden ln.
$cd /users
$ln /usr/lib/fuente ufuente

Precaucin:
Hay que evitar la creacin de
ciclos al crear nuevos enlaces.
14/46

7
16-06-2015

EJEMPLO DE SISTEMA DE ARCHIVOS - EXT


COMO ELIMINAR ARCHIVOS COMPARTIDOS?

Si se usaron enlaces simblicos


Al eliminar un enlace no se modifica el archivo original
Al eliminar la entrada del archivo original puede quedar enlaces sueltos

!! El sistema debe tener algn control sobre los enlaces!!

En UNIX el S.O. Lleva una cuenta de los enlaces que se realizan


Si se borran/crean enlaces se reduce/aumenta la cuenta.
Cuando la cuenta es cero se puede borrar el archivo porque ya no hay
ninguna referencia a el.

15/46

EJEMPLO DE SISTEMA DE ARCHIVOS - EXT


OPERACIONES SOBRE ARCHIVOS Y DIRECTORIOS
El S.O nos ofrece las llamadas al sistema para la gestin y manejo de
archivos y directorios.

Llamadas al Sistema de UNIX


Gestin de archivos

16/46

8
16-06-2015

EJEMPLO DE SISTEMA DE ARCHIVOS - EXT


OPERACIONES SOBRE ARCHIVOS Y DIRECTORIOS

!!Todas las operaciones implican la bsqueda de la entrada en el directorio!!

Se debe utilizar una Tabla de descriptores de archivos abiertos

Al abrir un archivo se copia su entrada en esta tabla, asocindola a un


ndice (entero).

Al realizar una operacin sobre el archivo se utiliza ese ndice para


referirse a l.

Al cerrar el archivo su entrada se borra de esta tabla.

17/46

IMPLEMENTACIN DEL SISTEMA DE ARCHIVOS


CMO ALMACENAR UN ARCHIVO EN UN DISPOSITIVO?

Un archivo se almacena en:

Archivos implementados como una secuencia ordenada de bloques

18/46

9
16-06-2015

IMPLEMENTACIN DEL SISTEMA DE ARCHIVOS


COMO ALMACENAR UN ARCHIVO EN UN DISPOSITIVO?

Lista enlazada
El archivo se almacena en disco en bloques (no necesariamente
consecutivos).
Se genera una lista enlazada con los bloques que contienen los
nmeros de los bloques que hay ocupados por el archivo.
La lista estar enlazada por punteros.

dnde se ubica el enlace?

1. en el bloque? 2. En una tabla?

19/46

IMPLEMENTACIN DEL SISTEMA DE ARCHIVOS


LISTA ENLAZADA DE BLOQUES (MS-DOS): FAT

Los punteros de los archivos se encuentran en una


tabla situada en los primeros sectores del disco.
TABLA DE ASIGNACION DE ARCHIVOS
La entrada de un archivo en el directorio da el nmero del
primer bloque del archivo.
Esta posicin en la FAT proporciona el siguiente bloque y
as sucesivamente.
archivo1
XX = tamao del disco
EOF = fin archivo archivo2
FREE = bloque libre
BAD = bloque defectuoso archivo3

20/46

10
16-06-2015

IMPLEMENTACIN DEL SISTEMA DE ARCHIVOS


LISTA ENLAZADA DE BLOQUES (MS-DOS): FAT

Los punteros se encuentran en una tabla aparte situada en los primeros


sectores del disco:

320 posiciones x 12 bits = 480 bytes < 512 Se guarda la FAT en memoria?
360 posiciones x 12bits = 540 bytes > 512 Aleatoriedad de la organizacin
64K pos. x 16 bits = 128K bytes -> 256

21/46

IMPLEMENTACIN DEL SISTEMA DE ARCHIVOS


LISTA ENLAZADA DE BLOQUES (MS-DOS): FAT

Problema de la FAT: punteros mezclados aleatoriamente, puede ser


necesario mantener toda la FAT en memoria para tener abierto un solo
archivo.

Un nuevo mtodo: listas de bloques de los archivos en sitios distintos.

22/46

11
16-06-2015

IMPLEMENTACIN DEL SISTEMA DE ARCHIVOS


ALMACENAMIENTO INDEXADO

En Unix existe una tabla asociada llamada inodo que contiene la informacin
referente a un archivo.

Esta tabla es una estructura definida en C, que est almacenada en disco.

Estructura de datos de cada archivo independiente del resto.

Estructura llamada: inodo

23/46

IMPLEMENTACIN DEL SISTEMA DE ARCHIVOS


ALMACENAMIENTO INDEXADO

24/46

12
16-06-2015

IMPLEMENTACIN DEL SISTEMA DE ARCHIVOS


ALMACENAMIENTO INDEXADO

La capacidad de direccionamiento con almacenamiento indexado sera la


siguiente:

punteros simples 10K


punteros indirectos 256 x 1K = 256 K
punteros indirectos dobles 2562 x 1K = 65538 K
punteros indirectos triples 2563 x 1K 16G
total 16 G

25/46

IMPLEMENTACIN DEL SISTEMA DE ARCHIVOS


EJEMPLO DE ALMACENAMIENTO INDEXADO

Obtener el archivo de nombre /users/alumnos/so/prueba.1

1. Obtener el inodo de la raz ("/") que se encuentra en una posicin fija del disco.

26/46

13
16-06-2015

IMPLEMENTACIN DEL SISTEMA DE ARCHIVOS


EJEMPLO DE ALMACENAMIENTO INDEXADO

2. Obtener los bloques de datos para averiguar el siguiente nivel.

27/46

IMPLEMENTACIN DEL SISTEMA DE ARCHIVOS


EJEMPLO DE ALMACENAMIENTO INDEXADO

3. Se repite hasta encontrar el directorio ltimo

28/46

14
16-06-2015

IMPLEMENTACIN DEL SISTEMA DE ARCHIVOS


EJEMPLO DE ALMACENAMIENTO INDEXADO

4. Bsqueda del archivo

El archivo est en 143

29/46

IMPLEMENTACIN DEL SISTEMA DE ARCHIVOS


EJEMPLO DE ALMACENAMIENTO INDEXADO

5. Acceso al archivo de datos

30/46

15
16-06-2015

SEGURIDAD Y PROTECCIN
La informacin del sistema debe ser protegida
de daos fsicos (fiabilidad) y acceso inadecuado
(proteccin).

El mecanismo de proteccin debe ofrecer un acceso controlado a los


archivos.
Controla operaciones sobre archivos
Controla operaciones sobre directorios

Se puede proteger la ruta de acceso a un archivo o directorio.


Grafos acclicos: distintos tipos de acceso en funcin de la ruta

31/46

SEGURIDAD Y PROTECCIN
MTODOS DE PROTECCIN

Proteccin asociada al nombre del archivo.


Si no se conocen los nombres de los archivos de un usuario (acceso a
directorio denegado) no podr acceder a sus archivos.

Proteccin por contrasea.


Se asocia una contrasea a cada archivo.
Problema:
demasiadas contraseas; puedo usar una para todos pero
tengo menos proteccin.
es una proteccin muy fuerte TODO o NADA.

32/46

16
16-06-2015

SEGURIDAD Y PROTECCIN
MTODOS DE PROTECCIN

Proteccin por lista de acceso (NT).


El acceso depende de la identidad del usuario.
Al archivo o directorio se le asocia una lista de acceso que especifique los
permisos de cada usuario.
Cuando el usuario quiere acceder, el S.O. comprueba la lista y permite o
deniega el acceso.

PROBLEMA:
El tamao de la lista puede variar y ser demasiado grande.
El tamao de la entrada en el directorio ya no es fijo.

33/46

SEGURIDAD Y PROTECCIN
MTODOS DE PROTECCIN

Proteccin por grupos de acceso (UNIX).


Es como las listas de acceso pero condensada.
Se clasifica a los usuarios en relacin al archivo como:
Dueo: usuario que lo creo.
Grupo: usuario que necesitan un acceso similar al archivo.
Universo: el resto de usuarios.
Es necesario controlar que usuarios pertenecen a un grupo.
Por ejemplo en UNIX, los grupos son creados por el root. Hay otros
sistemas en los que no hay control.
UNIX: Tres campos (cada uno 3 bits) que indican tipo de acceso: uno para
dueo, otro grupo, otro resto de usuarios (9 bits en total)
_rwxrwxrwx indica todos los permisos (comando chmod)
34/46

17
16-06-2015

ORGANIZACIN FSICA DEL DISCO


Un disco duro forma una caja hermticamente
cerrada que contiene dos elementos no
intercambiables: la unidad de lectura y escritura y
el disco como tal.

La unidad es un conjunto de componentes


electrnicos y mecnicos que hacen posible el
almacenamiento y recuperacin de los datos en el
disco.

El disco es, en realidad, una pila de discos, llamados platos, que almacenan
informacin magnticamente.

Las superficies magnticas de los platos estn formadas por millones de


pequeos elementos capaces de ser magnetizados (un cero o un uno).

35/46

ORGANIZACIN FSICA DEL DISCO

Cabezas L/E. Peine portacabezas


Lectura / Escritura con movimiento
de traslacin hacia el centro o
periferia del disco

Platos Sector

Pista

Caras

Las pistas del mismo color forman un solo Cilindro

36/46

18
16-06-2015

ORGANIZACIN LGICA DEL DISCO


El S.O., por conveniencia, reorganiza al estructura de los discos en
sectores numerados del primero al ltimo.

Cuando un programa necesita acceder a un sector del disco:


indica el nmero de sector
el S.O. lo traduce indicando cilindro, cabezal y sector de la pista.

La estructura lgica de un disco duro est formada por:


El sector de arranque (Master Boot Record)
Espacio particionado
Espacio sin particionar

37/46

ORGANIZACIN LGICA DEL DISCO


REGISTRO MAESTRO DE ARRANQUE (MBR)

El MBR o Registro Maestro de Arranque es el primer sector de todo disco duro


(cabeza 0, cilindro 0, sector 1).

En l se almacena la tabla de particiones y un pequeo programa de


inicializacin, llamado tambin Master Boot.

Este programa es el encargado de


leer la tabla de particiones y ceder
el control al sector de arranque de
la particin activa.

Si no existiese particin activa,


mostrara un mensaje de error.

38/46

19
16-06-2015

ORGANIZACIN LGICA DEL DISCO


PARTICIONES
Los sistemas operativos no trabajan con unidades fsicas de disco duro
directamente sino con unidades lgicas.

Dentro de una misma unidad fsica puede haber varias unidades lgicas.

Cada una de estas unidades lgicas constituye una particin del disco duro.

Dependiendo del sistema de archivos utilizado en cada particin, su estructura


lgica ser distinta.

39/46

ORGANIZACIN LGICA DEL DISCO


EJEMPLO: SISTEMA DE ARCHIVOS EXT (UNIX)

En el caso del sistema de archivos EXT de Unix, su particin tiene la siguiente


organizacin lgica:

40/46

20
16-06-2015

ORGANIZACIN LGICA DEL DISCO


DESCRIPCIN DE LOS BLOQUES

Superbloque: Descripcin de la estructura del disco (tamao de los elementos).


Al arrancar el superbloque se carga en memoria.

inodos: Reserva de varios bloques para almacenar los inodos. En discos de


360K se reservan 4 bloques (1K, 32 bytes/inodo) que d lugar a 128 inodos (el
primero no se utiliza).

41/46

SCHEDULING DE DISCO
El principal problema que debe resolver corresponde al tiempo de acceso al
disco (~ 10 ms) cuando a la memoria es mucho menor (60 ns).

El acceso secuencial es mucho ms eficiente que el acceso aleatorio, es decir,


da lo mismo acceder 1 byte o 10 kbytes si estn dispuestos secuencialmente.

El tiempo de acceso al disco se divide en 3 partes:


Tiempo de bsqueda (seek): tiempo que toma en desplazar el cabezal
hacia la pista del disco donde se leer o escribir. (Mayor tiempo).
Tiempo de latencia: tiempo que hay que esperar a que el sector que se
debe leer o escribir pase por debajo del cabezal.
Tiempo de transmisin: es el tiempo que hay que esperar para que los
datos sean ledos o escritos.

Tacceso = Tseek + Tlatencia + Ttransmisin


42/46

21
16-06-2015

SCHEDULING DE DISCO
Dada una secuencia de requerimientos de acceso a disco pendientes
El scheduling de disco debe:
Reordenar la secuencia de modo que se minimice el tiempo total de
servicio.
Las distintas estrategias se basan en minimizar el tiempo de
bsqueda.
Saber en qu posicin se encuentra el cabezal y los bloques
implicados en cada una de las operaciones de E/S requeridas.

Existen algunas estrategias que se pueden aplicar al respecto:


Shortest Seek Time First (SSTF): Se sirve primero al bloque que
est ms cercano a la posicin actual del cabezal. No se usa porque
puede causar hambruna!!.

43/46

SCHEDULING DE DISCO
LOOK: Es similar a un ascensor. Si sirve primero los requerimientos
pendientes en orden ascendente.
Si llegan requerimientos para un bloque superior al actual,
estos se encolan para ser servidos en esta vuelta.
Si llegan requerimientos para un bloque menor a la posicin del
cabezal, estos se encolan para ser servidos en la prxima
vuelta.
En el momento en que se sirve el ltimo requerimiento
ascendente, se comienza a atender en orden descendente.
Pistas centrales mejor atendidas de las exteriores

SCAN: Similar a LOOK, pero los requerimientos se atienden


siempre en orden ascendente, evitando el problema anterior.

44/46

22
16-06-2015

OTROS SISTEMAS DE ARCHIVOS


Los sistemas de archivos ms usuales son:

FAT o FAT16: sistemas de archivos utilizado por DOS, Windows 3.x y las primeras
versiones de Windows 95.

FAT32 : Tabla de Asignacin de Archivos de 32 bits, este sistema de archivos es


utilizado por Sistemas operativos desde Windows 95, Windows 98 y Windows Me,
FAT32 es una mejora de FAT o FAT16

NTFS : New Technology File System, sistema de archivos de nueva tecnologa,


este sistema de archivo solo puede ser utilizado y ledo por Windows NT,
Windows 2000, Windows 2003 y Windows XP, no es compatible con Windows 9x
aunque si puede ver a particiones en FAT32. NTFS utiliza un tamao de cluster
ms reducido, lo que le permite minimizar el espacio de disco desperdiciado y
reducir la fragmentacin de archivos.

45/46

OTROS SISTEMAS DE ARCHIVOS


Linux Ext2, Ext3 y Linux Swap : Ext2 y Ext3 son los sistemas de archivos que
utiliza el sistema Linux y sus distribuciones (Suse, Ubunt, Mandriva etc). Las
particiones Ext2 permiten hasta un mximo de 4 terabytes. Linux utiliza tambin
para su archivo de intercambio un espacio adicional al cual se le llama Linux
Swap.

46/46

23

Potrebbero piacerti anche