SO1 Clase10

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 20

UNIDAD Nº 5: TEMAS: Clase

Archivos - Tipos - Estruc-

10
ADMINISTRACION tura de archivos y directo-
DE ARCHIVOS rios - Tipos de accesos.
Atributos - Implantación
del sistema de archivos -
Seguridad

Administración de archivos

Introducción al Sistema de Archivos

Uno de los problemas que presenta un sistema de información es la necesi-


dad de poder registrar, resguardar y acceder a cierto tipo de información. Con la
informatización la solución fue llegando gradualmente ya que desde un principio se
utilizaron distintos métodos para poder hacerlo. Se recurrió a distintos tipos de
mecanismos para poder lograrlo; tales como la memoria, tarjetas perforadas, cintas
perforadas, cintas magnéticas, discos, disquetes, etc. Porque la mayoría de aplica-
ciones necesitan almacenar y recuperar información y un proceso puede almacenar
una cantidad limitada de esta en su propio espacio de direcciones, sin embargo este
es de un tamaño muy limitado. Además cuando el proceso termina o cuando se le
corta el suministro de energía a la computadora, la información se pierde. Por otro
lado en algunas ocasiones se hace necesario que varios procesos accedan a la mis-
ma información simultáneamente. Por eso es que la solución a estos problemas está
en el almacenamiento de la información en medios externos, en unidades denomi-
nadas archivos.

Una de las funciones principales de un sistema operativo es llevar un regis-


tro de los datos almacenados en su sistema de discos. Los programas de aplicación
no saben dónde se encuentran almacenados sus datos en los dispositivos de alma-
cenamiento secundario ni cómo obtenerlos cuando los necesitan. Cuando un pro-
grama está listo para recibir datos, le pasa un requerimiento al sistema operativo
mediante un mensaje codificado. El sistema operativo mediante las rutinas que
administran el sistema de archivos busca el dato y se lo entrega al programa. Y a la
inversa, cuando el programa está listo para grabar datos, el sistema operativo trans-
fiere esta información desde el programa al módulo que administra el espacio dis-
ponible en el disco y le ordena que guarde dichos datos.

Para ésto el sistema operativo dispone de módulos o rutinas para el manejo


de los datos registrados en dispositivos de almacenamiento secundario que forman
el denominado "Sistema de administración de archivos" (o File System Mana-
ger).

ISSD - Sistemas Operativos 1 Clase 10 1


Estos módulos se encargan de todo lo relacionado con el almacenamiento
físico de los datos correspondientes a los archivos como por ejemplo la asignación
del espacio o las formas de almacenamiento, y son de gran ayuda para el progra-
mador a quien liberan de esta tarea.

El sistema de archivos es una de las partes más visibles del sistema opera-
tivo. Los usuarios utilizan los archivos para almacenar sus datos o programas en
forma persistente, esto quiere decir que la información no se pierde una vez que se
apaga la computadora. También debe proporcionar hacia el usuario una interfaz
sencilla, amigable y organizada, que le permita al usuario almacenar y organizar su
información. El sistema proporciona dicha interfaz principalmente mediante archi-
vos y directorios y operaciones sobre ellos. Una parte de las operaciones que el
sistema otorga a los usuarios tiene relación con los mecanismos de protección que
les permite a los usuarios proteger su información. Los mecanismos de protección
son especialmente importantes para sistemas multiusuarios, por razones obvias.

Por último, el sistema de archivos debe representar la información a


almacenar de alguna forma en el sistema, de tal manera que pueda in-
teractuar fácilmente con otra parte del sistema, que corresponde a la
Unidad de Entrada/Salida, pues debe almacenar realmente la informa-
ción de archivos y directorios en los dispositivos de almacenamiento se-
cundario.

Archivos

El sistema de archivos proporciona una interfaz de operación hacia los


usuarios mediante dos componentes: Archivos y Directorios. Estos dos componen-
tes le permiten al usuario almacenar y organizar su información.

Un archivo, conceptualmente, corresponde a un conjunto de información


que se agrupa con el fin de ser utilizada posteriormente. En general, los archivos
pueden ser programas (fuente, objeto, ejecutable), datos (numéricos, alfanuméri-
cos, binarios, etc.), imágenes, sonido, etc. En general un archivo es una secuencia
de bits, bytes o registros, cuya información es entendida por la entidad que crea el
archivo (aplicación) y por el usuario que lo define.

Por lo general los archivos son almacenados en disco, cada archivo puede
estar representado por uno o más bloques en memoria secundaria. Un bloque es la
unidad de información que utilizan los archivos, de manera similar a la utilización
de páginas de un proceso. Un bloque en general puede estar representado por uno o
dos sectores del disco.

Nombre de archivos

Como los archivos corresponden a un objeto que tiene información alma-


cenada en disco su identificación se realiza mediante un nombre específico a cada
uno de ellos.
ISSD - Sistemas Operativos 1 Clase 10 2
Las normas que rigen el nombramiento de los archivos son dependientes de
cada sistema. Así por ejemplo:

MS-DOS

- No hace diferencia alguna en el uso de minúsculas y mayúsculas.


- Tiene una estructura para el nombre de cada archivo.
- Tienen un nombre que puede ser de un máximo de 8 caracteres y una
extensión de 3 caracteres

UNIX - LINUX

- Hace diferencia en el uso de minúsculas y mayúsculas.


- Tienen un nombre que puede ser de un máximo de 255 caracteres (para
el antiguo Unix era 14 caracteres).
- Los nombres de los archivos no requieren extensión (algunas aplica-
ciones sí la necesitan).

Estructura de archivos

Por lo general la estructura de un archivo puede ser de tres tipos; utilizando


como componente lógico un Byte, utilizando registros y utilizando claves o arboles
B+.

