Você está na página 1de 22

1

Archivo
Definimos archivo como una coleccin de informacin relacionada entre s, identificado por un
nombre, definida por su creador que lo ve como una entidad y, generalmente, est grabada sobre
algn tipo de almacenamiento auxiliar; pero desde la perspectiva del usuario un archivo es la ms
pequea porcin de almacenamiento secundario !ormalmente los archivos contienen informacin
que representan programas "fuentes, ob#etos o e#ecutables$ y datos
%n archivo de datos puede ser num&rico, alfab&tico, alfanum&rico o binario 'u forma puede ser
libre "archivos de texto, imgenes, sonido, etc$ o con formato rgido en forma estricta (ambi&n
puede ser) %na secuencia de bits, *ytes, +neas, o ,egistros estructurados en una entidad que se
reconoce mediante un nombre
-l '. reali/a una abstraccin de las propiedades fsicas de los dispositivos de almacenamiento con
el fin de definir una unidad lgica de almacenamiento, el archivo
+os archivos son mapeados por el sistema operativo sobre los dispositivos fsicos estos dispositivos
de almacenamiento son no voltiles, de modo que los contenidos persisten aunque se produ/can
fallos de alimentacin o se reinicie el sistema
%n archivo es una coleccin de informacin relacionada con un nombre que se graba en
almacenamiento secundario 0omnmente los archivos representan programas y datos +os archivos
de datos pueden ser) num&ricos, alfab&ticos, alfanum&ricos, o binarios
2

%n archivo tiene una determinada estructura que depender de su tipo)
1rchivo de texto) secuencia de caracteres organi/ada en lneas
1rchivo fuente) secuencia de subrutinas y funciones, seguidas de instrucciones e#ecutables
1rchivo ob#eto) secuencia de bytes organi/ada en bloques que el programa montador del
sistema puede comprender
1rchivo e#ecutable) serie de secciones de cdigo que el cargador puede cargar en memoria
y e#ecutar

(ipos de archivos
Regulares: son los comunes, destinados a contener datos +os binarios y los de texto
Directorio: para locali/ar archivos, sera la carpeta -s un lugar donde estn guardados los archivos
Especiales) asociados a un controlador de dispositivo
Enlace simblico: lo que llamamos acceso directo -s un puntero a otro archivo

0oncepto de archivo
%n archivo es una estructura abstracta de datos que el sistema operativo vincula en el aspecto lgico
y en el fsico




















Usuario
ARCHIVO
Almacenamiento
y Recuperacin
de Informacin
(Datos + Programas)
FORMA
LOGICA
Referenciado por
su Nombre y sus pro-
piedades (extensin)
El S.O. hace una abstraccin de las
propiedades fsicas del Archivo a
fn de definir una UNIDAD LGICA del
mismo.
FORMA
FSICA
PROPIEDADES
Discos
Cintas
etc.
(fsicas)
(Caracteristicas)
(Organizacin)
El S.O. reconoce la Estructura
Visiones de un archivo
3

-structura de la informacin


