Este documento describe los sistemas de archivos y sus componentes. Explica que los sistemas de archivos mapean los archivos a los dispositivos de almacenamiento físicos y los organizan en directorios. Describe los conceptos básicos de los archivos como su nombre, tamaño y atributos, y explica cómo el sistema operativo realiza operaciones como la creación, lectura y escritura de archivos. También cubre temas como los métodos de acceso a archivos, la estructura de directorios y la compartición de archivos.
1. AREA DE LA ENERGÍA LAS
INDUSTRIAS Y LOS RECURSOS
NATURALES NO RENOVABLES
CARRERA DE INGENIERIA EN SISTEMAS
SISTEMAS OPERATIVOS
Docente:
Email: fpajila@unl.edu.ec
Periodo:
Ing. Freddy Patricio Ajila Z.
septiembre 2013 – febrero 2014
3. OBJETIVOS
1.-Explicar la función de los Sistemas de Archivos
2.-Describir las Interfaces de los sistemas de
Archivos
3.- Analizar los métodos de acceso, la compartición
de archivos, el bloqueo de archivos y las
estructuras de directorio.
4. Contenido
1. Sistema de archivos
– Introducción
– Conceptos Generales
– Estructura de directorios
– Métodos de asignación
– Gestión del espacio libre
2. Sistema de entrada-salida
– Introducción
– Hardware de entrada salida
– Interfaz de E/S de la aplicaciones
– Subsistema de E/S del kernel.
7. El sistema informático debe proporcionar un
almacenamiento secundario que sirva como respaldo
de la memoria principal.
El sistema de archivos proporciona los mecanismos
para el almacenamiento en línea de los datos y
programas que residen en los discos para el acceso a
esa información.
El sistema operativo mapea los archivos sobre los
dispositivos físicos y normalmente se organizan en
directorios para facilitar su uso.
9. Los dispositivos de almacenamiento varian en diversidad
de aspectos como:
● Transferencia carácter a carácter o bloque de caracteres
● Acceso secuencial o aleatorio
● Transferencia síncrona y asíncrona
● Dedicados y compartidos
● Solo lectura o lectura-escritura
● Velocidad (+ lento de los componentes princ del
computador)
● Subsistema de E/S (interfaz simple y optimiza op E/S)
● Sistema de Archivos: colección de archivos y estructura
de directorios.
10. CONCEPTOS GENERALES
-Un archivo es la colección de información relacionada, con
un nombre, que se graba en dispositivos de
almacenamiento secundario (Discos magneticos y opticos)
-El sistema hace una abstracción de las propiedades físicas
de sus dispositivos de almacenamiento para definir una
unidad lógica de almacenamiento: el archivo
- Para escribir datos en un dipositivo de almacenamiento es
necesario que los datos se encuentren dentro de un
archivo.
11. - Un archivo es una secuencia de bits, bytes o registros
definidos por el creador.
- En un archivo se puede almacenar distintos tipos de
información: programas fuente, programas objeto,
programas ejecutables, datos numéricos, texto, registros de
nómina, imágenes, video, sonido, etc.
12. Atributos de un archivo
Varian de un S.O a otro pero tipicamente son los siguientes:
Nombre: El nombre símbolo del archivo es la información
que se mantiene en forma legible para los humanos.
Identificador: Es una etiqueta unívoca dentro del sistema de
archivos (versión de nombre no legible por las personas)
Tipo: Esta información es necesaria para aquellos sistemas
que se soportan diferentes tipos de archivos.
Ubicación: Es un apuntador a un dispositivo y la ubicación
del archivo dentro del dispositivo.
Tamaño: Expresa el tamaño actual del archivo (bytes,
palabras, etc.) y posiblemente el tamaño máximo permitido.
13. Fecha, hora e identificador del usuario: Esta información
puede mantenerse para la creación, última modificación y
último uso del archivo. Estos datos son útiles para la
protección, seguridad y control de acceso
● La información acerca de los archivos se almacena en la
estructura de directorios que tambien reside en memoria
secundaria.
● Tipicamente una entrada de directorio esta compuesta por:
el nombre del archivo y su identificador unívoco. El
identificador permite localizar el resto de atributos del
archivo.
Los archivos se cargan en memoria por partes según sea
necesario.
14. Operaciones de archivos
El S.O realiza llamadas al sistema para:
Creación de un archivo: Para crear un archivo hace falta ejecutar
dos pasos. 1º encontrar espacio para el archivo dentro del sistema
de archivos y 2º incluir en el directorio la entrada del nuevo archivo.
Escritura en un archivo: Se debe realizar una llamada a un
sistemas que especifique tanto el nombre como la información que
hay que escribir en el archivo.
Lectura de un archivo: Se debe realizar una llamada al sistema
que especifique el nombre del archivo y dónde debe colocarse
(dentro de la memoria) el siguiente bloque del archivo.
Reposicionamiento del archivo: Se explora el directorio para
hallar la correspondiente entrada y se reposiciona el puntero de
posición actual dentro de un archivo, asignándole un nuevo valor.
15. Borrado de un archivo: Exploramos el directorio en busca del
archivo indicado y liberamos todo el espacio del archivo.
Truncado de un archivo: EL usuario puede querer borrar el
contenido de un archivo, pero mantener sus atributos.
Existen otras operaciones no básicas como:
- Adición
- Renombrado
- copia
- Copia a otro dispositivo (impresora,pantalla)
El S.O mantiene una tabla de archivos abiertos que contiene info de
todos los archivos abiertos.
16. Cada archivo abierto se asocia a diferentes tipos de
datos
Puntero de Archivos: El sistema deberá registrar
la ubicación correspondiente a la ultima lectura
escritura, utilizando un puntero de posición actual
dentro del archivo.
Contador de aperturas de archivo: Un mismo
archivo puede haber sido abierto por varios
procesos y por lo tanto el S.O debe esperar a que el
ultimo de esos procesos cierre el archivo antes de
eliminar la correspondiente entrada de la tabla de
archivos abiertos. El contador de aperturas deberá
alcanzar el cero cuando el último proceso cierre el
archivo.
17. Ubicación de archivos dentro del disco: La mayoría
de las operaciones de archivo requieren que el sistema
modifique datos dentro del archivo. La información
necesaria para ubicar el archivo en el disco se almacena
en la memoria, para que el sistema no tenga que leer de
nuevo esa información desde el disco en cada operación.
Derechos de acceso: Cada proceso abre un
determinado archivo en un cierto modo de acceso. Esta
información se almacena en la tabla correspondiente a
cada proceso para que el sistema operativo pueda
autorizar o denegar las siguientes solicitudes de E/S.
18. Los bloqueos de archivos permiten que un
proceso bloquee un archivo e impida que otros
procesos pueda acceder al mismo. Esto es útil
para aquellos archivos que son compartidos
por varios procesos.
● Bloqueo Compartido: Aquel en el que varios
procesos pueden adquirir dichos bloqueos
concurrentemente.
● Bloqueo exclusivo: se comporta como un
bloqueo escritor, es decir solo puede adquirir
dicho tipo de bloqueo un proceso a la vez
20. Métodos de Acceso
Acceso Secuencial: El acceso secuencial es la lectura
o escritura de datos enforma secuencial, un registro
después de otro, es el método más común. Es
soportado por dispositivos de acceso secuencial (Cintas
magnéticas) como aleatorio (disco duro).
21. Acceso Aleatorio o Directo: El proceso puede leer el registro en
cualquier orden, permitiendo leer o escribir bloques arbitrariamente.
Estos son útiles para un acceso inmediato en grandes cantidades de
información. Ejm: BD
El metodo de acceso directo se basa en un modelo de archivos que
se corresponde con los dispositivos de disco, ya que los discos
permiten el acceso aleatorio a cualquier bloque de un archivo.
22. Estructura de directorios
En ocasiones es deseable colocar múltiples sistemas de archivos
en un mismo disco o utilizar parte de un disco para un sistema de
archivos, como por ejemplo: espacio de intercambio. Estas partes
se conocen con diversos nombres como particiones, franjas o
minidiscos.
De la misma manera podemos querer unir varios discos o partes
para tener un estructura de mayor tamaño a esto se lo conoce
como volúmenes y también se pueden montar sistemas de
archivos en dichos volúmenes.
Cada volumen que contenga un sistema de archivos debe
también contener información acerca de los archivos
almacenados en el sistema. Esta información se almacena como
entradas en un directorio de dispositivo o tabla de contenidos del
volumen. Este directorio almacena información de todos los
archivos: nombre, ubicación, tamaño y tipo.
23. Esquema de volumnes de disco ( Hardware )
RAID (conjunto redundante de discos independientes)
26. Operaciones sobre un directorio
Búsquedas de un archivo: Permite explorar la estructura de
directorio para encontrar la entrada o archivo correspondiente.
Permite tambien la busqueda de archivos que se correspondan
con un patrón concreto (nombre, extensión).
Crear un archivo: Permite crear un archivo en un directorio.
Borrar un archivo : Eliminar el archivo de un directorio
Listar un directorio: Listar todos los archivos de un directorio
Renombrar un archivo: Permite cambiar el nombre del archivo
ya que para el usuario debe existir una relacion entre el
contenido y el nombre del archivo
Recorrer el sistema de archivos: Permite navegar entre
archivos y directorios
27. Estructura de directorios de un único
nivel
Es la estructura de directorio mas simple ya que todos los
archivos están contenidos en un mismo directorio y resulta
fácil de mantener y comprender.
Tiene limitaciones significativas como:
- cuando el número de archivos se incrementa
- cuando el sistema tiene más de un usuario.
28. Estructura de directorios de dos niveles
Una solución al problema de los directorios de un solo nivel es crear un
directorio por cada usuario (directorio de archivos de usuario, UFD)
Si un usuario quiere acceder a un archivo de otro usuario deberá especificar
toda la ruta del archivo.
Se puede tener archivos con nombres similares pero que pertenezcan a
diferentes usuarios.
29. Directorios con estructuras de árboles
Es esta estructura donde cada usuario puede tener varios directorios y dentro de
estos, tantos subdiretorios o archivos como se quiera. Al incrementarse la
cantidad de niveles, brinda capacidad de agrupamiento y búsqueda eficiente. Las
rutas pueden ser absolutas o relativas
30. Directorios con estructura de grafo acíclico
Permiten a los usuarios compartir subdirectorios y archivos, pero complican las
tareas de búsqueda y borrado. Podría manejarse un contador de referencias al
archivo cuando el contador sea cero podría eliminarse el archivo.
31. Directorios con estructura de grafo acíclico
Permiten a los usuarios compartir subdirectorios y archivos me diante enlaces,
pero complican las tareas de búsqueda y borrado. Podría manejarse un contador
de referencias al archivo cuando el contador sea cero podría eliminarse el archivo.
32. Directorios en formato de grafo general
Uno de los problema del grafo acíclico es garantizar que no existan ciclos
ya que el sistema entraría en un bucle infinito.
Una solución a esto consiste en limitar arbitrariamente el número de
directorio a la se accederá durante una búsqueda.
Otra solución son algoritmos que detecten la existencia de un ciclo, pero
estos tiene un costo muy alto desde el punto de vista computacional
33. Montaje de sistema de archivos
Los sistemas operativos windows descubren
automaticamente todos los dispositivos y montan
todos los sistemas de archivos localizados en el
momento de inicializar el sistema.
En los sistemas operativos GNU un determinado
fichero “fstab” de configuración del sistema contiene
una lista de los dispositivos y puntos de montaje para
realizar el montaje automático en el momento de
inicializar el sistema. GNU utiliza el sistema de
ficheros por omisión El sistema de ficheros por
omisión de FreeBSD es ufs.
dispositivo /punto-de-montaje tipo de ficheros opciones passno
Sda1 /dev ufs rw/ro/noauto 0/1/2/3
34. Estructura de direcctorios GNU
( / ) es la base de toda la estructura de directorios y las ramas (directorios y archivos) surgen o
cuelgan de dicha base.
36. Compartición de archivos
Multiples Usuarios:
Un sistema multiusuario debe permitir compartir los
archivos a nivel:
Propietario: El usuario propietario tiene todo el
control sobre el archivo y deside que operaciones
pueden realizarse sobre el archivo en un grupo
compartido.
Grupo de usuario: Son quienes tienen derecho a
realizar solo las operaciones que han sido autorizadas
por el usuario propietario
En GNU por cada archivo o fichero se almacena el
identificador del propietario y del grupo junto con
otros atributos que son únicos del archivo.
37. Atributos de un archivo o fichero en GNU-LINUX (comando ls -l)
38. Sistemas de archivos remotos
Por medio de las redes de datos se pueden compartir
una serie de recursos, pero el recurso más importante
es la información que es compartida por medio
archivos de datos.
Sistemas Cliente – Servidor: Trabajan con redes
de datos donde la maquina que contiene los archivos
compartidos es el servidor, mientras que la maquina
que trata de acceder a los archivos es el cliente.
39. Protección
Puesto que los archivos son el principal
mecanismo de almacenamiento de información
es necesario proporcionar mecanismos de
protección de los archivos.
En un S.O la principal protección sobre un
archivo o directorio son los permisos de control
de accesso que pueden ser de lectura, escritura,
ejecución.
La protección de los archivos o directorios puede
proporcionarse tambien por medio contraseñas,
listas de accesso o mediante otras técnicas.
40. 3. Discos duros y Sistemas de Archivos
Los discos tienen dos características que los convierten en un
medio conveniente para almacenamiento:
1.El bloque puede ser reescrito de manera directa, (leer,
modificar, y volverlo a escribir en el mismo lugar)
2.Se puede acceder a cualquier archivo de forma secuencial
aleatoria
Se puede leer varios bloques, cada bloque contiene uno o mas
sectores. Estos sectores varián de tamaño (32 bytes, 4096 byte;
siendo usualmente de 512 bytes)
42. Estructura de Sistemas de Archivos
Un sistema de archivos posee dos problemas de diseño
diferentes:
1. Definir cómo debe ver el usuario el sistema de archivos
– definir un archivo y sus atributos
– definir las operaciones permitidas sobre un archivo
– definir la estructura de directorios
2. Definir los algoritmos y estructuras de datos que deben crearse
para establecer la correspondencia entre el sistema de archivos
lógico y los dispositivos físicos donde se almacenan
44. Métodos de asignación
Asignación Contigua:
- Cada archivo ocupa un conjunto de bloques contiguos en el
disco.
VENTAJAS
- Simple-Solo se requiere la ubicación inicial (nro de bloque) y la
longitud (nro de bloques).
- Buenos tanto el acceso secuencial como el directo
DESVENTAJAS
- Existirá fragmentación externa
- Los archivos pueden crecer.
45.
46. Métodos de asignación no contiguo: Enlazado o
Encadenado:
- El mecanismo de asignación enlazada resuelve todos los
problemas de la asignación contigua.
- Cada archivo es una lista enlazada de bloques de disco: los
bloques pueden estar dispersos en cualquier parte del disco.
- El directotrio mantine un puntero al primer y al ultimo bloque de
cada archivo.
- En lo que respecta a la administración del espacio libre, no hay
desperdicio de espacio.
No hay acceso aleatorio.
No hay fragmentación externa.
47. Por ejemplo: un archivo de 5 bloques podría comenzar en el
bloque 9 y continuar en el bloque 16, luego en el 1, despues
en el bloque 10 y finalmente en el bloque 25
Asignación enlazada del espacio de disco
48. Ventajas:
- Evita la fragmentación externa
- El archivo puede crecer dinámicamente cuando hay bloques
de disco libres, no es necesario compactar
- Basta con almacenar el puntero al primer bloque del archivo
Desventajas:
- Espacio requerido para los punteros de enlace. Solución:
agrupaciones de bloques (clusters)
- Posible pérdida de punteros. Solución: lista doblemente
enlazada (overhead)
49. Tabla de asignación de archivos FAT.
- Es una variante del método de asignación enlazada (Windows y
OS/2).
- Reserva una sección del disco al comienzo de la partición para la
FAT
- Contiene una entrada por cada bloque del disco y está indexada
por número de bloque de disco
- Para localizar un bloque solo se necesita leer en la FAT à se
optimiza el acceso directo
- Problema: pérdida de punteros (solución: doble copia de la FAT)
51. Métodos de asignación no contiguo: Indexado
- Todos los punteros a los bloques están juntos en una
localización concreta: bloque índice.
- El directorio tiene la localización a este bloque índice y cada
archivo tiene asociado su propio bloque índice.
- Para leer el i-ésimo bloque buscamos el puntero en la i-ésima
entrada del bloque índice
Ventajas
- Buen acceso directo
– No produce fragmentación externa
52. Desventajas
- Posible desperdicio de espacio en los bloques índices
- Problema: acceso a disco necesario para recuperar la dirección
del bloque para cada nivel de indexación
- Solución: mantener algunos bloques índices en memoria
principal
53. Gestión del espacio libre
2.- Lista enlazada
Esta técnica enlaza todos los
bloques libres del disco,
manteniendo un puntero al
primer bloque libre y
almacenándolo en la memoria
caché.
No derrocha espacio
Es ineficiente al momento se
que recorre la lista de bloques
libres (tiempo sustancial de E/S)
54. GESTION DE ESPACIO
3.- Agrupamiento
Es una modificación de la lista enlazada; en el
primer bloque se almacena las direcciones de los
n bloques libres; y el ultimo bloque tendrá las
direcciones de otros n bloques libres y así
sucesivamente.
Con esta técnica se encuentra mas rápidamente
un gran número de bloques libres
55. GESTION DE ESPACIO
4.- Cuenta
Se mantiene la dirección del primer bloque libre,
seguido de un contador que me indica cuantos
bloques libres continuos existen.
58. Las dos tareas principales de una
computadotra son la E/S y el
procesamiento.
El rol del S.O en la E/S es la de gestionar
y controlar las operaciones y dispositivos
de E/S.
59. Para los diseñadores de SO, el control de los dispositivos
conectados a la computadora es de primordial interés,
debido a que cada dispositivo cambia sus funciones y
velocidad por lo cual se requiere variedad de métodos para
controlarlos.
Estos métodos de E/S forman el subsistema de E/S del
kernel, el mismo que aísla al resto del kernel de la
complejidad de la administración de los dispositivos de E/S.
La tecnología de E/S exhibe dos tendencias que están en
conflicto:
•Creciente estandarización de las interfases de SW y HW
con los cual se ayuda a incorporar en las computadoras y
SO generaciones mejoradas de dispositivos.
60. Nuevos dispositivos que son tan diferentes los
anteriores que se son difíciles de incorporar en las
computadoras y SO; por lo que se convierte en un
reto esta incorporación a través de combinación de
técnicas de HW y SW.
Los detalles y peculiaridades de los diferentes
dispositivos se encapsulan en módulos de manejadores
de dispositivos; el kernel del S.O se estructura y de
desarrolla interfaces uniformes para estos dispositivos.
62. El hardware de entrada y salida se puede dividir en :
Un Bus
Una controladora (chips harware)
Un puerto de E/S y sus registros (bufer temp)
Protocolo (Procedimiento de negociación )
Memoria de acceso directo (DMA)
63. El dispositivo se comunica con la máquina
mediante un punto de conexión llamado
puerto.
Si uno o más dispositivos utilizan un conjunto
de cables o hilos, la conexión se denomina
bus. Los buses junto a un protocolo definen los
mensajes(voltajes) que se transmiten por estos
hilos
64. BUS PCI (conecta los subsistemas procesador-memoria con los
dispositivos de alta velocidad y un bus de expansión que conecta
dispositivos lentos
65. Un controlador es un conjunto de componentes
electrónicos(CHIPs) que pueden operar un puerto, un bus o un
dispositivo.
Los controladores pueden ser sencillos (controlador de puerto
serial) o complejos (controlador de bus SCSI).
El controlador posee registros para los datos y las señales de
control que le permiten comunicarse con el procesador a través
de estos (leyendo y escribiendo bits en dichos registros).
La CPU pose instrucciones de E/S para controlar algunos
dispositivos; y E/S mapeada en memoria (conjunto de direcciones
que especifican las ubicaciones de los dispositivos de E/S), en la
figura se muestran algunos ejemplos de las mismas:
67. El proceso de negociación:
Durante este proceso se verifica si el dispositivo se
encuentra ocupado, libre. Esto se reliza a traves de bits (1
ocupado, 0 libre) y esta información se encuentra en la tabla
de control de dispositivos
La controladora del dispositivo que notifica a la CPU, cuando
el dispositivo está listo por medio de una interrupción.
68. ACCESO DIRECTO A MEMORIA (DMA).-La controladora DMA
se encarga de operar el bus de memoria directamente,
colocando las direcciones en el bus para realizar las
transferencias sin ayuda de la CPU.
69. INTERFAZ DE E/S DE LAS APLICACIONES.- Se debe
tener en cuenta las interfaz que debe proporcionar el S.O. a
las aplicaciones ofreciendo una interfáz estandar y uniforme
a los dispositivos de E/S; este debe ser independiente del
hardware; de tal manera que al diseñarse nuevos
dispositivos; sean compatibles con la interfaz de la
controladora existe. Una estructura de estas interfaces de
E/S se muestra en la figura.
72. El subsistema de E/S del kernel proporciona muchos
servicios, entre estos podemos citar:
- La planificación de E/S
- El almacenamiento en buffer
- El almacenamiento en caché
- La gestión de colas y reserva de dispositivos
- Tratamiento de errores
Este subsistema realiza un trabajo coordinado con el
Hardware y los controladores de dispositivo.
73. La planificación de E/S.
El subsistema de E/S se encarga de planificar las
diferentes solicitudes de e/s que solicitan los procesos
y comparte el acceso a los dispositivos de manera
equitativa.
Por ejemplo: un brazo de disco situado al inicio del
disco y tres procesos solicitando acseso de lectura a
disco:
Proceso 1: solicita bloque al final del disco
Proceso 2: solicita bloque al pricipio del disco
Proseso 3: solicita bloque intermedio de disco
Solución: servir a procesos en orden 2 3 y 1.
74. La planificación de E/S.
Las solicitudes se colocan en la cola correspondiente al
dispositivo solicitado.
Cuando el kernel soporta mecanismos de e/s asíncrona
puede antender multiples solicitudes de e/s al mismo
tiempo.
El S.O asocia la cola de espera con la tabla de estado
del dispositivo
Cada entrada de la tabla indica el tipo, direció y estado
del dispositivo.
75. La planificación de E/S.
Las solicitudes se colocan en la cola correspondiente al
dispositivo solicitado.
Cuando el kernel soporta mecanismos de e/s asíncrona
puede antender multiples solicitudes de e/s al mismo
tiempo.
El S.O asocia la cola de espera con la tabla de estado del
dispositivo
Cada entrada de la tabla indica el tipo, direció y estado del
dispositivo.
76. Almacenamiento en búfer.
Es una área en memoria que almacena datos a transferir entre
dispositivos o entre dispositivos y aplicaciones. El
almacenamiento en búfer se realiza por tres razones:
1. Adaptar velocidades entre emisor y receptor.
Ej: Transmisión de un archivo vía moden a disco.
2. Adaptar dispositivos con diferentes tamaños de transferencia
de datos
EJ: transferencias de datos por red (receptor une pequeños
paquetes en búfer y recompone mensaje original).
3. Soportar la semántica de copia en la E/S de las aplicaciones:
Ej: proceso almacena en búfer datos para pasar disco (bufer se
descarga el el bufer del kernel y se pasa a disco mientras bufer
pude ser modificado)
77. Almacenamiento en caché.
Se trata de la unidad de almacenamiento temporal
que tienen los dispositivos y que permite una mayor
velocidad de tranferencia de los datos hacia la parte
física del dispositivo.
Gestión de colas y reserva de dispositivos:
El subsistema de E/S del kernel es el encaragdo de
administrar las diferentes colas de los dispositvos
asegurando que todo proceso que solicita una operación de
e/s tenga el acceso al dispositivo.
78. Tratamiento de errores
Los dispositivos y las transferencias de e/s debido a
razones transitorias (sobrecarga en la red) o
permanetes (falla de controladora de disco). Por
ejemplo si fallara la operacion read() de disco provoca
que se reintente la misma operación read().
Protección de E/S:
Para llevar a cabo una operación de e/s el programa de
usuario ejecuta una llamada al sistema para solicitar que el
S.O realice la operación de e/s y no se permite que el
programa de usuario lo realice directamente.
80. El S.O envia la solicitud al controlador software del
dispositivo y este a su vez envia dicha solicitud a la tarjeta
controladora del dispositivo (circuitería física)