a) Secuencia de bytes. El hecho de que un archivo corresponda a una


serie de bytes otorga flexibilidad, se puede escribir en ellos
cualquier cosa. UNIX y Windows utilizan este enfoque.
b) Secuencia de registros. Esta estructura contempla un registro como
componente lógico, en este caso cada dato del archivo es un re-
gistro, de manera que la inserción y consulta de datos de él debe
regirse por la estructura del registro. Un archivo es una sucesión
de registros de longitud fija, cada uno de los cuales tiene cierta
estructura interna.
c) Árbol. En esta estructura, un archivo consiste en un árbol de regis-
tros, no todos de la misma longitud, cada uno de los cuales con-
tiene un campo clave en una posición fija del registro. El árbol
está ordenado según el campo clave, con el fin de encontrar
rápidamente un registro con una clave particular.

ISSD - Sistemas Operativos 1 Clase 10 3


d)

Byte Registro

(a) (b)
(c)

Figura 5.1 Distintas estructuras de archivos


(a) secuencia de bytes
(b) secuencia de registros
(c) secuencia de registro e índice (árbol B+)

Tipos de Archivos

Existen varios tipos de archivos, los cuales se clasifican respecto a la in-


formación que ellos almacenan. Entre los distintos tipos de archivos se encuentran Comentario
los siguientes:

Archivos regulares: Corresponden a archivos que contienen información ASCII


de los usuarios. Estos archivos pueden ser ASCII o binarios. Los ASCII pueden ser Código Normalizado
visualizados con cualquier editor de texto y son imprimibles. Los binarios no son Americano para el Inter-
imprimibles directamente y por lo general tienen un formato asociado, los archivos cambio de la Información
ejecutables, por ejemplo, son binarios. En Unix, por ejemplo, un archivo binario (American Standard Code
ejecutable está dividido por ejemplo en: encabezado, texto, datos, bits de reubica- for Information Interchan-
ción y tabla de símbolos. El encabezado inicia con un número mágico que identifi- ge).
ca al archivo como ejecutable. Luego vienen los tamaños de los diversos compo-
nentes del archivo, la dirección donde inicia la ejecución y algunos otros bits. Des-
pués del encabezado vienen el texto y los datos del programa propiamente dicho.

Archivos directorios: son archivos de sistema que se usan para mantener


información respecto a la organización de archivos dentro del sistema.

Archivos especiales de caracteres: Se usan para modelar dispositivos de


E/S de tipo caracter, por ejemplo, terminales, teclados e impresoras, interfaces de
red, etc.

ISSD - Sistemas Operativos 1 Clase 10 4


Archivos especiales de bloque: Se usan para modelar dispositivos de E/S
que operan mediante bloques, como por ejemplo, los discos.

Accesos de archivos
Respecto a este punto, hablaremos de que manera es posible acceder a la
información contenida en archivos. Existen Básicamente dos mecanismos de acce-
so.

- Acceso Secuencial: En este caso, la información almacenada en un ar-


chivo se obtiene en orden, comenzando de lo primero a lo último, si se
desea algo almacenado en un lugar intermedio es necesario recorrer lo
anterior para llegar al punto deseado.

- Acceso Aleatorio: En este caso, la información se puede obtener en


forma directa, sin necesidad de leer lo que se encuentra antes. Antes de
la aparición de las bases de datos eran muy populares los archivos del
tipo ISAM (Index Sequential Access Method) muy utilizados en los
lenguajes como el COBOL, FORTRAN, Etc. Loa archivos de acceso
aleatorio son necesarios en muchas aplicaciones como los sistemas de
bases de datos. En los sistemas modernos, todos los archivos son de
acceso aleatorio en forma automática.

Atributos de archivos

El sistema de archivos aparte de permitir el nombramiento de archivos y su


almacenamiento mantiene información adicional de ellos, como por ejemplo el
nombre del dueño del archivo, la fecha y hora en que se creó, como está protegido,
tamaño actual, etc. Toda esta información adicional es la que se denomina atribu-
tos. No todos los sistemas manejan los mismos atributos. A continuación se presen-
tan los atributos más comunes.

Atributo Significado
Protección Quién y cómo puede tener acceso al archivo
Contraseña Clave para acceder al archivo
Creador ID de la persona que creó el archivo
Dueño Propietario actual
Bit de sólo lectura 0 para leer/escribir; 1 para sólo lectura
Bit de oculto 0 para normal; 1 para no visualizar en lista-
dos
Bit de sistema 0 para archivos normales; 1 para archivos de
sistema
Bit de AS- 0 para archivo ASCII; 1 para archivo binario
CII/binario

ISSD - Sistemas Operativos 1 Clase 10 5


Bit de acceso alea- 0 para acceso secuencial; 1 para acceso alea-
torio torio
Bit temporal 0 para normal; 1 para borrarlo al terminar el
proceso
Hora de creación Fecha y Hora en que se creó el archivo
Hora del último Fecha y hora en que se tuvo acceso por últi-
acceso ma vez al archivo
Tamaño actual Número de bytes en el archivo
Tamaño máximo Número de bytes que puede alcanzar el ar-
chivo

Figura 5.2. Atributos de un archivo

Operaciones sobre archivos

El sistema de archivos proporciona un conjunto de operaciones a los usua-


rios que les permite almacenar información en archivos para luego recuperarla.
Dichas operaciones son proporcionadas por el sistema mediante llamadas al siste-
ma. Dentro de las operaciones más comunes presentes en los sistemas de archivos
podemos tener:

 Create. El archivo se crea pero sin datos. El objetivo de la operación es


avisar que va a crearse un archivo y establecer algunos de sus atribu-
tos.
 Delete. Cuando ya no se requiere un archivo, es conveniente borrarlo