Atributos de Archivo
1lgunos atributos tpicos de un archivo, los cuales pueden variar de un sistema a otro, son)
!.2*,-) -l nombre simblico es informacin con sentido para el usuario
3D-!(34301D.,) esta etiqueta univoca, que usualmente es un nmero, identifica el archivo dentro
del sistema de archivos; se trata de la versin no legible por las personas del nombre del archivo
(35.) 3nformacin necesaria para aquellos sistemas que soportan diferentes tipos de archivos
%*301036!) %n puntero al dispositivo y hacia la ubicacin del archivo dentro de dicho dispositivo
(1217.) -l tamao actual " en bytes, palabras o bloques$ y el mximo tamao posible
5,.(-0036!) 3nformacin de control de acceso que determina quien puede leer, modificar y
e#ecutar el archivo
(3-25., 4-081 e 3D-!(34301036! D-+ %'%1,3.) -sta informacin se guarda en los siguientes
momentos) creacin, ltima modificacin y ltimo uso; son datos de uso para proteccin, seguridad
y monitoreo del uso
(odos estos datos acerca del archivo son almacenados en la estructura el directorio de archivos del
soporte "almacenamiento auxiliar$


4

Operaciones con los archivos

%n archivo es un tipo abstracto de datos 5ara definir un archivo apropiadamente, debemos
considerar las operaciones que pueden reali/arse con los archivos -l '. puede proporcionar
llamadas al sistema para crear, escribir, leer, reposicionar, borrar y truncar archivos +as operaciones
con los archivos se implementan de la siguiente manera)
- Creacin de un archivo: en primer lugar, es necesario encontrar espacio para el archivo dentro
del sistema de archivos -n segundo lugar, es necesario incluir en el directorio una entrada para el
nuevo archivo
9 Escritura de un archivo: debemos reali/ar una llamada al sistema que especifique tanto el
nombre del archivo como la informacin que hay que escribir en el archivo Dado el nombre del
archivo, el sistema explora el directorio para hallar la ubicacin del archivo -l sistema debe mantener
un puntero de escritura que haga referencia a la ubicacin dentro del archivo en la que debe tener
lugar la siguiente escritura
9 Lectura de un archivo: utili/amos una llamada al sistema que especifique el nombre del archivo
y donde debe colocarse "dentro de memoria$ el siguiente bloque del archivo De nuevo, exploramos
el directorio para hallar la entrada asociada y el sistema debe mantener un puntero de lectura que
haga referencia a la ubicacin dentro del archivo en la que tiene que tener lugar la siguiente lectura
Dado que los procesos muchas veces estn o bien leyendo o escribiendo en el, se puede almacenar
la ubicacin correspondiente a la operacin actual en un puntero de posicin actual del archivo
que ser diferente para cada proceso -stas operaciones utili/an el mismo puntero, ahorrando
espacio y reduciendo la comple#idad del sistema
9 Reposicionamiento dentro de un archivo: tambi&n conocida como bsqueda en el archivo
'e explora el directorio para hallar la correspondiente entrada y se reposiciona el puntero de posicin
actual dentro de un archivo, asignndole un nuevo valor -l reposicionamiento dentro del archivo no
tiene por qu& implicar que se realice ninguna operacin de -:'
9 Borrado de un archivo: exploramos el directorio en busca del archivo indicado 8abiendo hallado
la entrada de directorio asociada, liberamos todo el espacio del archivo, de modo que pueda ser
reutili/ado por otros archivos; y borramos tambi&n la propia entrada del directorio
9 Truncado de un archivo: -l usuario puede querer borrar el contenido de un archivo, pero
manteniendo sus atributos -n lugar de borrar y volverlo a crear, esta funcin permite que los
atributos no se vean modificados, excepto la longitud
U
S
E
R
S
ARCHIVO
O
P
E
R
A
C
I
O
N
E
S
S.O.
Read()
Write()
Delete()
Open()
Close()
Copy()
etc.
FUNCIONES:
GESTIN DEL ALMACENAMIENTO
MTODO DE ACCESO
GESTIN DE ARCHIVOS
PROTECCIN E INTEGRIDAD
5

Open!: levanta el header "encabe/ado$ del archivo y me lo pone en memoria 0ada usuario que
usa un archivo debe tener su propio see"! 0uando hago open"$ a un archivo, se agrega al #ile
descriptor, quien contiene todos los archivos abiertos +os directorios no se pueden borrar ni crear
los directorio ra/ 0ualquier otro directorio si
0asi todas las operaciones de los archivos implican reali/ar una bsqueda en el directorio para
encontrar la entrada asociada con el archivo especificado 2uchos sistemas requieren que se realice
una llamada al sistema open! antes de utili/ar por primera ve/ activamente un determinado
archivo -l sistema operativo mantiene una pequea tabla, tabla de archivos abiertos, que
contiene informacin acerca de todos los archivos abiertos 0uando se solicita que se realice una
operacin con un archivo, el archivo se especifica mediante un ndice a esta tabla, con lo que no
hace falta reali/ar ninguna exploracin del directorio +a operacin open"$ toma un nombre de
archivo y explora el directorio, copiando la entrada de directorio correspondiente en la tabla de
archivos abiertos !ormalmente, devuelve un puntero que hace referencia a la entrada
correspondiente dentro de la tabla de archivos abiertos
0on cada archivo abierto se asocian diferentes tipos de datos)
9 puntero de archivo: en aquellos sistemas que no incluyen un despla/amiento de
archivo como parte de las llamadas a sistema read! y $rite!, el sistema deber
registrar la ubicacin correspondiente a la ltima lectura9escritura, utili/ando este
puntero ;ste es distinto para cada proceso que este operando con el archivo, y deber
por tanto almacenarse de forma separada de los atributos del archivo almacenados
9 Contador de aperturas del archivo: controla el nmero de aperturas y cierres y
alcan/ara el valor cero cuando el ltimo proceso cierre el archivo -ntonces, el sistema
podr eliminar la correspondiente entrada
9 %bicacin del archivo dentro del disco: la mayora de las operaciones de archivo
requieren que el sistema modifique datos dentro del archivo +a informacin necesaria
para ubicar el archivo en el disco se almacena en la memoria, para que el sistema no
tenga que leer de nuevo esa informacin desde le disco en cada operacin
9 Derechos de acceso: cada proceso abre un determinado archivo en un cierto modo de
acceso -sta informacin se almacena en la tabla correspondiente a cada proceso, para
que el sistema operativo pueda autori/ar o denegar las siguientes solicitudes de -:'

&'todos de acceso a los archivos
-n el proceso de seleccin de la organi/acin de los archivos, son importante los siguientes
criterios)
9 tiempo de acceso corto
9 facilidad de actuali/acin
9 economa de almacenamiento
9 mantenimiento sencillo
9 confiabilidad
-stos criterios pueden entrar en conflicto 5or e#emplo, la economa de almacenamiento, que debera
haber la mnima redundancia de datos 5or otro lado, la redundancia significa incremento en el
acceso a los datos
0uando hace falta utili/ar la informacin de los archivos, es necesario acceder a esta informacin y
leerla en la memoria de la computadora 5uede accederse de varias formas distintas +os m&todos
de acceso a los archivos se basan en un con#unto de rutinas y tablas que posibilitan acceder a la
informacin segn un esquema lgico determinado y se ocupa de la interface del programa del
usuario con el mdulo de -ntrada:'alida en cuanto al buffering, el bloc<ing y la independencia de
los dispositivos
6




