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

UNIVERSIDAD AUTONOMA GABRIEL RENE MORENO

FICCT
Semestre I/2016

CAPITULO 1

INF413

Administracin de la
Informacin

Ing. Mary Dunnia Lpez N.

OBJETIVO

Describir

los

mtodos

para

el

almacenamiento de la informacin y aplicar


adecuadamente los diferentes mtodos para
la estructuracin de la informacin

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

Organizacin lgica y Acceso a los Archivos

1.3

Directorios de archivos

1.4

Organizacin Fsica y Medios de almacenamiento

1.5

Sectores lgicos

1.6

El Filesystem FAT

1.7

El Filesystem Linux

1.8

Representacin interna de los archivos Linux

1.1 Conceptos Bsicos

Sistema de Archivos

Un Sistema Operativo debe proveer funciones para:


Almacenar gran cantidad de informacin
Garantizar que la informacin sobreviva al terminar el proceso que lo usa.
Permitir que mltiples procesos concurrentes accedan a la informacin.
Para entender mejor el sistema de archivos se lo debe observar desde la:

Perspectiva del usuario

Implementacin

Definicin de Fichero

/home/usuario/archivo.txt
open(archivo.txt)

Dispositivo

S.O.

I/O

C:\windows\calc.exe

Usuario

Implementacin

Mecanismo de abstraccin que permite almacenar informacin en un dispositivo y leerla


despus () de tal modo que el usuario no tenga que enterarse de los detalles de cmo y
dnde est almacenada la informacin, y de cmo funcionan en realidad los discos
-- A. Tannenbaum

NombreDeArchivo

.extensin

MSDOS: 8 para el nombre, 3 para la extensin