para liberar espacio en disco
 Open. Antes de utilizar un archivo, un proceso debe abrirlo primero. El
objetivo de esta operación es que el sistema obtenga los atributos y la
lista de direcciones de disco y los ponga en la memoria principal para
acceder a ellos rápidamente en las próximas operaciones.
 Close. Cuando se ha finalizado con todos los accesos al archivo, ya no
se precisarán los atributos y direcciones en disco, por lo tanto es con-
veniente cerrar el archivo para desocupar espacio en las tablas internas
del sistema operativo. Muchos sistemas operativos imponen un máxi-
mo de archivos que pueden tener abiertos los procesos, este máximo se
traduce en la cantidad de entradas de la tabla de archivos abiertos del
sistema. Además esta operación provoca que cuando se cierra un ar-
chivo, se escriba su último bloque en el disco, por más que no esté
completo.
 Read. Se utiliza esta operación para leer datos de un archivo. Cuando
se ejecuta esta operación es necesario especificar cuántos datos se van
a leer y el buffer donde deben colocarse.
 Write. Se utiliza esta operación para escribir datos en un archivo, nor-
malmente en la posición actual. Si la posición actual es el fin del ar-

ISSD - Sistemas Operativos 1 Clase 10 6


chivo, aumenta el tamaño del archivo. Si la posición actual está a la
mitad del archivo, los datos se sobrescriben y se perderá información
 Append. Esta operación es una forma específica de write. Sólo se pue-
de agregar datos al final del archivo.
 Seek. Cuando se utilizan archivos de acceso aleatorio, se necesita una
manera de especificar el punto del cual se tomarán los datos. Esta ope-
ración sep, hace que se posicione el puntero de archivo en un lugar es-
pecífico del archivo, ya sea para leer o para escribir en esa posición.
 Get attributes. Algunos procesos necesitan leer los atributos de un ar-
chivo. Por ejemplo, el comando ls –l necesita conocer los atributos pa-
ra visualizarlos por pantalla.
 Set attibutes. El usuario puede llegar a modificar algunos atributos, la
forma de realizarlo es mediante esta operación. Ejemplos de esta ope-
ración serían los comandos chmod, chown, entre otros.
 Rename. Esta operación permite modificar el nombre de un archivo.

Directorios

Como se mencionó anteriormente el sistema de archivo también propor-


ciona mecanismos mediante los cuales los usuarios pueden organizar sus archivos.
Respecto a este punto surgen los directorios que en esencia un directorio es una
tabla de símbolos en donde el sistema de archivos encuentra los nombres simbóli-
cos de los archivos con los atributos asociados a cada uno de ellos. Esta tabla de
símbolos se representa en un archivo especial denominado archivo directorio.
En los sistemas operativos modernos los sistemas de archivos contemplan
una organización de tipo jerárquica apoyada por los directorios. Que sea jerárquica
significa que en un directorio se pueden encontrar archivos y directorios, y dentro
de estos directorios otros archivos y directorios, y así sucesivamente...

Desde el punto de vista jerárquico un archivo directorio contiene los nom-


bres de los archivos y archivos directorios que allí se encuentran con sus respecti-
vos atributos. Básicamente existen dos maneras de almacenar la información en un
directorio. La primera consiste en que en el mismo archivo directorio se encuentran
tanto el nombre como los atributos de cada uno de los archivos y/o directorios que
lo componen. La otra manera es tener el nombre del archivo o directorio y un pun-
tero a otro lugar donde se encuentran sus respectivos atributos.
En casi todos los sistemas se encuentra un directorio llamado raíz, que co-
rresponde al padre de todos los directorios.

Acceso a directorios

Este punto se refiere a los mecanismos que proporcionan los sistemas res-
pecto del acceso de los usuarios a los directorios y a archivos definidos en el siste-
ma. Básicamente se utilizan dos tipos de acceso uno denominado Ruta de acceso
absoluta y la otra Ruta de acceso relativa.
ISSD - Sistemas Operativos 1 Clase 10 7
La ruta de acceso absoluta consiste en determinar el camino que debe se-
guirse para llegar desde el directorio raíz hasta el archivo. Por ejemplo: en DOS
\HOME\USR\ALUMNOS y en UNIX o LINUX /home/usr/alumnos. Los nom-
bres de ruta absoluta siempre parten del directorio raíz y son únicos. El otro méto-
do para acceder a un archivo o directorio es la ruta de acceso relativa, la cual con-
siste en acceder a un archivo o directorio considerando la posición actual. El direc-
torio de trabajo, también llamado directorio actual, es la posición en la cual se en-
cuentra un usuario trabajando en un momento determinado. Por ejemplo, si se des-
ea hacer el acceso desde el directorio /home/usr basta con hacer "cd alumnos".

En muchos sistemas el directorio de trabajo se identifica con un ".", y el di-


rectorio anterior, denominado directorio padre se identifica con "..". Si estamos
ubicados en el directorio /home/usr/alumnos y deseamos posicionarnos en un direc-
torio hermano ubicado en /home/usr/docentes, utilizando la ruta relativa lo haría-
mos “cd ../docentes”. De esta manera, con los dos puntos nos ubicamos un nivel
más arriba (usr) y con docentes descendemos un nivel y llegamos al directorio
objetivo. Las rutas relativas son más cortas y más rápidas, pero debemos saber con
exactitud nuestra posición actual. En cambio las rutas absolutas son independientes
de la posición actual. Sin importar el lugar en donde estemos posicionados, llega-
remos al directorio o archivo deseado.

Operaciones sobre directorios

Al igual que para el manejo de archivos, para el manejo de directorios el


sistema también proporciona un conjunto de operaciones mediante llamadas a sis-
tema.

 Create. Se crea un directorio vacío, excepto por los directorios punto y