Acceso secuencial
+a informacin del archivo se proceso ordenadamente y de a un registro por ve/ %na operacin de
lectura lee una porcin del archivo y automticamente avan/a el puntero del archivo +o mismo
sucede en la escritura "se avan/a al nuevo fin de archivo$ -n algunos sistemas un programa puede
ser capa/ de saltar hacia adelante o hacia atrs una cantidad n de registros
-s el m&todo de acceso ms simple +a informacin del archivo se procesa por orden, un registro
despu&s de otro -ste modo de acceso es como mucho el ms comn por e#emplo los editores y
compiladores suelen acceder a estos archivos de esa forma
+as lecturas y escrituras constituyen el grueso de las operaciones reali/adas con un archivo
%na operacin de lectura lee la siguiente porcin del archivo e incrementa automticamente un
puntero de archivo que controla la ubicacin de entrada salida De forma similar, la operacin de
escritura aade informacin al final del archivo y hace que el puntero avance hasta el final de los
datos reci&n escritos
Acceso directo
-l archivo est formado por registros lgicos de tamao fi#o para permitir que los programas lean y
escriban rpidamente y sin un orden en particular
0uando se reali/a una consulta, se computa el bloque que contiene la respuesta y se lee
directamente el mismo +as operaciones de archivos deben modificarse para incluir como parmetro
el nmero de bloque -s de gran utilidad para el mane#o inmediato de grandes cantidades de
informacin !o todos los 'istemas .perativos soportan m&todos de acceso secuencial y directo
%n archivo est compuesto de registros lgicos de longitud fi#a que permiten a los programas leer y
escribir registros rpidamente, sin ningn orden concreto 5ara el acceso directo, el archivo se
considera como una secuencia numerada de bloques o registros 5or lo tanto, podemos leer el
bloque => luego el ?@ y luego escribir el bloque A !o existe ninguna restriccin en cuanto al orden
de lectura o escritura en los archivos de acceso directo
Archivos inde(ados
'obre el m&todo de acceso directo se pueden construir otros m&todos, generalmente incluyendo un
ndice al archivo
-l ndice contiene punteros a los distintos bloques; para encontrar una entrada al archivo, primero
se busca en el ndice y luego se usa el puntero para acceder directamente al archivo y encontrar la
informacin deseada 5ara archivos muy grandes, el ndice se vuelve demasiado grande como para
mantenerlo, en cuyo caso la solucin es crear un ndice para el archivo ndice
-stos m&todos implican generalmente la construccin de un )ndice para el archivo -l ndice
contiene punteros a los distintos bloques, para encontrar un registro dentro del archivo primero
Programa
del
Usuario
Registros
READ
WRITE
Independencia
de los Dispositivos
Buffering
Blocking
Sistema de E/S
Dispositivo tipo A
FILTRO
Mtodo de Acceso
(Ej. Word)
(Archivo xx.doc)
7

exploramos el ndice y luego usamos el puntero para acceder al archivo directamente y hallar el
registro deseado
0on los archivos de gran tamao, el propio archivo del ndice puede ser demasiado grande como
para almacenarlo en la memoria %na solucin consiste en crear un ndice del archivo ndice -l
archivo de ndice principal contendra punteros a los archivos de ndice secundarios que a su ve/
apuntara a los propios elementos de datos
+o que hace es ordenar los distintos bloques por algn criterio, e#emplo una tabla de nombres y
nmeros de tel&fonos, ordeno por nombre B luego tiene un puntero al bloque en el archivo original


8

D*RECTOR*O
+os sistemas de directorio proveen un mecanismo para la organi/acin de muchos archivos y puede
exceder los limites de una unidad de disco e incluir a varias 1s al usuario solo le interesa la
estructura de archivos y de directorios lgicos, pudi&ndose desentender del espacio de archivos
por unidad
-s una tabla de smbolos en los que se asocia un nombre simblico con un archivo (ambi&n es un
archivo que es gestionado completamente por el '. 5ermite establecer una #erarqua de archivos
+a organi/acin que se usa es secuencial pura y puede estar fragmentado 'i el nmero de archivos
que gestiona es muy elevado se puede optar por una funcin 8ash

D3,-0(.,3. D- D3'5.'3(3C.
+a informacin especfica de cada archivo es guardada en una lista de smbolos llamada directorio
que vara de sistema en sistema -n general podemos resumir en una tabla en el disco llamada +ile
Director, *loc< que contiene)
3nformacin de encabe/amiento, !ombre del directorio, puntero a la lista del Directorio "2aster 4ile
Directory$ y los 'ubdirectorios "%ser 4ile Directory$ que contiene
0ada Directorio del %suario tiene la siguiente informacin por cada entrada

Informacin bsica por cada entrada (entry) en la tabla de smbolos:
Nombre de archivo: nombre simblico (generado por el creador. nico en el Directorio)
Tipo o extensin de archivo: (Para aquellos sistemas que soportan distintos tipos).
Organizacin (para aquellos File System que soportan distintas organizaciones)
Informacin de direccin:
Volumen: para el Dispositivo que contiene el archivo.
Ubicacion: Un puntero al dispositivo y ubicacin del comienzo en ese
dispositivo del archivo- BOF Begin Of File- (Cilindro, superficie o cabeza y sector).
Puntero de la ultima posicin del Archivo (End Of File pointer)
Posicin actual: Un puntero a la posicin actual de lectura o grabacin (Current File Pointer)
Tamao: El tamao actual del archivo (en bytes, palabras o bloques) y el mximo
permitido.

Informacin de Control de Acceso:
Dueo: puede fijar los privilegios de accesos (permisos).
Proteccin: Informacin de control de acceso para lectura, escritura, ejecucin, etc.
por cada usuario autorizado.
Contador de uso: Indica el nmero de procesos que estan usando (es decir que han abierto
el archivo).
Informacin de uso:
Hora, dia e identificacion de proceso: Esta informacion puede ser de 1) creacin,
2) ltima modificacin, 3) ltimo uso o acceso o 4) ltimo Back-up.
Esto puede ser til para proteccin y monitoreo de uso.
etc.
Pointers.

9

.peraciones sobre directorios
9 Crear un directorio: 'e crea un directorio vaco
9 Buscar -EARC.! un archivo en un directorio 'i se necesita buscar la entrada de un archivo
particular, se debe explorar la estructura de directorios para encontrarla 'e requiere estar
habilitado "disponer permisos$ para recorrer la estructura del directorio
9 -liminar o sea Borrar DELETE! un directorio) 0uando un directorio de#a de ser necesario "no se
necesita ms$ se lo puede eliminar 5ara eliminar un directorio este debe estar vaco, "generalmente
no se pueden eliminar si no est vaco en algunos '.$
- Crear CREATE! un directorio) %n directorio nuevo se necesita crearse y agregarse al con#unto
de directorios
9 ,enombrar un directorio RE/A&E!: 0omo el nombre del directorio es para el usuario
representativo del contenido, debe ser modificable cuando el contenido cambia o simplemente desea
cambiar de nombre
- Recorrer el sistema de archivos) -s de gran utilidad poder acceder a todos los directorios y a
todos los archivos de la estructura del directorio
9 +istar el directorio "L*-T D*RECTOR0$) -sta accin se hace para saber que archivos hay en el
directorio y que extensiones posee cada uno, o que atributos dispone
9 0opias de seguridad "BAC1%2$) 5or ra/ones de seguridad es aconse#able guardar peridicamente
los contenidos y estructura del 'istema de Destin de 1rchivos

