Академический Документы
Профессиональный Документы
Культура Документы
FICCT
Semestre I/2016
CAPITULO 1
INF413
Administracin de la
Informacin
OBJETIVO
Describir
los
mtodos
para
el
INTRODUCCIN
Desde el punto de vista del usuario, una de las partes ms importantes de un sistema operativo
es el sistema de ficheros.
El sistema de ficheros proporciona la abstraccin de los recursos tpicamente asociadas
con el almacenamiento secundario.
El sistema de ficheros permite a los usuarios crear colecciones de datos, llamadas
ficheros, con propiedades tales como:
Existencia a largo plazo.
Compartible entre procesos.
Estructura.
El sistema de ficheros proporciona no slo una manera de almacenar los datos y
organzalos, sino tambin ofrece las funciones necesarias para :
CONTENIDO
1.1
Conceptos Bsicos
1.2
1.3
Directorios de archivos
1.4
1.5
Sectores lgicos
1.6
El Filesystem FAT
1.7
El Filesystem Linux
1.8
Sistema de Archivos
Implementacin
Definicin de Fichero
/home/usuario/archivo.txt
open(archivo.txt)
Dispositivo
S.O.
I/O
C:\windows\calc.exe
Usuario
Implementacin
NombreDeArchivo
.extensin
Atributos - Fichero
Los sistemas de archivos guardan, adems del nombre del archivo y sus datos, informacin como
fecha, hora, usuario, permisos, etc; los cuales se denominan atributos.
Algunos de los atributos que puede guardar un sistema de archivos son:
Proteccin
Dueo
Oculto
Temporal
Indicadores de Bloqueo
Longitud del registro
Tamao actual
Campo - Registro
Estructura - Archivo
A
Sucesin
de bytes
Sucesin
de registros
rbol
Control de E/S
Dispositivos
La Pila
El Fichero Secuencial
rea primaria : Es la parte del fichero donde se guardan los registros ordenados
por el valor del campo clave. Los registros se organizan por bloques. Es un rea
de organizacin secuencial donde el acceso se realiza mediante dos operaciones:
Primero, buscando en el bloque del registro.
Segundo, analiza secuencialmente ese bloque hasta localizar el registro
deseado o, en caso de no hallarse, pasara al rea de overflow.
rea de ndices: Los registros de esta rea estn formados por dos campos:
El primero contiene la clave del ltimo registro de cada bloque.
El segundo contiene la direccin de memoria (puntero) del inicio de cada
bloque del rea primaria.
rea de Overflow: Tras completar el rea primaria, los registros aadidos
posteriormente sern enviados al rea de overflow. Estos registros podrn tener
claves intermedias a los registros aadidos en el rea primaria.
10
11
12
14
13
15
Directorios
usr/
Estilo Unix
local/
share/
home/
jmakuc/
cmolina/
\??\
Estilo Windows
C:\
Las entradas X: se
denominan unidades
y representan a
particiones de los
discos
D:\
Videos
Temp
mp3
Windows
Pelculas
Estructura
Nombre escogido por el creador (usuario o programa). Debe ser nico dentro de un directorio especfico.
Por ejemplo: texto, binario, mdulo de carga, etc.
Informacin de direccionamiento
Volumen
Direccin inicial
Tamao utilizado
Tamao asignado
Informacin de control de acceso
Propietario
Informacin de acceso
Acciones permitidas
Informacin de uso
Fecha de creacin
Identidad del creador
Fecha de ltimo acceso de lectura
Identidad de ltimo lector
Fecha de ltimo acceso de
modificacin
Identidad de ltimo modificador
Fecha de la ltima copia de
seguridad
Uso actual
Estructura
Estructura
Una primera solucin para resolver estos problemas sera pasar a un esquema de dos
niveles. En este caso, hay un directorio por cada usuario y un directorio maestro. El
directorio maestro tiene una entrada por cada directorio usuario, proporcionando
Las entradas X: se
informacin sobre direccin y control de acceso. denominan
unidades
Estilo Windows
y representan a
\??\
Cada directorio de usuario es una lista simple
de sus ficheros.
Por esto los nombres deben ser
particiones de los
nicos slo dentro de la coleccin de los ficheros de discos
un nico usuario y el sistema de
ficheros puede fcilmente asegurar
las restricciones deD:\
acceso. Sin embargo, an no ayuda a
C:\
estructurar al usuario sus ficheros.
And Settings
Videos jerrquica en forma de rbol
Una tcnica ms potente y flexible,Documents
es utilizar
una estructura
Temphay un directorio maestro,
mp3
(Windows). Como en la tcnica anterior,
que tiene bajo dicho directorio
Windows
Pelculas
varios directorios de usuario. Cada directorio
de usuario, a su
vez, puede tener subdirectorios y
ficheros como entradas. Esto se cumple para todos los niveles:
A cada nivel, un directorio podra estar formado por subdirectorios y/o ficheros.
Para cada directorio y subdirectorio el enfoque ms sencillo es almacenar cada directorio
como un fichero secuencial.
Comparticin de Ficheros
DERECHOS DE ACCESO
El sistema de ficheros debera permitir compartir ficheros entre los usuarios:
Ninguno. El usuario no puede incluso conocer la existencia del fichero.
Lectura. El usuario puede leer el fichero (copiar y ejecutar en algunos sistemas).
Actualizacin. El usuario puede modificar, borrar o aadir datos al fichero
Ejecucin. El usuario puede cargar y ejecutar un programa pero no copiarlo.
Conocimiento. El usuario puede ver si el fichero existe y quin es su propietario.
Adicin. El usuario puede aadir datos al fichero (frecuentemente slo al final), pero
no puede modificar o borrar cualquiera de los contenidos del fichero.
Cambio de proteccin. El usuario puede cambiar derechos de otros usuarios.
Borrado. El usuario puede borrar el fichero del sistema de ficheros.
Se pueden proporcionar diferentes accesos a distintas clases de usuarios:
Usuario especfico. Usuarios individuales que se designan por el UID
Grupos de usuarios. Un conjunto de usuarios que no se definen individualmente. El
sistema debe tener alguna forma de gestionar la membresa a los grupos.
Todos. Todos los usuarios que tienen acceso a este sistema. ( ficheros pblicos)
Acceso Simultaneo
Asignacin de Ficheros
Una poltica de pre asignacin requiere que el tamao mximo de un fichero sea
declarado en tiempo de creacin de fichero.
En varios casos, tales como las compilaciones de programas, la produccin de
ficheros de datos resumen, o la transferencia de un fichero desde otro sistema
sobre la red de comunicacin, se puede estimar este valor de forma fiable.
Sin embargo, para muchas aplicaciones, es difcil sino imposible, estimar
fiablemente el tamao mximo potencial del fichero. En dichos casos, los usuarios y
los programadores de aplicaciones tenderan a sobrestimar el tamao de fichero de
forma que no se queden sin espacio.
Esto claramente supone malgasto desde el punto de vista de la asignacin de
espacio de almacenamiento.
Por tanto, hay ventajas en el uso de la gestin dinmica, que asigna espacio a un
fichero en porciones cuando se necesite.
Tamao de porcin
Asignacin Contigua
Asignacin Contigua
Asignacin Encadenada
Asignacin Encadenada
Asignacin Indexada
Asignacin Indexada
Asignacin Indexada
Sectores Lgicos
Las cabezas y cilindros comienzan a numerarse desde cero y los sectores desde uno.
El primer sector de un disco duro ser el correspondiente a la cabeza 0, cilindro
0 y sector 1.
Hay varios conceptos para referirse a las partes del disco:
Plato: Cada uno de los discos que hay dentro del disco duro.
Cara: Cada uno de los dos lados de un plato
Cabeza Head: Nmero de cabezas de Lectura/Escritura
Pista Track: Una circunferencia dentro de una cara; la pista 0 est en el borde exterior.
Cilindro: Conjunto de varias pistas; son todas las circunferencias que estn alineadas
verticalmente (una de cada cara).
Sector : Cada una de las divisiones de una pista. El tamao del sector no es fijo, siendo el
estndar actual 512 bytes. Antiguamente el nmero de sectores por pista era fijo, lo cual
desaprovechaba el espacio significativamente, ya que en las pistas exteriores pueden
almacenarse ms sectores que en las interiores. As, apareci la tecnologa ZBR
(grabacin de bits por zonas) que aumenta el nmero de sectores en las pistas
exteriores, y usa ms eficientemente el disco duro. Los sectores son las unidades
mnimas de informacin que puede leer o escribir un disco duro.
Cluster: agrupacin de varios sectores.
El Filesystem FAT
La fragmentacin excesiva de los datos: Cuando se borran y escriben nuevos archivos, suele dejar
fragmentos dispersos por todo el soporte de almacenamiento. Esto complica el proceso de lectura y
escritura, hacindose cada vez ms lento. Para agilizar la lectura/escritura se usa una herramienta de
desfragmentacin, pero es un proceso demasiado largo.
El sistema FAT tampoco fue diseado para ser redundante ante fallos.
A diferencia de otros sistemas, no posee permisos de seguridad para cada archivo, por lo tanto
cualquier usuario puede acceder a cualquier fichero en el soporte.
Sector de arranque,
Regin FAT: que contiene la tabla de asignacin de archivos.
La regin del directorio raz.
Ejemplo FAT
Entrada directorio
test.txt
...........
88
20
35
25
103
35
25
88
20
95
103
EOF
metadata
filename
Detalles de Archivo
Se compone de una secuencia de bloques lgicos, todos del mismo tamao fijo (mltiplo
de 512)
Linux puede manejar varios discos fsicos, cada uno con uno o varios sistemas de archivos.
Si el administrador cuenta con varios sistemas de archivos, ante una falla en alguno
todava podr trabajar con el resto de sistemas.
El Kernel del sistema trata con el sistema de archivos a nivel lgico y no directamente a nivel
fsico de disco, es as que el controlador de disco se encarga de transformar la direcciones
lgicas (kernel) del sistema de archivos en direcciones fsicas
1.8.1
1.8.2
1.8.3
1.8.4
1. 8. 5
El Superbloque
Inodos
Estructura de un archivo regular
Asignacin de inodos a nuevos archivos
Asignacin de bloques de disco.
El Superbloque
El supe bloque tiene el estado del sistema de archivos: tamao, bloques libres, tamao
de lista de inodos, numero de inodos libres, etc.
Al arrancar el sistema:
Realizara la E/S con disco mediante el buffer cache y mantendr una copia del
superbloque y la tabla de inodos en memoria.
1.8.1
1.8.2
1.8.3
1.8.4
1. 8. 5
El Superbloque
Inodos
Estructura de un archivo regular
Asignacin de inodos a nuevos archivos
Asignacin de bloques de disco.
Cada archivo de Unix tiene asociado un Inodo. El Inodo tiene informacin necesaria para que un
proceso pueda acceder al archivo:
Identificador del propietario : Individual y de grupo (root tiene todos los permisos)
Tipo de acceso al archivo: Permisos para UGO. Los permisos pueden ser : R W X
Durante el arranque el kernel lee la lista de inodos y carga un acopia en memoria (tabla de inodos o
cache de inodos o buffer cache), por esto motivo:
Todo lo que manipule el sistema de archivos se refleja en la tabla de inodos, pero no en la lista de
Inodos => Mayor rapidez. Asi mismo el Sistema se mantiene al tanto de:
Si el Inodo esta bloqueado => Si algn proceso esta en espera de que desbloquee
Si la copia del Inodo en memoria difiere de disco => Si la copia de datos en memoria difiere de disco
Inodos
1.8.1
1.8.2
1.8.3
1.8.4
1. 8. 5
El Superbloque
Inodos
Estructura de un archivo regular
Asignacin de inodos a nuevos archivos
Asignacin de bloques de disco.
Los archivos regulares contienen bytes de datos organizados como un array lineal. Las operaciones
que se pueden realizar con los datos de un archivo son :
Truncar el tamao de un archivo a cero bytes. Esto es como borrar el contenido del archivo.
Es posible que Dos o mas procesos pueden leer y escribir concurrentemente sobre el mismo
archivo. Los resultados de esta operacin dependern del orden de llamadas de entrada/salida
individuales de cada proceso , la gestin y planificacin del Scheduler.
SI los datos de un archivo se almacenan en bloques consecutivos, para accederlos basta con
conocer la direccin del bloque inicial y el tamao del archivo
Para mayor flexibilidad el kernel reserva los bloques para los archivos de uno en
uno, y permite que los datos de un archivo estn esparcidos en el sistema de
archivos.
Las entradas de direcciones del Inodo consisten en una Tabla de direcciones de los
bloques que contiene los datos del archivo. Almacenar la lista de bloques del archivo
en un Inodo es algo difcil de implementar.
Dado que los archivos no trabajan por bloques, sino por acceso directo a los bytes,
esta estructura debe proveer algn algoritmo para traducir las indirecciones y bloques
en los bytes solicitados por las funciones del programador
1.8.1
1.8.2
1.8.3
1.8.4
1. 8. 5
El Superbloque
Inodos
Estructura de un archivo regular
Asignacin de inodos a nuevos archivos
Asignacin de bloques de disco.
El algoritmo IALLOC asigna un inodo del disco a un nuevo archivo. El file system contiene una
lista de inodos. Un inodo esta libre si el tipo especificado es 0. Cuando el kernel tiene q asignar un
inodo a un archivo nuevo, busca en la lista de inodos libres que tiene en el superblock un numero
de inodo .
Si encuentra en la lista de inodos, entonces toma el inodo, asigna una copia en memoria de este
inodo por medio del algoritmo IGET, inicializa el inodo y lo devuelve lockeado (actualiza el inodo
a disco)
Si la lista de inodos esta vaca, el kernel busca en la lista de inodos del disco y guarda tantos
inodos libres como sea posible en el array del superbloque, recordando siempre cual es el mayor
numero de inodo almacenado.
En este sentido la prxima vez que necesite levantar nmeros de inodos del disco, sabe que a partir
del numero recordado tiene que empezar la bsqueda. Y cada vez que asigne un inodo a un
archivo, decremento la cantidad de inodos libres en el array dentro del superbloque
Cuando se libre un inodo se utiliza el algoritmo IFREE. El kernel revisa si hay lugar en lista para
el nmero de indo liberado, si hay lugar entonces coloca el numero en el array. SI no hay lugar
compara el nmero de inodo con el numero del inodo recordado y solo si es menor , lo almacena
dentro del array, sacando del array al inodo recordado. Este pasa a ser ahora el inodo recordado.
1.8.1
1.8.2
1.8.3
1.8.4
1. 8. 5
El Superbloque
Inodos
Estructura de un archivo regular
Asignacin de inodos a nuevos archivos
Asignacin de bloques de disco.
El super bloque del Sistema de archivos contiene un array que es utilizado para cachear
los nmeros de bloques libres dentro del File System. El ejecutable MKFS organiza los
bloques del disco en una lista linkeada, tal que cada link de la lista es un bloque del
disco y contiene un array de nmeros de bloques libres y una de las entradas del array
es el numero del prximo bloque linkeado del array.
Cuando el kernel quiere asignar un bloque del sistema de archivos, asigna el prximo
bloque disponible en la lista del super bloque (ALLOC). Una vez asignado no puede
ser reasignado hasta que sea liberado.
Si el bloque que lee de la lista es el ultimo bloque libre, entonces toma el contenido que
es un puntero al prximo bloque del link y lee este bloque, llenando con los datos del
mismo la lista de bloques libres del array en el sper bloque.
Luego trabaja con el nmero de bloque que tiene libre y procede a asignarlo, luego de
iniciar su contenido.
Cuando se ejecuta MKFS, se van cargando los nmeros de bloques de manera que
tengan cierta relacin que luego pueda mejorar la lectura de los bloques asignados, para
aquellos archivos que contendrn gran cantidad de bloques de datos.
Practica 1
1.
2.
3.