punto punto, que se colocan automáticamente.
 Delete. Se utiliza para eliminar un directorio. Sólo se puede eliminar
un directorio si está vacío. Un directorio que sólo contiene los directo-
rios punto y punto punto se considera vacío.
 Opendir. Se utiliza para abrir un directorio y poder leer su contenido.
De esta manera se puede conocer todos los nombres de archivos que
contiene un directorio. Para poder leer un directorio es necesario pri-
mero abrirlo, de forma similar a como se abre y se lee un archivo.
 Closedir. Cuando ya se leyó un directorio, se debe cerrar para desocu-
par espacio en las tablas internas del sistema operativo.
 Readdir. Una vez que se abrió un directorio, es posible leer la siguiente
entrada del directorio con la operación readdir.
 Rename. Permite modificar el nombre de un directorio, en forma simi-
lar a como se realiza con los archivos. Debemos tener en cuenta que el
directorio es también un archivo especial que contiene información so-
bre otros archivos y/o directorios.
 Link. El enlace es una técnica que permite a un archivo aparecer en
más de un directorio. Esta operación crea un enlace entre un archivo
ISSD - Sistemas Operativos 1 Clase 10 8
existente y un nuevo enlace. De esta manera el mismo archivo podría
aparecer en múltiples directorios. Este tema lo profundizaremos más
adelante en este capítulo.
 Unlink. Esta operación elimina una entrada de directorio. Si el archivo
que se está desenlazando sólo está presente en un directorio, se elimina
del sistema de archivos. Si está presente en múltiples directorios, sólo
se elimina el nombre de ruta especificado, es decir, sólo se elimina esa
entrada de directorio.

Implantación del Sistema de Archivos

El aspecto más importante de la implantación del sistema de archivos es la


forma de realizar el registro de los bloques asociados a cada archivo. El espacio en
disco se divide en unidades de asignación, denominadas bloques, de tal forma que
cuando un proceso solicita espacio en disco se entregará una cantidad de bloques
que satisfaga las necesidades. Los tamaños típicos de bloques fluctúan entre 512
bytes hasta 2 Kb. Dentro de estos métodos de implantación se tienen:

- Asignación Adyacente
- Asignación por Listas Ligadas
- Asignación por Listas Ligadas con Índices
- Nodos-i (Indice) o I-NODE

Asignación Adyacente

En este esquema se almacena cada archivo en una serie contigua de blo-


ques de disco. De esta manera, en un disco con bloques de 2KB, se asignarían 10
bloques consecutivos a un archivo de 20KB. En caso de ocupar 19KB el archivo,
en el último bloque se desperdiciaría un espacio que no podría ser asignado a
ningún otro archivo. Esto se denomina fragmentación interna.

Ventajas
- Fácil implantación ya que el registro de la localización de un
archivo solo implica guardar la dirección donde este inicia y el
número de bloques del archivo.
- El rendimiento es muy bueno puesto que el archivo se puede le-
er en una sola operación.

Desventajas
- Para su implementación se hace necesario conocer el tamaño
del archivo al momento de su creación.
- Se puede presentar fragmentación externa del disco, lo que re-
queriría hacer compactaciones frecuentemente.
ISSD - Sistemas Operativos 1 Clase 10 9
Bloque 0 Bloque 1 Bloque 2 Bloque 3
Bloque 4 Bloque 5 Bloque 6 Bloque 7
Bloque .... Bloque .... Bloque ... Bloque ....
Bloque 3-n Bloque 2-n Bloque 1-n Bloque n

Figura 5.3 Asignación adyacente

Asignación en forma de Lista Ligada

En este método, para almacenar archivos se mantiene a cada uno de ellos


como una lista ligada de bloques en disco. La primera palabra de cada bloque
guarda la dirección del siguiente, por medio de un puntero. El resto contiene blo-
ques de datos.

Con este tipo de asignación es posible utilizar cada bloque del disco en
forma independiente. Se realiza un mejor aprovechamiento del espacio total del
disco porque no se pierde espacio debido a la fragmentación externa y además en el
directorio solo se hace necesario guardar la dirección del primer bloque, pues a
partir de éste se puede encontrar todo el archivo. En este método no es necesario
que los bloques pertenecientes a un archivo se encuentren físicamente juntos en el
disco.

Las principales desventajas de este método residen en que a pesar de que el


acceso secuencial es eficiente, no ocurre lo mismo con el acceso aleatorio. Este
tipo de acceso es muy lento ya que para llegar al bloque N del archivo, el sistema
operativo tiene que comenzar la lectura por el principio y leer los N-1 bloques ante-
riores. Esto se traduce en realizar muchos movimientos del cabezal del disco, para
leer por ejemplo, el último bloque de un archivo. Por otro lado, los datos que se
almacenan en un bloque ya no es potencia de dos, puesto que parte de cada bloque
se utiliza para guardar la dirección del siguiente.

Bloque 0 bloque 1 bloque 2

- - -.-
-.
Bloque 3 bloque 4 bloque 5
- - -.-
-.

ISSD - Sistemas Operativos 1 Clase 10 10


bloque ..... bloque 1-n bloque n

Figura 5.4. Listas ligadas (puntero al siguiente)

Asignación mediante lista ligada y un índice

La idea de este método es tomar el puntero que se encuentra en la primera


palabra del bloque de disco y colocarlo en una tabla o índice de la memoria.

Bloque físico
Siguiente Bloque
Directorio
Nombre attrib fecha long fat
Directorio

FAT Disco

Figura 5.5 Lista ligada y un índice (MS-DOS) (Directorio, FAT, Disco)

De acuerdo a la figura 5.5:

- Archivo1 utiliza los bloques 5-2-3-7-11