-structura
%n directorio es una coleccin de nodos que contiene la direccin de los archivos -l directorio puede
considerarse como una tabla de smbolos que traduce los nombres de archivo a sus correspondientes
entradas de directorio -l directorio puede organi/arse de muchas formas, &ste debe poder insertar
entradas, borrar entradas, buscar una entrada conociendo su nombre y enumerar todas las entradas
del directorio
Directorio del dispositivo: se almacena en cada dispositivo fsico y la entrada del mismo guarda
los nombres de todos los archivos que contiene
Directorio de archivos: organi/acin lgica de los archivos de todos los dispositivos y concentra
informacin de propiedades lgicas
Distintos tipos de estructura) de un nivel, dos niveles, rbol

Directorio de un solo nivel
(odos los archivos estn contenidos en el mismo directorio -sta estructura tiene muchas
limitaciones, por e#emplo, cuando aumenta el nmero de archivos o cuando existe ms de un
usuario 0omo todos los archivos pertenecen al mismo directorio deben tener nombres nicos "no
repetidos$ -s la estructura ms simple %n e#emplo de esta estructura es el directorio del dispositivo
(odos los archivos estn en el mismo directorio
Nombrel
Tipo
Direcci
n
Longitud
Protecci
n
DIRECTORIO
TATO
TITO TOTO PATO PACO PECO ARCHIVOS
o RAIZ

10


Centa#as)
= 4cil implementacin
E 4cil de usar por el usuario

Desventa#as)
= 0uando crece el nmero de archivos o el nmero de usuarios la regla de unicidad de nombres
simblicos es cada ve/ mas difcil de cumplir, y la bsqueda dentro del directorio se torna ms
lenta
E !o permite agrupar archivos con caractersticas comunes 5or e#emplo, sera deseable
separar los archivos de datos de los archivos del sistema
@ +a mayor desventa#a de esta estructura es la confusin de los nombres de archivo entre
diferentes usuarios +a solucin estndar es crear directorios separados para cada usuario
-specialmente en grandes sistemas, este directorio de usuarios es una organi/acin lgica antes
que fsica, ya que todos los archivos siguen estando fsicamente en el mismo dispositivo

Directorio en dos niveles
0ada usuario tiene su propio directorio de archivos de usuario "%+D3 user #ile director,$ 0uando
un traba#o de un usuario se inicia o se conecta al sistema, se explora el directorio maestro de
archivos "&+D3 master #ile director,$ del sistema ;ste esta indexado por el nombre de usuario
o nro de cuenta y cada una de sus entradas apunta al %4D de dicho usuario

0uando un usuario hace referencia a un archivo concreto, solo se explora su propio %4D, por lo que
cada uno de los usuarios pueden tener archivos con el mismo nombre 5ara crear un archivo para
un usuario, el '. solo explora el %4D de ese usuario para comprobar si ya existe 5ara borrar un
archivo, el '. confina su bsqueda al %4D local y no puede, por tanto, borrar accidentalmente un
archivo de otro usuario que tenga el mismo nombre

Centa#as
= ,esuelve el problema de la colisin de nombres
E 1sla efectivamente a los usuarios
Desventa#as
= -l aislamiento de los usuarios puede ser desventa#oso cuando los usuarios quieren cooperar
en na cierta tarea y poder acceder a los archivos del otro
ARCHIVOS
MAESTRO o RAIZ
Directorio
de Usuarios
DIRECTORIO
USUARIOA
TEST ARCH2 ARCH3 A PP
(MFD)
(UFD)
Directorio con estructura Multinivel o rbol
Subdirectorio
USUARIOB USUARIOC
PEPE
mail
11

Directorios en #orma de 4rbol
%n directorio multinivel puede ser representado por un rbol cuya altura ser el nmero de niveles
+a ra/ es el 2aster 4ile Directory, las ramas son los %ser 4ile Directory y las ho#as del rbol son los
archivos en s
+a especificacin de un nombre de usuario y un nombre de archivo define un camino en el rbol
desde la ra/ "24D$ hasta una ho#a "el archivo especificado$, as se define un path name "nombre
de camino$
0ada archivo en el sistema tiene un path name nico que lo identifica 0ada sistema tiene su propia
sintaxis para nominar archivos que estn en otro directorio que no sea el propio del usuario
0uando el usuario hace referencia a un archivo en particular, solo se busca en su %4D 1s distintos
usuarios pueden tener archivos con igual nombre, en tanto en su directorio ese nombre sea nico
-ste m&todo efectivamente asla cada usuario de otro
+a secuencia de bsqueda de directorios cuando se nomina un archivo se conoce como camino de
bsqueda search path!

Centa#as)
= 5ermite que varios usuarios traba#en con sus propios archivos sin interferir con los dems
De esta forma diferentes usuarios pueden tener archivos con el mismo nombre
E 5ara crear o borrar archivos, el sistema operativo limita la bsqueda al %4D, de esta forma
no se puede borrar accidentalmente un archivo de otro usuario
Desventa#as)
= 1s como no de#a que dos usuarios se interfieran, tampoco los de#a traba#ar en forma
con#unta
E 5ermite agrupar archivos %n usuario puede querer agrupar sus archivos, y no tenerlos todos
#untos en una sola lista

Directorios en un gra#o ac)clico
%na estructura de rbol inhibe el uso de directorios o archivos compartidos, lo que si facilita una
estructura de directorio de grafos acclicos "acyclic graph$ -ste m&todo basado en un grafo acclico
"es decir, un grafo sin ciclos$ es una generali/acin natural de las estructuras de rbol
12

%na estructura en rbol prohbe la comparticin de archivos o directorios 5or el contrario, un grafo
acclico, permite que los directorios compartan subdirectorios de archivos -l mismo archivo o
subdirectorio puede estar en dos directorios diferentes 0on un archivo compartido solo existe un
archivo real, por lo que cualquier cambio reali/ado por una persona ser inmediatamente visible
para la otra +a comparticin es particularmente importante para los subdirectorios; cada nuevo
archivo creado por una persona aparecer automticamente en todos los subdirectorios
compartidos -l %4D de cada miembro del grupo contendr como subdirectorio un directorio de
archivos compartidos
+a creacin de archivos y subdirectorios compartidos puede implementarse de varias maneras
%na forma muy comn es crear una nueva entrada a un directorio que se la conoce como lin"5 %n
lin< es un puntero a otro archivo a subdirectorio

CF!0%+.' '32*6+30.' "'B2*.+30 +3!G$
'e crea una entrada nueva en el directorio llamada vnculo "lin<$
%n vnculo es un puntero a otro archivo o subdirectorio 5or e#emplo, un vnculo podra ser
implementado por un nombre de camino completo "un vnculo simblico$
-l vnculo es resuelto usando el path name para ubicar el archivo real

Centa#as)
= +a estructura de grficos acclicos es mucho ms flexible que la estructura de rbol
E 5ermite compartir archivos y:o subdirectorios
Desventa#as)
= -l sistema operativo debe asegurarse que no existan ciclos en los vnculos
E -s comple#a la implementacin
@ Distintos nombres de archivo pueden referirse al mismo archivo,
> con lo cul cualquier actividad contable, bac<up, bsqueda de archivos, etc se complica ya
que hay que vigilar de no contabili/ar dos veces el mismo archivo
? 0uando se borra un archivo compartido, la actuali/acin de los vnculos es comple#a -l
borrado de un vnculo no afecta el archivo original; slo se borra el vnculo
H 'i se borra el archivo, los vnculos deben ser levantados

Directorio en #orma de gra#o general
-s el ms difcil de mane#ar Ba que puedo entrar a un ciclo y no salir ms 0uando aadimos enlaces
a un directorio existente con estructura de arbol, la estructura en arbol se destruye 'e permite la
aparicin de ciclos, enla/ando subdirectorios de nivel superior Dando como resultado una estructura
en grafo simple
+a existencia de bucles complica la generacin de estadsticas y los mecanismos de copia de
seguridad
5roblemas con el borrado) pueden existir subdirectorios con el contador de referencias a un valor
distinto de cero, y que sin embargo no son alcan/ables desde el directorio ra/
3nformacin inaccesible 'e necesita un recolector de basura
5ocas venta#as con respecto al grafo acclico) la estructura de grafo general apenas se utili/a
13



2roteccin de Archivos
5roteccin contra daos fsicos "confiabilidad$, que se logra generalmente haciendo copias
duplicadas de los archivos 1ccesos inapropiados o no permitidos "proteccin$ +os mecanismos de
proteccin proveen acceso controlado limitando los tipos de acceso que pueden reali/arse a archivos
'e otorgan IpermisosJ a los usuarios +as operaciones que pueden controlarse son) lectura 9
escritura 9 e#ecucin 9 agregar 9 borrar 9 etc
!ombre) %n mecanismo muy simple de proteccin es ocultar el nombre, ya que si un usuario no
puede nominar el archivo, no puede operar sobre el mismo -ste esquema asume que no existe un
mecanismo para la obtencin de los nombres de los archivos de los otros usuarios y que no pueden
ser fcilmente adivinados
0ontraseas) 1 cada archivo se le asocia un passKord -sta proteccin es del tipo Itodos o ningunoJ,
es decir, hay una sola palabra clave que da acceso completo a u archivo 5ara proteger a un nivel
ms detallado se necesitan mltiples claves
0ontrol de acceso) -l acceso se hace dependiendo de la identidad del usuario %na lista de accesos
puede estar asociada con cada archivo y directorio especificando el nombre del usuario y los tipos
de accesos permitidos "permisos$
-l mayor problema con las listas de acceso es la longitud que pueden alcan/ar las mismas 5ara
condensar la longitud de la lista de accesos, muchos sistemas reconocen tres clasificaciones de
usuarios) propietario, grupo y cualquier otro
Tipos de Acceso
+a necesidad de proteger los archivos es consecuencia de la posibilidad de acceder a estos, ya que
los sistemas que no permiten el acceso de otros usuarios no necesitan ninguna proteccin 'e
necesita un acceso controlado que no sea extremo para poder utili/ar los sistemas de forma
general
+os diferentes usuarios pueden necesitar diferentes tipos de acceso a un archivo o directorio 5ara
implementar un acceso dependiendo de la identidad consiste en asociar con cada archivo ,
directorio una lista de control de acceso ACL que especifique los nombres de usuario y los
tipos de acceso que se permiten para cada uno .tra t&cnica para resolver el problema de la
proteccin consiste en asociar una contrase6a con cada archivo
14

