lunes, 23 de noviembre de 2015

5.3.- Componentes de un Sistema de Archivos.

5.3.- Componentes de un Sistema de Archivos.

Un “Archivo” es un conjunto de registros relacionados.

*   El “Sistema de Archivos” es un componente importante de un S. O. y suele contener:
*  “Métodos de acceso” relacionados con la manera de acceder a los datos almacenados en archivos.
*  “Administración de archivos” referida a la provisión de mecanismos para que los archivos sean almacenados, referenciados, compartidos y asegurados.
*  “Administración del almacenamiento auxiliar” para la asignación de espacio a los archivos en los dispositivos de almacenamiento secundario.
* “Integridad del archivo” para garantizar la integridad de la información del archivo.

El sistema de archivos está relacionado especialmente con la administración del espacio de almacenamiento secundario, fundamentalmente con el almacenamiento de disco.

organización de un sistema de archivos:

Se utiliza una “raíz” para indicar en qué parte del disco comienza el “directorio raíz”.
El “directorio raíz” apunta a los “directorios de usuarios”.
Un “directorio de usuario” contiene una entrada para cada uno de los archivos del usuario.
Cada entrada de archivo apunta al lugar del disco donde está almacenado el archivo referenciado.
Los nombres de archivos solo necesitan ser únicos dentro de un directorio de usuario dado.
El nombre del sistema para un archivo dado debe ser único para el sistema de archivos.

En sistemas de archivo “jerárquicos” el nombre del sistema para un archivo suele estar formado como el “nombre de la trayectoria” del directorio raíz al archivo.
Archivos
Se considerará el punto de vista del usuario.
Nombre de los Archivos
Las reglas exactas para los nombres de archivos varían de sistema a sistema.
Algunos sistemas de archivos distinguen entre las letras mayúsculas y minúsculas, mientras que otros no.
Muchos SO. utilizan nombres de archivo con dos partes, separadas por un punto:
La parte posterior al punto es la extensión de archivo y generalmente indica algo relativo al archivo, aunque las extensiones suelen ser meras convenciones.
Estructura de un Archivo
Los archivos se pueden estructurar de varias maneras, las más comunes son:
“Secuencia de bytes”: El archivo es una serie no estructurada de bytes.
Posee máxima flexibilidad.
El SO. no ayuda pero tampoco estorba. “Secuencia de registros”:
El archivo es una secuencia de registros de longitud fija, cada uno con su propia estructura interna.
“Árbol”:
El archivo consta de un árbol de registros, no necesariamente de la misma longitud.
Cada registro tiene un campo key (llave o clave) en una posición fija del registro.
El árbol se ordena mediante el campo de clave para permitir una rápida búsqueda de una clave particular.
Tipos de Archivos
Muchos S. O. soportan varios tipos de archivos, por ej.: archivos regulares, directorios, archivos especiales de caracteres, archivos especiales de bloques, etc.

5.2.- Noción de Archivo Real y Virtual.

5.2.- Noción de Archivo Real y Virtual.

Los componentes del sistema de archivos y de programación permiten interactuar con los recursos del sistema de archivos y de directorio y provocar eventos en intervalos programados. Las instancias del componente File System Watcher permiten inspeccionar cambios en los directorios y archivos y reaccionar cuando se producen.

El componente Timer permite configurar programaciones simples de producción de eventos y ejecutar el procesamiento asociado.

5 UNIDAD SISTEMAS DE ARCHIVOS

5.1 Introducción


Todas las aplicaciones computarizadas necesitan almacenar y recuperar la información:
Superando las limitaciones del almacenamiento real. Trascendiendo a la duración de los procesos que las utilizan o generan. Independizando a la información de los procesos permitiendo el acceso a la misma a través de varios procesos. Las condiciones esenciales para el almacenamiento de la información a largo plazo son:

Debe ser posible almacenar una cantidad muy grande de información. La información debe sobrevivir a la conclusión del proceso que la utiliza. Debe ser posible que varios procesos tengan acceso concurrente a la información. La solución es el almacenamiento de la información en discos y otros medios externos en unidades llamadas archivos: Los archivos deben ser persistentes, es decir que no deben verse afectados por la creación o terminación de un proceso. Los archivos son una colección de datos con nombre. Pueden ser manipulados como una unidad por operaciones como: open, close, create, destroy, copy, rename, list. Los elementos de datos individuales dentro del archivo pueden ser manipulados por operaciones como: read, write, update, insert, delete. 


El “Sistema de Archivos” es la parte del sistema de administración del almacenamiento responsable, principalmente, de la administración de los archivos del almacenamiento secundario. Es la parte del S. O. responsable de permitir “compartir controladamente” la información de los archivos.