- Archivo2 utiliza los bloques 6-10-14-12
- Archivo3 utiliza los bloques 15-16-17

De esta forma, todo el bloque está disponible para almacenar datos, además
el acceso aleatorio es más sencillo. Para encontrar un dato determinado se debe
seguir la cadena de punteros, pero ésta reside en la memoria, por lo que su acceso
es rápido. En el directorio sólo se hace necesario guardar la dirección del primer
bloque, ya que a partir de allí se pueden encontrar los demás.
ISSD - Sistemas Operativos 1 Clase 10 11
La desventaja principal de este método es que para que funcione, toda la
tabla debe estar almacenada en la memoria todo el tiempo. El tamaño de la tabla va
a depender de la cantidad de bloques del disco, ya que se requiere una entrada por
cada bloque. Este tipo de organización es utilizado por MS-DOS, Windows 95 y
OS/2 y la tabla recibe el nombre de FAT (File Allocation Table).

Windows 200 soporta también la tabla de asignación de archivos (FAT),


pero se diseñó con un nuevo sistema de archivos denominado NTFS. Entre las
características importantes de NTFS podemos mencionar:

 Es un sistema de archivos potente y flexible


 Recuperabilidad. Capacidad para recuperarse de las caídas del sistema
y de los fallos del disco. Para poder reconstruir los volúmenes de disco
y devolverlos a un estado consistente, todas las operaciones las realiza
por medio de transacciones. Además NTFS utiliza un almacenamiento
redundante para los datos críticos del sistema de archivos.
 Seguridad. NTFS utiliza el modelo orientado a objetos. Un archivo se
implementa como un objeto archivo con un descriptor de seguridad
que define sus atributos de seguridad y acceso.
 Discos grandes y archivos grandes. NTFS soporta discos muy grandes
y archivos muy grandes.
 Capacidad de indexación general. NTFS asocia un conjunto de atribu-
tos con cada archivo. Estos se organizan como una base de datos rela-
cional, logrando que los archivos se puedan indexar por cualquier atri-
buto.

La estructura de archivos y volúmenes NTFS consiste en los conceptos de


sector, agrupamiento y volumen. El sector es la unidad de almacenamiento físico
más pequeña del disco (normalmente 512 bytes). Agrupamiento o cluster consiste
en agrupar uno o más sectores contiguos del disco. El tamaño del agrupamiento en
sectores es siempre potencia de dos. Y por último el volumen es una partición lógi-
ca del disco. Un volumen puede ser todo o una parte de un único disco o puede
extenderse a través de múltiples discos. Si se utiliza, por ejemplo RAID 5, un vo-
lumen estará formado por una serie de bandas en varios discos.

El agrupamiento o cluster es la unidad fundamental de asignación en


NTFS. Si por ejemplo cada sector tiene 512 bytes y el sistema se configura con dos
sectores por agrupamiento para NTFS la mínima unidad de asignación de un archi-
vo será de 1K bytes. Para almacenar un archivo de 2500 bytes, se asignarán 3
agrupamientos. El uso de cluster o agrupamiento hace independiente a NTFS del
tamaño del sector físico. Esto permite soportar archivos muy grandes mediante el
uso de un tamaño de agrupamiento más grande.

ISSD - Sistemas Operativos 1 Clase 10 12


Asignación mediante Nodos-i (I-NODE)

El último método para llevar el control de cuáles bloques pertenecen a cuá-


les archivos, consiste en asociar a cada archivo una estructura de datos denominada
nodo-iN (nodo índice), la cual contiene los atributos y direcciones en disco de los
bloques del archivo.

(a) Atributos
(b) Directos (10.240 bytes) (10x1024 byte)
(c) Indirecto Simple (262.144 bytes) (256x1024 byte)
(d) Indirecto Doble (67.108.864 bytes) (2562 x1024 byte)
(e) Indirecto Triple (17.179.869.184 bytes) (2563x1024 bytes)
(f) Tablas de 256 entradas de punteros a bloques
Figura 5.6 Estructura de un I-NODE o NODO-I
(x) Bloques físicos (1024 bytes)

Veamos cómo se organiza internamente el nodo-i. En el área de los atributos se


registran todos los atributos del archivo, como por ejemplo el creador, la fecha de
creación, propietario actual del archivo, grupo del usuario, permisos, longitud, tipo
de archivo, etc. Las primeras 10 direcciones siguientes se utilizan para almacenar
las direcciones de los 10 primeros bloques de datos del archivo (los llamaremos
bloques D). De esta manera, suponiendo que cada bloque tiene un tamaño de 1024
bytes, podríamos almacenar archivos de hasta 10Kbytes de tamaño total. Para ar-
chivos pequeños, toda la información asociada a un archivo, como sus atributos y
las direcciones de sus 10 primeros bloques, se encuentran en el propio nodo-i.

Ahora bien, ¿qué sucede si el archivo es mayor a 10 bloques? Para ello se han re-
servado tres direcciones de bytes, al final del nodo-i que tienen un significado es-
pecial. La primer dirección de bloque de disco se denomina indirecto simple la
cual registra la dirección de un bloque físico del disco, que contiene direcciones de
bloques de disco donde cada uno de ellos contiene direcciones de bloques de datos
propios del archivo (bloques D). De esta forma, si este bloque tiene 256 entradas,
el archivo puede tener un tamaño de 256 bloques de 1024 bytes cada uno más los
10 bloques de 1024 bytes que están contenidos en el propio nodo-i.

ISSD - Sistemas Operativos 1 Clase 10 13


La segunda dirección especial del nodo-i, se lo denomina indirecto doble
que registra la dirección del bloque físico de la lista o tabla que contiene los 256
punteros a tablas de indirección simple. Expresado matemáticamente tenemos
2562x1024 ≈ 67 Mbytes siguientes del archivo.