-ervidores de archivo
+os sistemas distribuidos con frecuencia tienen mquinas que ofrecen servicio de archivos a otras
mquinas -stos se llaman servidores de archivos
+os servidores de archivos pueden presentar una interfase a sus usuarios "clientes$ en alguno de
tres niveles -l ms simple es el disco remoto -n &ste modelo, a cada usuario se le asigna un disco
virtual, el cual es simplemente una parte privada del disco del servidor del archivo 5or lo tanto, el
usuario puede emplear el disco virtual en la misma forma que utili/ara un disco local -n efecto, la
red se utili/a para simular un controlador de disco (odo el cdigo del sistema de archivo se e#ecuta
en las mquinas de los usuarios, igual que se hace con los discos locales
-l siguiente paso, de mayor comple#idad, consiste en hacer que el servidor del archivo soporte
archivos pero no directorios -xisten comandos para crear y suprimir archivos, leer, escribir y
locali/ar archivos, y para reali/ar otras operaciones especficas de los archivos 0uando un usuario
crea un archivo, el servidor del archivo suele retornar un identificador que se puede utili/ar en
operaciones subsiguientes con el archivo -l identificador podra, por e#emplo, ser un nmero largo
elegido al a/ar para dificultar a usuarios no autori/ados saber cul es &ste -s tarea del usuario
conservar directorios que delineen nombres 1'033 en los identificadores del servidor del archivo









15

-*-TE&A- DE 7E-T*O/ DE ARC.*8O-
%n sistema de gestin de archivos es aquel sistema softKare que proporciona a los usuarios y
aplicaciones unos servicios relativos al empleo de archivos !ormalmente, la nica forma en que un
usuario o aplicacin pueden acceder a los archivos es mediante el sistema de gestin de archivos
-sto acaba con la necesidad, para el usuario o programador, de desarrollar softKare de propsito
especfico para cada aplicacin y proporciona al sistema un medio de controlar su venta#a ms
importante
5ara hacer un uso conveniente del espacio de almacenamiento, el sistema operativo hace una
abstraccin de las caractersticas fsicas de los dispositivos de almacenamiento para definir una
unidad lgica de almacenamiento llamada archivo "file$
-l mdulo del 'istema .perativo encargado de la tarea de administrar el espacio de almacenamiento
en un dispositivo y las estructuras abstractas de datos, lo denominamos 'istema de Destin de
1rchivos o 4ile 'ystem "4'$ o simplemente sistema de archivo

+os mdulos del 'istema de Destin de 1rchivos se construyen a partir del planteo de las distintas
soluciones a los conflictos que se presentan cuando se desea administrar la memoria secundaria
-stos son)
Determinacin de espacio libre, ocupado y defectuoso
Determinacin del espacio ocupado por un archivo
Determinacin de la direccin en el soporte de un archivo
.rgani/acin del directorio y de los archivos
+os m&todos de acceso
5roteccin