4.4 Operaciones de entrada y salida

Cuando se utiliza acceso directo a memoria, es el controlador el que se encarga directamente de transferir los datos entre el periférico y la memoria principal, sin requerir intervención alguna por parte del procesador. Esta técnica funciona de la siguiente manera: cuando el procesador desea que se imprima un bloque de datos, envía una orden al controlador indicándole la siguiente información:
  • Tipo de operación: lectura o escritura.
  •  Periférico involucrado en la operación.
  • La dirección de memoria desde la que se va a leer o a la que va a escribir directamente con el controlador de dispositivo (dirección).
  • El número de bytes a transferir (contador).
Existen varias operaciones, las más importantes son las siguientes:
  • Lectura: el canal transfiere a memoria principal un bloque de palabras de tamaño especificado en el campo nº de palabras, en orden ascendente de direcciones, empezando en la dirección especificada en el campo dirección del dato.
  • Escritura: el canal transfiere datos de memoria principal al dispositivo. Las palabras se transfieren en el mismo orden que en la operación de lectura.
  • Control: se utiliza esta orden para enviar instrucciones específicas al dispositivo de E/S, como rebobinar una cinta magnética, etc.
  • Bifurcación: cumple en el programa de canal la misma función que una instrucción de salto en un programa normal. El canal ejecuta las CCW en secuencia, salvo cuando aparece una CCW de este tipo, que utiliza el campo dirección del dato como la dirección de la siguiente CCW a ejecutar.
Los pasos a seguir en una operación de E/S con DMA son los siguientes:

1. Programación de la operación de E/S. Se indica al controlador la operación, los datos a transferir y la dirección de memoria sobre la que se efectuará la operación.

2. El controlador contesta aceptando la petición de E/S.

3. El controlador le ordena al dispositivo que lea (para operación de lectura) una cierta cantidad de datos desde una posición determinada del dispositivo a su memoria interna.

4. Cuando los datos están listos, el controlador los copia a la posición de memoria que tiene en sus registros, incrementa dicha posición de memoria y decremento el contador de datos pendientes de transferir.

5. Los pasos 3 y 4 se repiten hasta que no quedan más datos por leer.
6. Cuando el registro de contador está a cero, el controlador interrumpe a la UCP para in dicar que la operación de DMA ha terminado.

4.3 Mecanismos y funciones de los manejadores de dispositivos: Device Drivers.

Estructura simple o sistema monolítico


Estructura simple es la utilizada por la versión original de UNIX, esta consiste de dos partes separadas, el kernel y los programas de sistemas. El kernel fue posteriormente separado en manejadores (drivers) de dispositivos y una serie de interfaces. El kernel provee el sistema de archivos, la programación de CPU, el administrador de memoria y otras funciones del sistema operativo que responden a las llamadas del sistema enunciadas anteriormente. 


Estructura por capas (layers)

        Las nuevas versiones de UNIX se diseñaron para hardware más avanzado. Para dar mayor soporte al hardware, los sistemas operativos se dividieron en pequeñas partes. Ahora los sistemas operativos tienen mayor control sobre el hardware y las aplicaciones que se ejecutan sobre este.

        La modularizacion de un sistema se puede presentar de varias formas, la más utilizada es la de capas, la cual consiste en dividir al sistema operativo en un número de capas. La capa de menor nivel es el hardware y la de mayor nivel es la interfaz con el usuario.
        La principal ventaja es que cada capa cumple con una serie de funciones y servicios que brinda a las otras capas, esto permite una mejor organización del sistema operativo y una depuración más fácil de este. 
 Es una estructura organizada jerárquicamente cada una construidas de menor a mayor.

BUFFERING (uso de memoria interna)

Trata de mantener ocupados tanto la CPU como los dispositivos de E/S. Los datos se leen y se almacenan en un buffer, una vez que los datos se han leído y la CPU va a iniciar inmediatamente la operación con ellos, el dispositivo de entrada es introducido para iniciar inmediatamente la siguiente lectura.

La CPU y el dispositivo de entrada permanecen ocupados. Cuando la CPU este libre para el siguiente grupo de datos, el dispositivo de entrada habrá terminado de leerlos. La CPU podrá empezar el proceso de los últimos datos leídos, mientras el dispositivo de entrada iniciara la lectura de los datos siguientes.
SPOOLING

Esta forma de procesamiento de denomina spooling, utiliza el disco como un buffer muy grade para leer tan por delante como sea posible de los dispositivos de entrada y para almacenar los ficheros hasta que los dispositivos de salida sean capaces de aceptarlos.