La tercer dirección especial del nodo-i, se denomina indirecto triple que


registra la dirección del bloque físico de la lista o tabla que contiene los 256 punte-
ros a tablas de indirección doble y estos contiene los 256 punteros a tablas de indi-
rección simple. Expresado matemáticamente: 2563x1024 ≈ 17 Gbytes siguientes
del archivo. Este esquema es utilizado por UNIX o LINUX.

Implantación de Directorios

Antes de poder acceder a un archivo, éste debe ser abierto. Al abrirlo, el


sistema operativo utiliza la ruta de acceso (path o camino) dada por el usuario para
localizar el nombre en el directorio. Allí se encuentra la información necesaria para
encontrar los bloques en el disco. Según el tipo de Implementación del Sistema de
Archivos, esta puede ser la dirección en disco de todo el archivo (asignación adya-
cente), el número del primer bloque (listas ligadas y listas ligadas con índice) o el
número del nodo-i.

Un aspecto importante es dónde deben guardarse los atributos. Todo siste-


ma mantiene atributos de los archivos los cuales deben almacenarse en algún lado.
Estos atributos de cada uno de los archivos se pueden guardar directamente en la
entrada del directorio. Muchos sistemas utilizan este esquema. En este caso, un
directorio es una lista de entradas de tamaño fijo, una por archivo, que contiene un
nombre de archivo, una estructura con los atributos del archivo y una o más direc-
ciones en disco que indican dónde están los bloques de disco.

En los sistemas que utilizan nodos-i, otra posibilidad para almacenar los
atributos es en los nodos-i, en lugar de las entradas de directorio. Así, la entrada de
directorio es más corta, sólo contiene un nombre de archivo y un número de nodo-i.
Este enfoque utiliza UNIX.

Archivos compartidos

Un aspecto importante, es que en algunos sistemas multiusuarios (por


ejemplo Unix), que poseen una organización jerárquica permiten que distintos
usuarios compartan archivos. En muchos casos, conviene que un archivo comparti-
do aparezca al mismo tiempo en diferentes directorios que pertenecen a usuarios
distintos. Si esto se implementa mediante una copia, los cambios introducidos por
un usuario, no serán vistos por el resto, ya que cada uno tiene una copia del archi-
vo. Lo que realmente conviene es que todos los usuarios accedan al mismo archivo
físico. De esta forma, si uno agrega o modifica algún dato, el resto de usuarios verá
el cambio. Para poder implementar la compartición de archivos, existen dos técni-
cas diferentes: el enlace duro o real y el enlace simbólico.

ISSD - Sistemas Operativos 1 Clase 10 14


El enlace duro sólo se puede implementar en sistemas operativos como
UNIX o Linux, en donde la información relativa a un archivo está contenida en el
nodo-i. En enlace duro consiste en crear una entrada en un directorio la cual apunte
al nodo-i del archivo. De esta forma, se pueden tener varios accesos al mismo ar-
chivo, desde directorios diferentes. Cuando un usuario modifica el contenido del
archivo, el resto de usuarios que tiene acceso al mismo archivo físico, por medio
del enlace, puede ver el archivo actualizado. Este tipo de enlace tiene la ventaja que
el archivo no desaparece hasta que no se elimina el último enlace al archivo.
Además se debe tener en cuenta que cada archivo posee un atributo que se denomi-
na “cantidad de enlaces”. Cuando el archivo se crea, este atributo vale 1. A medida
que se van agregando nuevos enlaces al archivo, el atributo se va incrementando.
Cada vez que un usuario borra un archivo de su directorio, lo que en realidad está
haciendo es eliminar una entrada de directorio a ese archivo, lo que se traduce en
reducir en 1 el atributo “cantidad de enlaces”.

El otro tipo de enlace denominado simbólico se puede implementar tanto


en entornos Windows como en entornos UNIX o Linux. El enlace simbólico con-
siste en crear en el directorio desde el cual se enlaza, un nuevo archivo de tipo
LINK. Este archivo contiene la ruta del archivo con el cual está enlazado. La des-
ventaja de este tipo de enlace es que si el propietario borrar el archivo al cual está
apuntando el enlace, todas las entradas de directorios que contengan un archivo de
tipo LINK, quedarán en un estado inconsistente, apuntando a un archivo que no
existe. En Windows este tipo de enlace se conoce como acceso directo. En UNIX
se debe considerar que sólo el dueño del archivo tiene acceso al nodo-i. Los usua-
rios que se han enlazado con el archivo sólo tienen nombres de ruta, no punteros a
nodos-i.

Administración del Espacio en Disco

Existen dos métodos para almacenar un archivo de n bytes: asignar n bytes


consecutivos en el disco o dividir el archivo en cierto número de bloques no nece-
sariamente adyacentes. El almacenamiento de un archivo de manera adyacente
tiene el inconveniente serio, de que si el archivo crece, lo más probable es que ten-
ga que moverse en el disco. Por esta razón, la mayoría de sistemas dividen el ar-
chivo en bloques de tamaño fijo que no tienen que ser adyacentes.

Una vez que se ha decidido almacenar los archivos en bloques de tamaño


fijo, se debe definir el tamaño de dichos bloques. Si estos son muy grandes, se pre-
senta el problema de fragmentación interna en el disco. Por otro lado, si se define
muy pequeño, implicará que el archivo constará de muchos bloques y por lo tanto
la recuperación de la información será lenta. Los tamaños elegidos para los bloques
fluctúan entre 512 bytes y 2Kbytes.

Registro de Bloques Libres

Para llevar un registro de los bloques libres en disco, en general se utilizan


