Gestión de archivos y dispositivos

Anuncio
• Introducción:
Es la parte del S.O. encargada de administrar el almacenamiento secundario. Las funciones básicas que debe
realizar un sistema de gestión de archivos son:
♦ Crear un archivo, mediante la definición del nombre, el espacio necesario, etc.
♦ Borrar un archivo, liberando el espacio que este ocupaba.
♦ Abrir un archivo, se puede abrir para realizar varias operaciones(lectura, escritura, ejecución).
♦ Cerrar un archivo o fichero.
♦ Consulta.
Aparte de las funciones básicas el sistema de archivos debe proporcionar otro tipo de ayudas, como por
ejemplo:
− Compartir archivos entre los usuarios.
− Permitir la transferencia de datos de unos archivos a otros.
− Gestión de soportes físicos.
− Seguridad y protección de archivos.
− Facilitar a los usuarios la posibilidad de estructurar los archivos de la manera más adecuada.
En general, un sistema de gestión de archivos debe dar una visión lógica de la organización de los datos. Los
datos están jerarquizados según un modelo general:
&En el 1er nivel están los bit (0,1).
&En el 2º nivel está el byte o carácter(8 bits).
&En el 3er nivel está el campo, es un conjunto de caracteres relacionados.
&En el 4º nivel está el registro, son los campos relacionados.
&En el 5º nivel están los ficheros o archivos, que son registros relacionados.
&En el 6º nivel están las B.D., que son un conjunto de archivos relacionados.
Las RUTINAS BÁSICAS de un sistema de gestión de archivos son las siguientes:
• Rutina de sistema de archivo simbólico: A través del nombre del archivo se crea un identificador único.
• Rutina de archivos básicos: Mediante el identificador único se localiza la entrada del directorio básico,
que contiene el tamaño, el nº de registros, la dirección de comienzo y el tipo de acceso.
• Rutina de control de acceso: Se encarga de verificar el control del acceso al archivo.
• Rutina de asignación: Controla los bloques no utilizados en los dispositivos.
• Rutina de estrategia para dispositivos: Se encarga de convertir el nº de bloque al formato requerido por
el dispositivo.
• Rutina de planificación de E/S: Son las encargadas de realizar la lectura o escritura en el bloque
solicitado.
1
• Ficheros o Archivos.
Un fichero es un conjunto de información lógica relacionada entre si. Conjunto de bits, bytes o registros cuyo
significado lo proporciona el diseñador del fichero. Para referirnos a un fichero debemos proporcionarle un
nombre y algunas características como pueden ser el tipo de fichero, la forma de acceso, etc. Los métodos de
organización lógica más frecuentes son los siguientes:
• Organización Secuencial: Un archivo con OS es una sucesión de registros almacenados consecutivamente
sobre el soporte externo, de tal modo que para acceder al registro n es obligatorio pasar por todos los
registros n −1 que le preceden. Los registros se graban consecutivamente cuando el archivo se crea, y se
debe acceder consecutivamente cuando se leen los registros. El orden físico en el que se grabaron los
registros es el orden el que se leerán los mismos. Todos los tipos de dispositivos de memoria auxiliar
soportan la ordenación secuencial.
• Organización Secuencial Indexada: Un archivo está organizado en forma OSI si el tipo de sus registros
contiene un campo clave identificador. Los registros están situados en un soporte direccionable por el orden
de los valores indicados por la clave. Un índice para cada posición direccionable, la dirección de la posición
y el valor de la clave; En esencia el índice contiene la clave del último registro y la dirección de acceso al
primer registro del bloque.
• Organización Directa O Relativa: Un archivo está organizado de modo directo o relativo cuando el orden
físico no corresponde con el orden lógico, accede a los datos mediante su posición, es decir, el lugar
relativo que ocupa. El programador creará una relación perfectamente definida entre la clave indicativa de
cada registro y su posición física, a esto se llama función de conversión de claves o HASH.
Las operaciones que podemos realizar sobre un fichero son las siguientes:
• Creación
• Lectura
• Escritura
• Borrado.
• Modificar
• Apertura y Cierre
• Restaurar
• Editar
• Copiar
• Renombrar
3. Organización de los discos.
Nos remitimos a la organización del disco duro.
4. Planificación de los discos.
En sistemas multiprogramados se producen peticiones para leer o escribir registros de cómo puedan ser
atendidas por el sistema de discos, con lo cual es frecuente encontrarse colas de espera en los dispositivos de
discos.
La mejor planificación es aquella que requiere menos movimientos mecánicos del sistema del disco; Los
algoritmos que vamos a tratar intentan optimizar la búsqueda de información con cabezas móviles. Los
planificadores son los siguientes:
• Planificación FCFS: La primera petición que llega es la primera en servirse y no hay reordenamiento en la
cola.
2
Supongamos una cola del disco con las siguientes pistas solicitadas: 37,98,75,96,125,212,15,18 y la cabeza
de lectura y escritura está en la pista 220, veamos los movimientos que debemos hacer para atender las
peticiones. E/S=62.
62 37 98 75 96 125 212 15 18
25 61 23 21 29 87 127 3 446
• Planificación SSTF: Sirve la petición que se encuentra a la distancia más corta de la pista que se acaba de
servir. El problema de este algoritmo es que las pistas centrales reciben más atención que las exteriores.
62 75 96 98 125 212 37 18 15
13 21 2 27 87 175 19 3 347
• Planificación SCAN: Selecciona la petición que da una distancia de búsqueda más corta pero en una sola
dirección. Si mientras se van atendiendo las solicitudes aparecen otras nuevas, estas serán atendidas pero
produciendo esperas para las solicitudes anteriores. El sentido ha de ser indicado bien de forma explícita o
diciendo dónde esta la cabeza y cuál fue la última pista atendida.
62 75 96 98 125 212 220 37 18 15
• (C)LOOK: No llega a los extremos.
5. Gestión del espacio libre
Es necesario que el sistema controle los bloques libres, ya que los ficheros se crean y borran frecuentemente.
Una de las formas de tener localizados los huecos libres consiste en una lista, la cual podemos implementar de
dos formas
• Lista en la que cada bloque tiene un puntero al siguiente bloque no asignado.
B. libre Puntero
LISTA A
• Lista indicando el nº de bloques libres consecutivos que hay a continuación del bloque referenciado.
B.libre Nº Libres
LISTA B
• A través de un mapa de bits, tantos bits como bloques libres. Si es 0 está asignado, si es 1 está
asignado. Tendrá tantos bits como bloques tenga el disco. Ej: 100100101001
6. Asignación del almacenamiento:
La estrategia de asignación del almacenamiento secundario está relacionada con la eficacia de los accesos a
los ficheros. El tiempo que tarde en variarse un proceso variará en función del tiempo que se requiera para
acceder a los bloques que contienen la información necesaria. Existen 2 estrategias básicas de asignación:
• ASIGNACIÓN CONTIGUA: Cada fichero ocupa un conjunto de bloques contiguos en el disco, con la
3
dirección de comienzo y el tamaño podemos acceder a cualquier bloque del fichero. Uno de los problemas
que nos podemos encontrar con esta asignación es la asignación de espacios nuevos a ficheros.
F2
F4 = 3 bloques, no puedes meterlo
DISCO porque los 3 bloques que tienes
no son contiguos
F1
F3
• ASIGNACIÓN NO CONTIGUA: al no conocerse de antemano el tamaño de los ficheros los S.O. usan la
asignación no contigua. La forma de implantar la asignación no contigua puede ser a través de:
• Listas enlazadas: En las que cada fichero es una lista enlazada de bloques, el 1er bloque está en una
dirección marcada por un puntero de encabezamiento grabado en el directorio.
B0 = Bloque inicial del fichero
es igual a6, apunta al sig.
bloque donde continua el
fichero.
• Asignación Indexada: El directorio contiene la dirección del bloque de índices donde están
contenidos los punteros a los bloques del fichero.
4
2
3
5
6
.
.
.
3
5
4
6
8
.
.
.
2
5
8
10
13
.
.
.
1
1
0
1
5
.
.
.
5
Descargar