.b#etivos y funciones
o 5ermitir la creacin, modificacin y borrado de archivos, sea por programas, usuarios o el
propio 'istema .perativo
o 5ermitir el acceso por los usuarios a los archivos, el uso cuidadosamente controlado de los
mismos y evitar el acceso no autori/ado por parte de terceros -stos controles involucran los
accesos a lecturas "privacidad$, a escritura y e#ecucin, o combinaciones "de algunos o de
los tres$
o ,eali/ar en forma automtica la gestin de la memoria secundaria
o 5ermitir hacer referencias a un archivo mediante un nombre simblico
o 5roteger a los archivos frente a fallas del sistema o contra accesos no autori/ados o contra
movimientos de datos
o 2antener el almacenamiento en lnea
o 'uministrar los medios de organi/acin y accesos a los datos en forma conveniente para los
usuarios o las aplicaciones que los requieran
o 2over los datos entre el archivo y 2emoria 0entral en colaboracin del administrador de
-ntrada:'alida
16


Ar9uitectura de los sistemas de archivos



-n el nivel mas ba#o, los mane:adores de dispositivos se comunican directamente co los
dispositivos perif&ricos o sus controladores o canales 0ada mane#ador de dispositivo es responsable
de comen/ar las operaciones de -:' en un dispositivo y procesar la terminacin de una peticin de
-:' en operaciones con archivos, los dispositivos tpicos controlados son discos y unidades de cinta
+os mane#adores de dispositivos son considerados generalmente como parte del '.
-l siguiente nivel es el sistema de archivos b4sicos o nivel de -:' fsica, que constituye la interfa/
primaria con el entorno exterior al computador -ste nivel trata con bloques de datos que son
intercambiados con sistemas de disco o cinta De este modo, se preocupa de ubicar dichos bloques
en el dispositivo de almacenamiento secundario y del almacenamiento intermedio de los mismos en
memoria principal -ste nivel no comprender el contenido de los datos o la estructura de los
archivos implicados -l sistema de archivos bsico se considera a menudo parte del sistema
operativo
-l supervisor b4sico de E;- es el responsable de la iniciacin y terminacin de toda la -:' con
archivos -n este nivel se mantienen unas estructuras de control que se encargan de la -:' con los
dispositivos, la planificacin y el estado de los archivos -l supervisor bsico se ocupa de la seleccin
del dispositivo donde va a reali/arse la -:' con los archivos dependiendo del archivo seleccionado
(ambi&n se ocupa de la planificacin de los accesos a diso y cinta para optimi/ar el rendimiento 1
este nivel se asignan los buffers de -:' y se reserva la memoria secundaria -l supervisor bsico de
-:' es parte del sistema operativo
+a E;- lgica es la parte del sistema de archivos que permite a usuarios y aplicaciones acceder a
los registros 1si mientras el sistema de archivos bsico traba#a con blouqes de datos, el modulo de
-:' lgica lo hace con los registros +a -:' lgica ofrece una capacidad de -:' de registros de
propsito general y mantiene unos datos basicos sobre los archivos
4inalmente, el nivel del sistema de archivo mas cercano al usuario es el m'todo de acceso 0ada
m&todo proporciona una interfa/ estndar entre las aplicaciones y los sistemas de archivos y
dispositivos que guarden datos +os diferentes m&todos de acceso refle#an las distintas estructuras
de archivos y las formas diferentes de acceder y procesar los datos
17


+unciones de la gestin de archivos

-l 'istema de Destin de 1rchivos debe ocultar a los usuarios la comple#idad de la manipulacin de
la estructura abstracta de datos, y su almacenamiento, y proporcionarle una visin simplificada y
uniforme de un nombre desde el punto de vista lgico 5ara cumplir con estas consideraciones
necesita)
9(raducir un pedido de acceso desde el espacio lgico de direcciones del archivo a un espacio fsico
en el soporte
9(ransferir los datos entre el 1rchivo y la 2emoria 0entral o viceversa
9+levar la gestin del espacio de almacenamiento en forma automtica y transparente
9*rindar un soporte para proteger, compartir y recuperar los datos de un archivo y tambi&n facilitar
la restauracin del archivo ante operaciones equivocadas o fallas del 'istema -l soporte de
informacin puede ser desde una memoria basada en semiconductores, cintas magn&ticas, discos
magn&ticos, pticos o magneto9pticos -l soporte puede contener uno o ms archivos o el archivo,
si es muy voluminoso, necesitar mas de un soporte "multi9volumenes$
92ontar el 'oporte) 'e dice que el soporte est montado "mount$ cuando est en lnea "controlado
por el procesamiento$


-l sistema de Destin de
1rchivos se integra con otros
1dministradores en las
distintas capas o niveles que
presentamos al '. +a
integracin se reali/a entre el
Gernel, el 1dministrador de
2emoria 0entral y el Destor
del 'istema de -ntrada :
'alida

18

Administracin del espacio libre de almacenamiento espacio libre!
-s necesario poder re9usar el espacio liberado cuando se borra un archivo en disco !ormalmente
el '. tiene una lista de espacios libres ya sea en la 41( o en algn otro lugar del soporte, en la
que se guardan todos los bloques libres 1l crear y al grabar un archivo, se reali/a una bsqueda
en &sta tabla y se asignan los bloques, los que son removidos de la lista 1l borrarse un archivo los
bloques se agregan a la lista
5uede ser, que la lista de espacios no se implemente como una lista sino por algn otro m&todo
como veremos a continuacin, pero gen&ricamente la llamaremos lista
'e produce fragmentacin externa, entre archivos e interna, dentro de los bloques




Bit map o bit vector mapa de bits!
4recuentemente se implementa como un vector o mapa de bits en la 41(
0ada bloque del disco se representa con un bit 'i el bloque est libre se le asigna al bit un ILJ,
caso contrario el bit vale un I=J que indica que est ocupado
Centa#as)
= 'encilla implementacin
E ,elativamente poco espacio ocupado por la tabla de bits
@ Dran velocidad de bsqueda
Desventa#as)
= !o posee grandes desventa#as






Bloque
0
1
10
2
3
1
12
13
14 15 16 17
18
19
20
21
23
24
25
26 27 28 29
30 31
32
33
45
46
47
48 49 50 51
52 53
54
55
78
79
80
81 82 83 84
85
86
87
88
89
90
91
92 93 94 95
96 97
98
99
4 5 6 7
8
9
34
35
36
37 38 39 40
41
42
43
44
56
57
58
59 60 61 62
63
64
65
66
67
68
69
70 71 72 73
74 75
76
77
Tablas del Soporte
100
10
102
103 104 105 .....
Boot-Area
Partition Table
Free Space List
File Allocation Table
File Directory Block
19


&'todos de asignacin: como se asignan los blo9ues de archivo en el disco
-l acceso directo inherente a la naturale/a de los discos nos proporciona una gran flexibilidad a la
hora de implementar los archivos -n casi todos los casos, habr multiples archivos almacenados en
el mismo disco -l principal problema es cmo asignar el espacio a esos archivos de modo que el
espacio de disco se utilice efica/mente y que se pueda acceder a los archivos de forma rpida

CREAR_ARCH()
PEDIDO DE
ESPACIO
Hay
suficiente
espacio
disponible?

Espacio
contiguo?
SI
ASIGNACIN
CONTIGUA
ASIGNACIN
ENLAZADA O
INDEXADA
SI
ERROR
NO

Asignacin contigua
-ste m&todo, tambi&n llamado poltica de preasignacin "preallocation policy$, requiere que cada
archivo ocupe un con#unto de direcciones contiguas o consecutivas en disco cuyo espacio debe
ser declarado en la creacin del archivo
+as direcciones en disco definen un ordenamiento lineal en el mismo +a posicin del archivo en el
disco queda definida por la direccin del primer bloque y su longitud 'i el archivo tiene n bloques
de longitud y comien/a en el bloque b, entonces ocupa los bloques b, bM=, bME, , bMn9=
+a entrada en el directorio para cada archivo indica la direccin de comien/o del primer bloque y la
cantidad de bloques ocupados "la longitud del rea asignada al archivo$ 0on este ordenamiento, el
acceso al bloque bM= luego del b normalmente no requiere movimiento de cabe/a y a lo sumo solo
una pista lo que incrementa la performance en las operaciones sobre el archivo orientadas a las
transacciones 5ara asignacin contigua es posible tanto el acceso secuencial como el directo
-l acceso a un archivo organi/ado con este m&todo es muy fcil 5ara un acceso secuencial, el
sistema de archivo recuerda la direccin en disco del primer bloque y cuando es necesario, lee la
del prximo bloque 5ara un acceso directo al bloque i de un archivo que comien/a en el bloque b,
se accede inmediatamente al bloque bMi
+a dificultad se presenta para encontrar espacio para un nuevo archivo %na ve/ implementada la
tabla de bloques libres, se puede decidir como encontrar espacio para un archivo contiguo 'i el
archivo a crear tiene n bloques, debemos buscar en la tabla por un espacio libre de n bloques
contiguos -n el caso del mapa de bits, debemos encontrar n bits en L alineados; para el caso de
una lista de direcciones y longitud, una longitud al menos igual a n









20

Centa#as)
= -s muy fcil acceder a los archivos, slo hay que leer la /ona de catlogo una ve/ para saber
dnde comien/a y dnde termina
E -s ideal para accesos secuenciales ya que la cabe/a no tiene que via#ar mucho
Desventa#as)
= 1 medida que el disco se llena, se torna difcil encontrar espacio para un nuevo archivo
E 'i el archivo a ser creado tiene n bloques de longitud debemos buscar en la free space list de la
41( los n bloques consecutivos
@ 0uando un archivo se crea, generalmente no se sabe cuntos bloques va a ocupar
> 'i un archivo tiene que crecer y no tiene ms espacio consecutivo al final, hay que moverlo a una
nueva locali/acin
? 8ay #ragmentacin e(terna -s decir, puede suceder que aun habiendo espacio suficiente para
un archivo, este espacio no sea contiguo, por lo tanto habr que recurrir a un algoritmo de
compactacin que involucra un overhead bastante apreciable de tiempo "0onsidere el costo de este
procesamiento$
5ara aliviar un poco los problemas que crea este tipo de asignacin de espacio se utili/an los
algoritmos de asignacin 2emoria 0entral "4irst 4it, *est 4it, Norst 4it$

Asignacin din4mica de acceso contiguo
-l espacio de almacenamiento en disco puede verse como un gran arreglo de bloques de disco -n
algn momento estos bloques son asignados a archivos y en otros estn libres 5or ende, el espacio
en disco puede considerarse como una coleccin de segmentos libres y usados, siendo cada
segmento un con#unto contiguo de bloques%n segmento libre se lo conoce como un hueco
+a asignacin dinmica de almacenamiento es solucionar el problema de como satisfacer un pedido
de tamao n de una lista de huecos libres -xisten muchas soluciones -l con#unto de huecos es
examinado para determinar cual es el me#or a asignar +as estrategias mas comunes son las de
4irst9fit, best9fit y Korst9fit
-stos algoritmos sufren de #ragmentacin e(terna, es decir cuando la suma de todos los huecos
es suficiente en tamao para guardar un archivo, pero ese espacio no es contiguo
0.2510(1036! . D-4,1D2-!(1036!) -ste esquema compacta todos los huecos en uno solo
-l costo de este proceso es el tiempo necesario para efectuarlo
5,.*+-21' D- +1 1+.0103.! 0.!(3D%1) %n problema, con este tipo de organi/acin, es
determinar cuanto espacio se necesita para un archivo 1l crearse el mismo, debe contarse con la
totalidad del espacio libre necesario y luego asignarlo 1 veces el usuario conoce la longitud, en
otros casos es difcil determinar dicha longitud






21

Asignacin enla<ada
0ada archivo es una lista enla/ada de bloques de disco +os bloques pueden estar distribuidos en
cualquier parte del soporte -l directorio contiene un puntero al primero y al ltimo bloque del archivo
entre otros punteros 5ara crear un nuevo archivo, simplemente creamos una nueva entrada en el
directorio, cada una de ellas tiene un puntero al primer bloque de disco del archivo




Centa#as)
= !o hay fragmentacin externa 0ualquier bloque libre en la free space list puede ser usado
para satisfacer un requerimiento o un pedido
E +a creacin de un archivo es relativamente fcil ya que solo se crea una nueva entrada al
directorio
@ !o es necesario declarar la longitud al crearlo, ya que puede crecer en tanto existan
bloques libres 5or lo tanto no es necesaria la compactacin
> %n archivo puede continuar creciendo tanto como bloques libres haya en el disco
? 'lo es efectivo para accesos secuenciales

Desventa#as)
= 5ara encontrar el bloque i9&simo de un archivo, se debe recorrer los i 9= bloques anteriores
"se debe ir al principio del archivo y seguir los punteros hasta el llegar al bloque i$
E 0ada acceso a un puntero requiere de una lectura 5or lo tanto no es posible implementar
acceso directo con este m&todo
@ +os punteros ocupan espacio extra, por lo que los archivos requerirn mas espacio para ser
almacenados %na solucin parcial es usar una lista doblemente enla/ada "doble lin<eada$
o almacenar en cada bloque el nombre del archivo al que pertenece y su nmero relativo
5or supuesto esto requiere an mas desperdicio de espacio en disco
> 1ltamente vulnerable por <a p&rdida de un puntero 5oco confiable
? !o soporta acceso directo, por tener punteros en bloques diseminados en todo el disco


22

Asignacin inde(ada inde(ed allocation!
0ada archivo tiene su propio bloque de ndice "index bloc<$, que es un vector de direcciones de
bloques en el disco +a i9&sima entrada en el l bloque de ndices apunta al i9&simo bloque del archivo
-l directorio contiene la direccin del index bloc<
5ara leer el en&simo bloque, se usa el puntero de la entrada en&sima del para encontrar y leer
el bloque deseado 5ara leer el i9&simo bloque, usamos el puntero en la i9&sima entrada del bloque
de ndices y as encontramos el bloque deseado 0uando se crea un archivo, todos los puntero en
el index bloc< se iniciali/an en !%++
0uando se necesita un nuevo bloque, se remueve un bloque de la free space list y su direccin se
guarda en la siguiente entrada del index bloc< 5ara grandes archivos, se puede vincular varios
bloques ndice
%na variante es usar un bloque de ndices separado que apuntan a los distintos bloques ndices que
a su ve/ apuntan a los bloques del archivo 5ara acceder a un bloque, el 'istema .perativo usa
el ndice de primer nivel para encontrar el ndice de segundo nivel, que a su ve/ apunta al bloque
de datos deseado del archivo +a organi/acin indexada soporta acceso directo, sin sufrir de
fragmentacin 0ualquier bloque libre del disco puede satisfacer un pedido

Centa#as)
= 'oporta acceso directo y secuencial
E !o tiene fragmentacin externa 0ualquier bloque libre del disco puede ser utili/ado para
almacenamiento o para ndice
@ !o es necesario declarar el tamao del archivo cuando se lo crea

Desventa#as)
= -l espacio ocupado por punteros del index bloc< es generalmente mayor que el ocupado por
la asignacin enla/ada %n archivo que ocupa dos bloques desperdicia un bloque completo
para punteros, con asignacin enla/ada el espacio perdido sera de slo > bytes
E 5ara archivos muy grandes, acceder a un bloque puede involucrar muchas indirecciones con
la consiguiente p&rdida de tiempo 5or lo tanto este esquema es ineficiente para bases de
datos grandes

Você também pode gostar