dos métodos: mantener una lista ligada de bloques de disco, en la que cada bloque
ISSD - Sistemas Operativos 1 Clase 10 15
contiene tantos números de bloques libres como pueda. El otro es el mapa de bits.
Un disco con n bloques necesita una mapa con n bits. Los bloques libres se repre-
sentan con cero (0) y los ocupados con uno (1).
Se prefieren los mapas de bits siempre y cuando haya el espacio suficiente
en memoria para contenerlo. Sin embargo, si sólo se dispone de un bloque para el
registro de los bloques libres y el disco está casi lleno, podría ser mejor la lista
ligada. En este caso, las direcciones de los bloques libres se almacenan en bloques
interconectados. Suponiendo que un bloque tiene un tamaño de 1024 bytes y una
dirección de bloque ocupa 4 bytes, es posible almacenar 256 direcciones de blo-
ques libres en cada bloque de disco. El tamaño de esta lista de bloques libres va a
depender de qué tan libre u ocupado esté el disco.

Cuota de disco

Los sistemas operativos multiusuarios necesitan administrar correctamente


el disco, de tal manera que un usuario no haga uso de todo el disco rígido y deje sin
espacio de almacenamiento al resto de usuarios. El objetivo de la administración de
cuotas de disco consiste en que el Administrador del sistema asigne a cada usuario
una porción máxima de archivos y bloques y que el sistema operativo garantice que
los usuarios no excedan su cuota.

La implementación de las cuotas de disco se realiza de la siguiente manera.


Cuando un usuario abre un archivo, el sistema operativo ubica los atributos y di-
recciones de disco y se colocan en una tabla de archivos abiertos en la memoria
principal. Cualquier aumento en el tamaño del archivo se cargará a la cuota del
dueño. Existe otra tabla que contiene los registros de cuota de cada uno de los
usuarios que tienen un archivo abierto en ese momento.

La tabla de cuotas del usuario está dividida en dos grandes partes. En una
se controla la cantidad de bloques que posee el usuario entre todos sus archivos
almacenados en disco y en la otra parte se controla la cantidad de archivos que
posee ese usuario. Tanto el control de los bloques como el control de la cantidad de
archivos se implementa mediante dos límites, uno flexible y el otro estricto.
Además se lleva la cuenta de la cantidad actual de bloques que posee el usuario y el
número de advertencias realizadas. La cantidad real de bloques que posee el usua-
rio puede superar momentáneamente el límite flexible, pero nunca podrá superar el
límite estricto. Cuando el número de bloques que posee el usuario supera el límite
flexible, el sistema operativo informa a través de una “advertencia” al usuario que
está excediendo la capacidad otorgada de disco. El usuario deberá borrar algunos
de sus archivos para volver a su espacio normal asignado. La cantidad de adverten-
cias tiene un máximo, por ejemplo de 6, que se va reduciendo en uno cada vez que
el sistema advierte que se ha excedido el uso del disco. Si el usuario no reduce la
cantidad de disco utilizada borrando algunos de sus archivos y la cantidad de ad-
vertencias llega a cero, el sistema no lo dejará ingresar la próxima vez que inicie
sesión.

Tabla de archivos abiertos Tabla de cuotas Usuario 13

ISSD - Sistemas Operativos 1 Clase 10 16


Atributos Límite flexible de bloques
Direcciones de disco
Usuario = 13 Límite estricto de bloques

Puntero a la cuota Cant. Actual de bloques

Límite
Númeroflexible de archivos
de advertencias

Límite estricto de archivos

Cant. Actual de archivos

Número de advertencias
Figura 5.7. Tabla de Cuota de disco

Este mismo control de límite flexible y estricto se realiza sobre la cantidad


de archivos que posee un usuario. El funcionamiento es similar al control de blo-
ques.

Seguridad

Seguridad y Protección del Sistema de Archivos

Los sistemas de archivos con frecuencia contienen información que es muy


valiosa para sus usuarios. La protección de esta información contra su uso no auto-
rizado es, por lo tanto, un interés fundamental de todos los sistemas de archivos.

Los términos de seguridad y protección están muy relacionados entre sí, el


concepto de seguridad tiene una cobertura más amplia que el concepto de protec-
ción. Se dice que la seguridad engloba al sistema como un todo, considera aspectos
del medio donde esta inserto el sistema, como por ejemplo aspectos políticos, ad-
ministrativos, legales y también técnicos. En cambio la protección es un asunto
más interno al sistema tienen que ver directamente con los aspectos técnicos que
maneja el sistema para permitir el acceso controlado a los programas y datos que él
maneja.

En forma más detallada se dice que la protección debe contemplar tanto las
políticas como los mecanismos que regulan el acceso al sistema. Cuando se habla
de políticas se refiere a qué se hará y cuando se habla de mecanismos se habla de
cómo se hará algo. Las políticas por lo general son determinadas por el diseño del
sistema y deben ser de conocimiento de los administradores y de los usuarios del
sistema. EL sistema debe diseñarse en forma flexible para estar preparados a cam-
bios de las políticas en el tiempo.
ISSD - Sistemas Operativos 1 Clase 10 17
La seguridad tiene muchas facetas. Dos de las más importantes son la
pérdida de datos y los intrusos. Algunas de las causas comunes de la pérdida de
datos son:

- Fuerza mayor: incendios, inundaciones, terremotos, guerras, motines,


ratas que mordisquean tarjetas, cintas o discos flexibles.
- Errores del hardware o el software: mal funcionamiento de la unidad
central de procesamiento, discos o cintas ilegibles, errores de teleco-
municación, errores en los programas
- Errores humanos: captación de datos incorrectos, montaje de la cinta
o el disco equivocado, corrida deficiente del programa, disco o cinta
extraviado.

La mayoría de estas causas se pueden controlar conservando respaldos