Manejadores de interrupción

Los manejadores de interrupción se encargan de tratar las interrupciones que generan los controladores de dispositivos una vez que éstos están listos para la transferencia de datos o bien han leído o escrito los datos de memoria principal en caso de acceso directo a memoria. Para tratar dicha interrupción se ejecuta el correspondiente manejador de interrupción cuyo efecto es el de salvar los registros, comunicar el evento al manejador del dispositivo y restaurar la ejecución de un proceso (que no tiene por qué ser el interrumpido).

4.2 Mecanismos y funciones de los manejadores de dispositivos: Device Drivers

El controlador es el componente más importante desde el punto de vista del sistema operativo, ya que constituye la interfaz del dispositivo con el bus de la computadora y es el componente que se ve desde la CPU. El Sistema Operativo generalmente trabaja con el controlador y no con el dispositivo.

               Técnicas de E/S

E/S programada: El procesador emite una orden de E/S de parte de un proceso a un módulo de E/S; el proceso espera entonces a que termine la operación, antes de seguir.

E/S dirigida por interrupciones: El procesador emite una orden de E/S de parte de un proceso, continua la ejecución de las instrucciones siguientes y el módulo de E/S lo interrumpe cuan do completa su trabajo. Las instrucciones siguientes pueden ser del mismo proceso, si no es necesario para este esperar la terminación de E/S. en otro caso, el proceso se suspende a la espera de la interrupción, mientras se realiza otro trabajo.

Funciones generalmente realizadas por el software:


·         Interfaz uniforme para los manejadores de dispositivos.
·         Nombres de los dispositivos.
·         Protección del dispositivo.
·        Proporcionar un tamaño de bloque independiente del              dispositivo.
·         Uso de buffer.
·         Asignación de espacio en los dispositivos por bloques.
·        Asignación y liberación de los dispositivos de uso              exclusivo.
·         Informe de errores.

4 UNIDAD DISPOSITIVOS Y MANEJADORES DE DISPOSITIVOS DEVICE DRIVER

Se denomina periféricos a los aparatos o dispositivos auxiliares e independientes conectados a la unidad central de procesamiento de una computadora.
Se consideran periféricos tanto a las unidades o dispositivos a través de los cuales la computadora se comunica con el mundo exterior, como a los sistemas que almacenan o archivan la información, sirviendo de memoria auxiliar de la memoria principal.



   


   dos categorías:

  • Dispositivos de bloques: dispositivos que almacenan la información en bloques de tamaño fijo (discos).
  • Dispositivos de caracteres: maneja la información mediante un flujo de caracteres sin estructurarlos en bloques (mouse, teclado, impresora).  
       características de los dispositivos de bloque son:

  • La información se almacena en bloques de tamaño fijo.
  • Cada bloque tiene su propia dirección.
  • Los tamaños más comunes de los bloques van desde los 128 bytes hasta los 1.024 bytes.
  • Se puede leer o escribir en un bloque de forma independiente de los demás, en cualquier momento.
  • Un ejemplo típico de dispositivos de bloque son los discos.
     características de los dispositivos de carácter son:

  • La información se transfiere como un flujo de caracteres, sin sujetarse a una estructura de bloques.
  • No se pueden utilizar direcciones.
  • No tienen una operación de búsqueda.
  • Un ejemplo típico de dispositivos de carácter son las impresoras de línea, terminales, interfaces de una red, ratones, etc.

  dispositivos de entrada/salida

  • Dispositivos de interfaz de usuario. Se llama así a los dispositivos que permiten la comunicación entre los usuarios y la computadora. Dentro de este grupo se incluyen todos los dispositivos que sirven para proporcionar interfaz con el usuario, tanto para entrada (ratón, teclado, etc.) como para salida (impresoras, pantalla, etc.). Existen periféricos menos habituales, pero más sofisticados, tales como un escáner, lectores de huella digital, lectores de cinta magnética, instrumentos musicales digitales (MIDI), etc.
  • Dispositivos de almacenamiento. Se usan para proporcionar almacenamiento no volátil de datos y memoria. Su función primordial es abastecer de datos y almacenamiento a los programas que se ejecutan en la CPU. Según su capacidad y la inmediatez con que se puede acceder a los datos almacenados en estos dispositivos, se pueden dividir en almacenamiento secundario (discos y disquetes) y terciario (cintas).

  • Dispositivos de comunicaciones: Permiten conectar a la computadora con otras computadoras a través de una red. Los dos tipos de dispositivos más importantes de esta clase son los módem, para comunicación vía red telefónica, y las tarjetas de interfaz a la red, para conectar la computadora a una red de área local.