NTFS y ext*: 255 en el total (nombre + 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

Permisos que el dueo del archivo establece sobre el archivo.


En linux los permisos bsicos se establecen en la terna XXX para el
usuario, grupo y otros respectivamente con los valores {0: nada, 1:
ejecucin,
2: escritura, 4: lectura} que se suman para combinar permisos.

Dueo

Usuario del sistema dueo del archivo

Oculto

Bit que indica si el archivo figura en la lista normal de archivos.

Temporal
Indicadores de Bloqueo
Longitud del registro
Tamao actual

Bit que indica si eliminar el archivo al terminar el proceso que lo creo.


Permiten establecer protecciones sobre parte o todo el archivo para que
modificaciones concurrentes de varios procesos se hagan de forma
adecuada.
En archivos con registros, indica el largo de cada registro
Tamao actual del archivo en bytes.

Campo - Registro

1. Campo: Elemento de datos bsico.

Contiene un valor nico.


Se caracteriza por su longitud y por el tipo de datos.
2. Registro: Conjunto de campos relacionados.
Pueden tratarse como una unidad:
Ejemplo: un registro empleado.

3. Archivo: Conjunto de registros similares.


Tratado como una entidad nica.
Tienen nombres nicos.
Se suelen aplicar restricciones al control de accesos.

1.2 Organizacin Logica y Acceso a


los Archivos

Estructura - Archivo

Los archivos internamente pueden ser libres o estructurados.


Libres: Los archivos son simplemente secuencia de bytes. Permite la mayor flexibilidad, dado
que cada usuario puede establecer como desea almacenar los datos.
Estructurados: Los archivos tienen una organizacin interna a travs de la cual deben ser
accedidos los datos. til cuando el sistema de archivos maneja siempre los datos en estructuras
rgidas, dado que acelera el proceso, pero poco conveniente porque amarra al usuario a dicha
estructura.

A
Sucesin
de bytes

Sucesin
de registros

rbol

Estructura y Funcin del Sistema de Archivos


Sistema de archivos en niveles
Programas de aplicacin

Para ofrecer un acceso eficiente y


cmodo al disco, el sistema
operativo impone en l un sistema
de archivos.
Generalmente el sistema de
archivos esta compuesto de varios
niveles.
Cada nivel de diseo aprovecha las
funciones de los niveles inferiores
para crear nuevas funciones que se
usarn en niveles superiores

Sistema lgico de archivos

Mdulo de organizacin de archivos

Sistema bsico de archivos

Control de E/S

Dispositivos

Funciones del sistema de archivos

Funciones del sistema de archivos durante un ciclo de instruccin bsico

Funciones del sistema de archivos

La estructura y funciones particulares del sistema de archivos depender


del sistema operativo que se este utilizando.
Previo a la instalacin del sistema de archivos es necesario dividir fsica o
lgicamente los discos en particiones o volmenes.
Una particin es una porcin del disco a la que se le dota de una identidad
propia y que puede ser manipulada por el sistema operativo como una
entidad lgica independiente.
Una vez creadas las particiones el sistema operativo debe crear las
estructuras de los sistemas de archivos dentro de esas particiones.

Funciones del sistema de archivos

Al crear un sistema de archivos en una particin de un disco, se crea una


entidad lgica auto contenida con:
Espacio para la informacin de carga del sistema operativo
La descripcin de su estructura
Descriptores de archivos
Informacin del estado de ocupacin de los bloques del sistema de
archivos
Bloques de datos y directorios
Particin
Boot (Sector de arranque)
FAT, nodos-i, descriptores fsicos de archivos, etc
Agrupaciones asignadas a los directorios
Agrupaciones asignadas a los archivos

Organizacin del Fichero

La organizacin fsica del fichero en almacenamiento secundario depende de la estrategia


de bloques y de asignacin de ficheros. Para escoger una organizacin de ficheros, son
importantes varios criterios:
Fiabilidad.
Facilidad de actualizacin.
Tiempo de acceso corto.
Economa de almacenamiento.
Mantenimiento sencillo.
La prioridad relativa de estos criterios depende de las aplicaciones que lo utilizarn.
Por ejemplo:
Si un fichero se va a procesar slo en lotes, con acceso a todos los registros cada
vez, entonces el tiempo acceso corto no es un requisito.
Un fichero almacenado en CD-ROM nunca se actualizar, y por tanto la facilidad
de actualizacin no es un aspecto a tener en cuenta en este caso.

Organizacin Lgica de Fichero

El nmero de organizaciones de ficheros alternativos que se han implementado o


propuesto es bastante extenso, incluso para un libro dedicado a los sistemas de ficheros.
En este breve resumen, se describen cinco organizaciones fundamentales:
La pila.
El fichero secuencial.
El fichero secuencial indexado.
El fichero indexado.
El fichero de acceso directo o hash.

Organizacin Lgica de Fichero

Los 4 organizaciones bsicos de Archivos

La Pila

La forma mas sencilla de organizacin de ficheros es la pila.


Los datos se almacenan en el orden en el que llegan.
Cada registro est formado por un conjunto de datos.
El propsito de la pila es acumular la masa de datos y guardarlos.
Los registros podran tener diferentes o similares campos en
diferentes rdenes. Por lo que cada campo debe ser auto descriptivo
(tener el nombre del campo y el valor). La longitud de cada campo
debe ser implcitamente indicada por delimitadores, explcitamente
incluida como un subcampo o conocida por defecto para cada tipo de
campo.
Dado que no hay estructura en este tipo de fichero, el acceso a los
registros se hace mediante bsqueda exhaustiva.

El Fichero Secuencial

Utiliza un formato fijo para los registros.


Todos los registros son de igual tamao y estn compuestos
por el mismo nmero de campos de longitud fija en un orden
especfico, por este motivo slo se necesita almacenar los
valores de los campos; el nombre y longitud de cada campo
son atributos de la estructura del fichero.
Un campo particular, normalmente el primer campo de cada
registro, se denomina campo clave.
El campo clave identifica de forma nica el registro. Los
registros se almacenan en secuencia segn la clave: orden
alfabtico para una clave de texto y orden numrico para una
clave numrica.
Los ficheros secuenciales se utilizan normalmente en
aplicaciones en lotes y son generalmente ptimos para
dichas aplicaciones cuando implican procesamiento de todos
los registros (Ej: una aplicacin bancaria o de nminas).

El Fichero Secuencial Indexado

Esta es una tcnica para eliminar las desventajas del fichero


secuencial. Este mantiene las caractersticas clave del fichero
secuencial: los registros se organizan en secuencia, basndose
en un campo clave.
Un archivo indexado se refiere a un archivo que guarda
informacin del orden en que estn guardados los datos.
Estos son muy tiles para hacer bsquedas en la base, en
donde los datos se introducen sin ningn orden.
Esta organizacin est formada por:
Registros de un conjunto de datos que se graban en un
fichero secuencialmente => rea primaria.
Los datos se pueden recuperar con acceso directo
gracias a la utilizacin de un fichero adicional, llamado
reas de ndices, que tiene informacin de la posicin de
memoria que ocupa cada registro en el fichero de datos.
Adicionalmente dispone de un rea denominada overflow,
en la que se puede aadir ms datos, una vez terminada el
rea primaria.

El fichero Secuencial Indexado

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.

Ejemplo de archivo secuencial indexado (1)

Ejemplo de archivo secuencial indexado (2)

Ejemplo de archivo secuencial indexado (3)

10

11

12

Ejemplo de archivo secuencial indexado (4)

14

13

15

El Fichero de Acceso Directo o Hash

El fichero de acceso directo, o hash, explota la capacidad


encontrada en los discos para acceder directamente a
cualquier bloque de una direccin conocida.
Al igual que los ficheros secuenciales y secuenciales
indexados, se requiere una clave para cada registro.
En este tipo de ficheros no existe el concepto de
ordenacin secuencial. El fichero directo hace uso de una
funcin hash sobre un valor clave.
Los ficheros directos se utilizan frecuentemente cuando
se requiere un acceso muy rpido, los registros son de
tamao fijo y los registros se acceden de uno en uno.
Ejemplos de este tipo de estructura son los directorios,
las tablas de precios, los inventarios y las listas de
nombres.

Ejemplo de archivo Hash (1)

Ejemplo de archivo Hash (2)

1.3 Directorios de Archivos

Directorios

Directorio Raz: Es el que contiene al resto del


sistema de archivos. En Linux es (/), en Windows est
escondido detrs de las unidades lgicas (\??\)
Directorio de trabajo: Es el directorio en el que se
esta ejecutando un proceso. Por ejemplo el interprete
de comandos lo simboliza con un punto (.).
Directorio Padre: Aquel en el cual es contenido un
directorio. Se simboliza con punto doble (..).
Ruta absoluta: Ubicacin de un archivo o directorio
indicando su posicin desde el directorio raz al
elemento. Ej: /usr/local
Ruta relativa: Ubicacin de un archivo o directorio
indicando su posicin respecto al directorio de trabajo
actual. Ej: ../share

usr/

Estilo Unix

De su utilizacin se derivan los conceptos de:

local/
share/
home/
jmakuc/
cmolina/

\??\

Estilo Windows

De manera de poder organizar los archivos, muchos


sistemas de archivos tienen directorios o carpetas; los
cuales tambin pueden ser archivos.

C:\

Las entradas X: se
denominan unidades
y representan a
particiones de los
discos

D:\

Documents And Settings

Videos

Temp

mp3

Windows

Pelculas

Estructura

(Elementos de Informacin de un Directorio)


Informacin bsica
Nombre de fichero
Tipo de fichero

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

Indica el dispositivo en el cual se almacena el fichero.


Direccin fsica inicial en almacenamiento secundario (por ejemplo, cilindro, pista y nmero de bloque en disco).
Tamao actual del fichero en bytes, palabras o bloques.
Tamao mximo del fichero.
Usuario que controla el fichero. Este puede conceder/denegar acceso a otros usuarios y cambiar estos privilegios.
Una versin sencilla de este elemento incluye el nombre de usuario y clave para cada usuario autorizado.
Controla la lectura, escritura, ejecucin y la transmisin a travs de la red.
Fecha en la que el fichero se coloca por vez primera en el directorio.
Normalmente aunque no necesariamente el propietario actual.
Fecha de la ltima vez que se ley un registro.
Usuario que hizo la ltima lectura.
Fecha de la ltima actualizacin, insercin o borrado.
Usuario que hizo la ltima modificacin.
Fecha de la ltima vez que el fichero fue copiado en otro medio de almacenamiento.
Informacin sobre la actividad actual sobre el fichero, tal como proceso o procesos que tienen el fichero abierto, si est
bloqueado por un proceso y si el fichero ha sido actualizado en memoria principal pero no en disco.

Sistemas Operativos - Willian Stalling

Estructura

La lista sencilla no es adecuada para dar soporte a las operaciones bsicas


sobre archivos:
Los usuarios podran tener muchos tipos de ficheros, incluyendo ficheros
de procesamiento de texto, grficos, hojas de clculo, etc.
Al usuario le podra gustar tener estos ficheros organizados por proyecto,
por tipo, o de alguna forma conveniente.
Si el directorio es una lista secuencial simple, no proporciona ayuda para
organizar los ficheros y fuerza a los usuarios a tener cuidado de no utilizar
el mismo nombre para dos tipos de ficheros diferentes. El problema se
agrava en un sistema compartido. El nombrado nico se convierte en un
problema serio. Ms an, es difcil conceder porciones del directorio
completo a los usuarios cuando no hay una estructura inherente en el
directorio.

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

Cuando se garantiza acceso de adicin o actualizacin de un fichero a ms de


un usuario, el sistema operativo o sistema de gestin de ficheros debe forzar una
disciplina.
Una tcnica de fuerza bruta consiste en permitir al usuario bloquear el fichero
completo cuando se va a actualizar (Word). Un control mas exacto implica el
bloqueo de registros individuales durante la actualizacin (bases de datos).

1.4 Organizacin Fsica y Medios de


Almacenamiento

Asignacin de Ficheros

Varios aspectos estn involucrados en la asignacin de ficheros:


1. Cuando se crea un fichero nuevo, se asigna de una vez el espacio mximo
requerido para el fichero?
El espacio se asigna a un fichero como una o ms unidades contiguas, lo que
se denomina porcin. El tamao de una porcin puede ir desde un nico
bloque al fichero completo.
2. Qu tamao de porcin debera utilizarse para asignacin de ficheros? Qu
clase de estructura de datos o tabla se utiliza para guardar traza de las
porciones asignadas para un fichero?
Un ejemplo de dicha estructura es una tabla de asignacin de ficheros (File
Allocation Table, FAT), encontrado en DOS y otros sistemas.

Reasignacin frente a asignacin dinmica

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

Existen dos alternativas principales:

1. Porciones variables, grandes y contiguas. Esta alternativa proporciona el mejor


rendimiento. El tamao variable evita malgastar espacio, y las tablas de asignacin de
ficheros son pequeas. Sin embargo, el espacio es difcil de reutilizar.
2. Bloques. Pequeas porciones fijas proporcionan mayor flexibilidad. Podran requerir
grandes tablas o estructuras complejas para su asignacin. La contigidad ha sido
abandonada como meta primaria; los bloques se asignan segn se necesite.
Cada opcin es compatible con pre asignacin o asignacin dinmica.
1. En el caso de porciones variables, grandes y contiguas, al fichero se le pre asigna un
grupo de bloques contiguos. Solo requiere un puntero al primer bloque y el nmero de
bloques asignados. Sin embargo es necesario preocuparse de la fragmentacin del
espacio libre.
2. En el caso de los bloques, todas las porciones requeridas se asignan a la vez. Esto
significa que la tabla de asignacin de ficheros para el fichero es de tamao fijo.

Las siguientes estrategias son posibles:

1. Primer ajuste. Escoger el primer grupo contiguo no utilizado de bloques de tamao


suficiente desde una lista de bloques libres.
2. Siguiente ajuste. Escoger el grupo ms pequeo no utilizado que sea de suficiente
tamao.
3. Ajuste ms prximo. Escoger el grupo no utilizado de tamao suficiente que sea
ms cercano a la asignacin previa para el fichero de manera que se incremente la
proximidad.
No est claro qu estrategia es mejor. La dificultad de modelar estrategias alternativas
es el hecho de que muchos factores interaccionen, incluyendo tipos de ficheros,
patrones de acceso a ficheros, grado de multiprogramacin, otros factores de
rendimiento del sistema, caching de disco, planificacin de disco y otros.

Mtodos de Asignacin de Ficheros

Habiendo analizado los aspectos de pre asignacin frente a la asignacin dinmica y el


tamao de las porciones, estamos en posicin de considerar mtodos especficos de
asignacin de ficheros. Tres mtodos son de uso comn: contiguo, encadenado e
indexado.
La siguiente Tabla resume algunas de las caractersticas de cada mtodo.

Sistemas Operativos (Willian Stalling)

Asignacin Contigua

Se asigna un nico conjunto contiguo de bloques en tiempo de creacin de los


ficheros.
Tiene una estrategia de pre asignacin que utiliza porciones de tamao variable.
La tabla de asignacin de ficheros necesita slo una entrada para cada fichero,
mostrando el bloque inicial y la longitud del fichero.
La asignacin contigua es la mejor desde el punto de vista del fichero secuencial
individual. Mltiples bloques se pueden leer de una vez para mejorar el rendimiento
de E/S en procesamiento secuencial. Es tambin fcil obtener un nico bloque. Por
ejemplo, si un fichero comienza en el bloque b y se quiere acceder al bloque i-simo
del fichero, su ubicacin en almacenamiento secundario es simplemente b + i 1.
La asignacin contigua presenta algunos problemas.

Existir fragmentacin externa, haciendo difcil encontrar bloques contiguos de espacio


de suficiente longitud.
De vez en cuando, ser necesario llevar a cabo un algoritmo de compactacin para liberar
espacio adicional en el disco.
Con pre asignacin, es necesario declarar el tamao del fichero en el tiempo de creacin,
con los problemas mencionados anteriormente.

Asignacin Contigua

Asignacin Encadenada

La asignacin se realiza a nivel de bloques individuales. Cada bloque contiene un


puntero al siguiente bloque en la cadena.
La tabla de asignacin de ficheros necesita slo una entrada para cada fichero,
mostrando el bloque inicial y la longitud del fichero. Aunque la pre asignacin es
posible, es ms comn asignar bloques cuando se necesita.
La seleccin de bloques es ahora una cuestin sencilla: cualquier bloque libre se
puede aadir a una cadena. No hay fragmentacin externa de la que preocuparse
porque slo se necesita un bloque cada vez.
Este tipo de organizacin fsica se adapta mejor a ficheros secuenciales que se
procesan secuencialmente.
Seleccionar un bloque individual de un fichero requiere seguir la cadena hasta
alcanzar el bloque deseado.
Una consecuencia del encadenamiento, es que no existe principio de proximidad. Por
tanto, si es necesario traer varios bloques de fichero a la vez, como en el
procesamiento secuencial, se requiere una serie de accesos a diferentes partes del
disco. Para este problema, algunos sistemas consolidan ficheros peridicamente.

Asignacin Encadenada

Asignacin Indexada

En este caso, la tabla de asignacin de ficheros contiene un ndice separado de un


nivel por cada fichero; el ndice tiene una entrada por cada porcin asignada al
fichero.
Los ndices de fichero no se almacenan fsicamente como parte de la tabla de
asignacin de ficheros, este se guarda en un bloque separado y la entrada para
fichero en la tabla de asignacin de ficheros apunta a dicho bloque.
La asignacin puede realizarse mediante bloques de tamao fijo o porciones de
tamao variable.

La asignacin por bloques elimina la fragmentacin externa, mientras que la asignacin


por porciones de tamao variable mejora la proximidad.
En cualquier caso, la consolidacin de ficheros se puede realizar de vez en cuando.
La consolidacin de ficheros reduce el tamao del ndice en el caso de porciones de
tamao variable, pero no en el caso de asignacin de bloques.
La asignacin indexada da soporte tanto a acceso secuencial como directo a los ficheros y
por tanto es la forma ms popular de asignacin de ficheros.

Asignacin Indexada

Asignacin Indexada

1.5 Sectores Lgicos

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.

1.6 El Filesystem FAT

El Filesystem FAT

Las implementaciones ms extendidas de FAT tienen algunas desventajas:

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.

Es un formato sencillo, muy popular para disquetes, tarjetas de memorias, almacenamiento


USB y dispositivos similares.
El sistema de archivos FAT se compone de cuatro secciones:

Sector de arranque,
Regin FAT: que contiene la tabla de asignacin de archivos.
La regin del directorio raz.

La regin de datos: donde se almacena el contenido de ficheros y carpetas .

Actualmente el sistema FAT es reemplazado opcionalmente en Windows XP y superiores por el


sistema NTFS.

Ejemplo FAT

Entrada directorio
test.txt

...........

88

20

35

25

103

35

25

88

20

95

103

EOF

1.7 El filesystem LINUX

Como se guarda un archivo Linux

Tres componentes que Linux asocia con un archivo:


data

Los datos son el contenido del archivo

metadata

Informacin extra asociada al archive:


usuario propietario, grupo propietario,
y permisos de otros.

filename

Es almacenado en una estructure


llamada dentry, y corresponde al
nombre del archivo.

Detalles de Archivo

Linux maneja archivos del tipo: regulares, directorios, enlaces simblicos,


nodos de dispositivo y otros.

Los nombres de archivos estn en unas estructuras de datos llamadas entradas


de directorio (dentry).

El inodo contiene los atributos de los archivos, permisos e informacin de


temporizacin (fechas de accesos).

Dentro del kernel de Linux, los archivos estn generalmente identificados


por un nmero de inodo.

El comando mount asigna el directorio root de un sistema de archivos (o una


particin de un disco) a un directorio ya existente. Ese directorio se denomina
punto de montaje.
/
/usr
/home
/swap

Estructura general de un sistema de archivos Linux

Los sistemas de archivos normalmente:

Estn situados en dispositivos de almacenamiento por bloque.

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

Primer Nivel en la Estructura de un Sistema de Archivo

1.8 Representacin Interna de


Archivos Linux

Representacin Interna de Archivos Linux

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:

Se montan los sistemas de archivos locales y remotos

Se lee el super bloque de memoria

Cada vez que un proceso accede a un archivo es necesario consultar el


superbloque y lista de inodos. Ya que el acceso a disco es lento el kernel
normalmente:

Realizara la E/S con disco mediante el buffer cache y mantendr una copia del
superbloque y la tabla de inodos en memoria.

Utilizar un demonio para actualizar la informacin copia con la real el sistema

As mismo el proceso ShutDown se encargara de actualizar el superbloque y la


tabla de Inodos.

Representacin Interna de Archivos Linux

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.

La Estructura del Inodo

El nombre del archivo no queda especificado en su Inodo

Cada archivo de Unix tiene asociado un Inodo. El Inodo tiene informacin necesaria para que un
proceso pueda acceder al archivo:

Identificador del dispositivo: tipo

Identificador del Inodo: Numero nico que lo identifica.

Identificador del propietario : Individual y de grupo (root tiene todos los permisos)

Tipo de archivo: Regular, directorio, especiales, tuberas o pipes

Tipo de acceso al archivo: Permisos para UGO. Los permisos pueden ser : R W X

Tiempos de acceso al archivo.

Tamao del archivo

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

Representacin Interna de Archivos Linux

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.

Estructura de un Archivo Regular

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 :

Leer / escribir cualquier byte del archivo

Aadir bytes al final del archivo, con lo que aumentan de tamao

Truncar el tamao de un archivo a cero bytes. Esto es como borrar el contenido del archivo.

Las siguientes operaciones no estn permitidas en un archivo:

Insertar bytes en un archivo. Solo al final.

Borrar bytes de un archivo .

Truncar el tamao de un archivo a un valor distinto de cero.

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.

Los bloques de datos estn situados a partir de la lista de inodos

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

Aqu se debe analizar = > fragmentacin externa!!

Estructura de un Archivo Regular

Estructura de un Archivo Regular

Si se almacenaran 3 archivos A, B y C cada uno de 10 bloques de tamao, y luego el


archivo B crecer a 15 bloques, la situacin causara:

Perdida de tiempo en copiar los 10 bloques del archivo B a otra zona

Quedaran 10 bloques libres en medio de dos zonas ocupadas.

El kernel puede minimizar la fragmentacin del disco ejecutando peridicamente


procesos para compactarlo (pero habra cierta perdida de velocidad durante este
proceso.

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

Representacin Interna de Archivos Linux

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.

Asignacin de Inodos a Nuevos Archivos


(ialloc)

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.

Representacin Interna de Archivos Linux

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.

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.

Asignacin de Bloques de Disco

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.

El algoritmo FREE procede de manera inversa. Si la lista en el super bloque no esta


llena, entonces el numero de bloque liberado se carga en ella. Si esta llena, entonces el
bloque libreado es un nuevo bloque de la lista linkeada, es decir, se copia en el bloque
el array del sper bloque y se graba a disco. El array del super bloque queda en un
elemento apuntado al bloque recin grabado

Practica 1

1.

Explicar el algoritmo Hash mediante un algoritmo


funcional

2.

Explicar detalladamente el mejor mtodo para realizar


copias de seguridad de:
Una Pc
Muchas Pcs de una empresa.

3.

En cada caso tomar en cuenta los siguientes aspectos:

Mtodo (Software) para realizar las copias de seguridad.

Dispositivo de almacenamiento: marca, tamao, sistema


de archivos.