(Backups) adecuados, preferentemente que estén alejados de los datos originales.

Por lo general, para controlar el acceso de usuarios al sistema se utilizan


mecanismos de autenticación de usuarios, dentro de este esquema lo más conocido
es el uso de contraseñas.

Contraseñas

Este mecanismo básicamente consiste en que un usuario define una contra-


seña que le permite autentificarse, una vez definida esta contraseña los posteriores
ingresos del usuario al sistema son permitidos si y sólo si ingresa la contraseña
antes definida cuando el sistema se la pide. La contraseña es manejada por el sis-
tema en forma encriptada, esto significa que una vez que el usuario ha definido su
clave de ingreso esta es encriptada mediante algún algoritmo y es guardada en
algún archivo especial. La información guardada en este archivo se utiliza para
validar posteriormente la clave de ingreso de los usuarios.

En Unix, por ejemplo, se utiliza este mecanismo en donde las claves en-
criptadas son guardadas en el archivo password del sistema, Unix permite definir
claves de hasta 8 caracteres a la cual se le agrega un número de 12 dígitos y luego
la encripta, el número se agrega para aumentar la cantidad de combinaciones de
posibles claves para hacer más difícil la tarea de los intrusos de tratar de averiguar
las claves.
Un aspecto importante de destacar es que los algoritmos que se utilizan pa-
ra encriptación, en general son públicos, uno de los criterios de diseño de los siste-
mas es hacerlo de esta manera es peor ocultar las cosas pues de todas maneras los
usuarios que lo requieran lo averiguarán.
Respecto al tema de las contraseñas es muy importante lo especial que
puede ser la clave del usuario, pues esta comprobado que la mayor parte de las
veces los usuarios eligen claves relacionadas con su vida privada, por ejemplo,
colocan nombres de personas, fechas, números de licencias, etc.; una investigación

ISSD - Sistemas Operativos 1 Clase 10 18


hecha al respecto unos cuantos años atrás que consistió en construir una lista de
posibles claves como las mencionadas, encriptarlas y compararlas con las claves
encriptadas del sistema, el resultado fue que las claves coincidían en un 85%
aproximadamente.
Identificación física
Existen además otros mecanismos de validación de usuarios estos incluyen
reconocimiento de características físicas de los usuarios. Dentro de este esquema se
encuentran los reconocimientos de huellas digitales, tarjetas magnéticas con cla-
ves(como los cajeros automáticos), análisis del largo de los dedos, reconocimiento
de iris del ojo, etc.

Ejercitación Práctica
Sugerencias:
Realiza la práctica suficiente para que afiances la comprensión del temario.
Deberás realizar el análisis de lo leído para responder algunas preguntas cuya res-
puesta no se encuentra textualmente en el módulo.
Se sugiere investigar en Internet
Anota las dudas que hayan surgido durante la lectura del material, si hay términos
que desconoces o procedimientos en la práctica que no comprendes consulta con tu
tutor.
Objetivos
Comprender cómo se implementa el sistema de archivos.
Conocer cómo se implementa la seguridad de un sistema de archivos.
Introducción
El sistema de gestión de archivos es el software del sistema que ofrece los servicios
de manejo de archivos a usuarios y aplicaciones, incluyendo el acceso a archivos,
conservación de directorios y control de acceso (permisos).
Sea cual sea la estructura de archivos elegida, se necesita también un servicio de
directorios para que los archivos puedan organizarse de una forma jerárquica. Esta
organización es útil para que el usuario siga la pista de los archivos y para que el
sistema de gestión de archivos proporcione a los usuarios un control de acceso
junto a otros servicios.
Una función clave de cualquier esquema de gestión de archivos es la gestión del
espacio en disco. Una parte de esta función es la estrategia de asignación de blo-
ques de disco a los archivos. Se han empleado una amplia variedad de métodos y
de estructuras de datos para guardar constancia de la ubicación de cada archivo.
Además, también debe gestionarse el espacio en disco sin asignar, mediante una
tabla de asignación de disco.

Actividades
A-Lea atentamente la unidad N° 5 responda:
Qué función cumple el File System Manager?

ISSD - Sistemas Operativos 1 Clase 10 19


Defina archivo
Enumere los distintos tipos de archivos según la información que almacena.
Explique.
Qué es un directorio? Cómo está estructurado el file system en Linux?
Explique las dos maneras posibles que hay para acceder a un directorio.
Explique el concepto de directorio de trabajo y directorio padre.
Cuáles son los métodos que se utilizan para la implantación de archivos? Cuál
utiliza linux? Explique.
En linux, cómo se protegen los datos? Explique.
Linux, qué mecanismo de seguridad utiliza?

B-Para investigar:
Que es un enlace?. Defina y diferencie enlace simbólico y enlace duro.
Porque en un enlace duro los permisos de los archivos enlazados son los
mismos? Porqué no ocurre lo mismo en un enlace simbólico?
Qué operación/es podemos realizar sobre un directorio si éste tiene el permiso
de ejecución asignado.?
En qué consiste el sistemas de archivos ext2 que utiliza Linux?
En qué consiste el sistemas de archivos FAT? Qué sistema operativo lo utiliza?

Bibliografía
 Stallings Williams (2002). “Sistemas Operativos Principios de Diseño e
Interioridades” Cuarta edición. Prentice Hall.
 Tanenbaum Andrew (2003). “Sistemas Operativos Modernos” 2da.
edición. Prentice Hall.
 Tanenbaum Andrew (1992). “Sistemas Operativos Modernos”. Prentice
Hall.
 Serna Mónica y Allende Sandra (2003). “Apunte sobre Sistema Operativo
LINUX”. Editorial Universitas.

ISSD - Sistemas Operativos 1 Clase 10 20

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy