sábado, 21 de enero de 2012

UNIDAD 5

"ADMINISTRACIÓN DE DISPOSITIVOS DE E/S"


La administración de dispositivos comprende 4 funciones básicas:
·         Controlar el estado de cada dispositivo (como unidades de cinta, unidades de disco, impresoras, graficadores y terminales).
·       *   Utilizar políticas preestablecidas para determinar qué proceso obtendrá un dispositivo y durante cuánto tiempo.
·       *   Asignar los dispositivos.
·        *  Desasignarlos en dos niveles: en el nivel de procesos cuando se ejecute un comando de entrada/salida y el dispositivo se libera de manera permanente.

5.1 PRINCIPIOS DE HARDWARE DE I/O
Los usuarios deben poder crear, modificar y borrar archivos.
Se deben poder compartir los archivos de una manera cuidadosamente controlada.
El mecanismo encargado de compartir los archivos debe proporcionar varios tipos de acceso controlado, como lo son  “Acceso de Lectura”, “Acceso de Escritura”, “Acceso de Ejecución”, varias combinaciones de estos, etc. Se debe poder estructurar los archivos de la manera más apropiada a cada aplicación. Los usuarios deben poder ordenar la transferencia de información entre archivos.
Se deben proporcionar posibilidades de “respaldo” y “recuperación” para prevenirse contra la pérdida accidental de información, la destrucción maliciosa de información.
Se debe poder referenciar a los archivos mediante “Nombres Simbólicos”, brindando “Independencia de Dispositivos”. En ambientes sensibles, el sistema de archivos debe proporcionar posibilidades de “Cifrado” y “Descifrado”.
Es necesario proteger la información alojada en el sistema de archivos, efectuando los resguardos correspondientes.
De esta manera se evitan las consecuencias catastróficas de la perdida de los sistemas de archivos.
Las pérdidas se pueden deber a problemas de hardware. Software, hechos externos, etc.

5.1.1 DISPOSITIVOS DE I/O
Los dispositivos de periféricos del sistema generalmente entran en una de tres clases:
*Dedicados
*Compartidos
* Virtuales


Los dispositivos dedicados: se asignan sólo a un trabajo a la vez y le sirven todo el tiempo que está activo. La desventaja de los dispositivos dedicados es que se asignan a un usuario durante todo el tiempo que dure el trabajo que realiza, esto podría resultar ineficiente y es aun más ineficiente si el dispositivo no se utiliza el 100% del tiempo.

Los dispositivos compartidos: estos se puede asignar a más de un proceso. Se puede compartir cualquier dispositivo de almacenamiento de acceso directo al entrelazar sus solicitudes, en estos casos el administrador de dispositivos tiene que controlar esta acción con bastante cuidado.

Los dispositivos virtuales: son una combinación de los dispositivos dedicados y los compartidos; son dispositivos dedicados transformados en dispositivos compartidos.

Los medios de almacenamiento se dividen en dos grupos:
* Medios de almacenamiento de acceso secuencial
* Dispositivos de almacenamiento de acceso directo

Medios de almacenamiento de acceso secuencial.
El primer medio de almacenamiento fue el papel, pero su volumen y su precio hicieron que este medio resultara inaceptable para sistemas grandes. La cinta magnética se desarrollo para los primeros sistemas de cómputo de almacenamiento secundario rutinario. Estos almacenan los registros en secuencia, uno después del otro. 

Dispositivos de almacenamiento de acceso directo (DASD).
Estos son los dispositivos que pueden leer o escribir en un lugar específico en un disco (también se conocen como dispositivos de almacenamiento de acceso aleatorio). Por lo general se agrupan en dos categorías principales:
a)    Con cabezas de lectura y escritura fijas.
b)    Con cabezas de lectura y escritura móviles

DASD de cabeza fija.
Los primeros DASD eran tambores registrables magnéticamente. Estos eran en forma de una lata de café gigante, cubierta con película magnética y formato, de manera que las pistas corren a su alrededor. Los tambores de cabeza fija eran muy rápidos ya que utilizaban una cabeza de lectura/escritura para cada pista, pero también su valor era muy costoso y no contenían tantos datos como otros DASD, lo cual hizo que su popularidad descendiera.

DASD de cabeza móvil.
Los tambores de cabeza móvil sólo tienen unas cuantas cabezas de lectura/escritura que se mueven de una pista a otra para cubrir la superficie del tambor. Mientras menos cabezas móviles tengan el tambor, menos es su valor.

Almacenamiento óptico en disco.
Las unidades de disco óptico utilizan un rayo láser para leer y escribir los discos de varias capas. El rayo láser que utiliza es de alta intensidad para quemar perforaciones (indentaciones) y pistas (áreas planas) en el disco que representan unos y ceros, respectivamente.

5.1.2 CONTROLADORES DE DISPOSITIVOS

Un controlador de dispositivo (llamado normalmente controlador, o, en inglés, driver) es un programa informático que permite al sistema operativo interactuar con un periférico, haciendo una abstracción del hardware y proporcionando una interfaz -posiblemente estandarizada- para usarlo. Se puede esquematizar como un manual de instrucciones que le indica cómo debe controlar y comunicarse con un dispositivo en particular. Por tanto, es una pieza esencial, sin la cual no se podría usar el hardware.


5.2 PRINCIPIOS DE SOFTWARE DE I/O
Los principios de software en la entrada - salida se resumen en cuatro puntos,  el software debe ofrecer:
·         manejadores de interrupciones,
·         manejadores de dispositivos,
·         software que sea independiente de los dispositivos y
·         software para usuarios.
5.2.1 OBJETIVOS DEL SOFTWARE DE I/O

Un concepto clave es la independencia del dispositivo:
Debe ser posible escribir programas que se puedan utilizar con archivos en distintos dispositivos, sin tener que modificar los programas para cada tipo de dispositivo. El problema debe ser resuelto por el S. O. El objetivo de lograr nombres uniformes está muy relacionado con el de independencia del dispositivo. Todos los archivos y dispositivos adquieren direcciones de la misma forma, es decir mediante el nombre de su ruta de acceso.
Otro aspecto importante del software es el manejo de errores de e / s: Generalmente los errores deben manejarse lo más cerca posible del hardware. Solo si los niveles inferiores no pueden resolver el problema, se informa a los niveles superiores. Generalmente la recuperación se puede hacer en un nivel inferior y de forma transparente.
Otro aspecto clave son las transferencias síncronas (por bloques) o asíncronas (controlada por interruptores): La mayoría de la e / s es asíncrona: la CPU inicia la transferencia y realiza otras tareas hasta una interrupción. La programación es más fácil si la e / s es síncrona (por bloques): el programa se suspende automáticamente hasta que los datos estén disponibles en el buffer.

5.2.2. MANEJADORES DE INTERRUPCIONES
El primer objetivo referente a los manejadores de interrupciones consiste en que el programador o el usuario no debe darse cuenta de los manejos de bajo nivel para los casos en que el dispositivo está ocupado y se debe suspender el proceso o sincronizar algunas tareas. Desde el punto de vista del proceso o usuario, el sistema simplemente se tardó más o menos en responder a su petición.
Su función es salvar los registros, comunicar el evento al manejador del dispositivo y restaurar la ejecución de un proceso. Cuando una interrupción ocurre muy frecuentemente, caso del reloj, o cuando la cantidad de información a transferir es muy pequeña, en el caso del teclado, sería muy costoso comunicar siempre el evento al manejador de dispositivo asociado. En estos casos, el propio manejador de interrupción registra la ocurrencia del evento, bien mediante el incremento de una variable global para el reloj o la acumulación de caracteres en un buffer del teclado. La notificación al manejador se hace únicamente cada cierto número de ocurrencias del evento, el caso del reloj, o activando un flag que indica que hay datos en el buffer del teclado.

5.2.3 MANEJADOR DE DISPOSITIVOS
El sistema debe proveer los manejadores de dispositivos necesarios para los periféricos, así como ocultar las peculiaridades del manejo interno de cada uno de ellos, tales como el formato de la información, los medios mecánicos, los niveles de voltaje y otros. Por ejemplo, si el sistema tiene varios tipos diferentes de discos duros, para el usuario o programador las diferencias técnicas entre ellos no le deben importar, y los manejadores le deben ofrecer el mismo conjunto de rutinas para leer y escribir datos.
Todo el código que depende de los dispositivos aparece en los manejadores de dispositivos. La solicitud de e / s, por ej. Para un disco, se debe traducir de términos abstractos a términos concretos. Cada controlador posee uno o más registros de dispositivos:
• Se utilizan para darle los comandos.
• Los manejadores de dispositivos proveen estos comandos y verifican su ejecución adecuada. La labor de un manejador de dispositivos es la de:
• Aceptar las solicitudes abstractas que le hace el software independiente del dispositivo.
• Verificar la ejecución de dichas solicitudes. Si al recibir una solicitud el manejador está ocupado con otra solicitud, agregara la nueva solicitud a una cola de solicitudes pendientes.

5.2.4 SOFTWARE DE I/O INDEPENDIENTE DE DISPOSITIVOS
Este es un nivel superior de independencia que el ofrecido por los manejadores de dispositivos. Aquí el sistema operativo debe ser capaz, en lo más posible, de ofrecer un conjunto de utilerías para accesar periféricos o programarlos de una manera consistente. Por ejemplo, que para todos los dispositivos orientados a bloques se tenga una llamada para decidir si se desea usar 'buffers' o no, o para posicionarse en ellos.

5.2.5 ESPACIO DEL USUARIO PARA SOFTWARE DE I/O
La mayoría de las rutinas de entrada - salida trabajan en modo privilegiado, o son llamadas al sistema que se ligan a los programas del usuario formando parte de sus aplicaciones y que no le dejan ninguna flexibilidad al usuario en cuanto a la apariencia de los datos. Existen otras librerías en donde el usuario si tiene poder de decisión (por ejemplo la llamada a "printf" en el lenguaje  "C"). Otra facilidad ofrecida son las áreas de trabajos encolados (spooling areas), tales como las de impresión y correo electrónico.


5.3 DISCOS RAM
El disco RAM o unidad RAM es una unidad de disco que usa una zona de memoria RAM del sistema como almacenamiento secundario en lugar de un medio magnético (como los discos duros y las disqueteras) o memoria flash, implementada como un controlador de dispositivo más. El tiempo de acceso mejora drásticamente, debido a que la memoria RAM es varios órdenes de magnitud más rápida que las unidades de disco reales. Sin embargo, la volatilidad de la memoria RAM implica que los datos almacenados en un disco RAM se perderán si falla la alimentación (por ejemplo, cuando el ordenador se apaga). Los discos RAM suelen usarse para almacenar datos temporales o para guardar programas descomprimidos durante cortos periodos.
La adecuada implementación de un caché de disco suele obviar las motivaciones relacionadas con el rendimiento que impulsan a usar un disco RAM, adoptando un papel parecido (acceso rápido a los datos que en realidad residen en un disco) sin sus varias desventajas (pérdida de datos en caso de apagado, particionado estático, etcétera).
Otra forma de usar memoria RAM para almacenar ficheros es el sistema de ficheros temporal. La diferencia entre éste y un disco RAM es que el segundo es de tamaño fijo y funciona como una partición más, mientras el sistema de ficheros temporal cambia su tamaño bajo demanda para ajustarse al espacio necesario para albergar los ficheros guardados en él.

5.4 DISCOS DUROS

El disco duro es un dispositivo de almacenamiento no volátil, es decir conserva la información que le ha sido almacenada de forma correcta aun con la perdida de energía, emplea un sistema de grabación magnética digital, es donde en la mayoría de los casos se encuentra almacenado el sistema operativo de la computadora.
En este tipo de disco se encuentra dentro de la carcasa una serie de platos metálicos apilados girando a gran velocidad. Sobre estos platos se sitúan los cabezales encargados de leer o escribir los impulsos magnéticos. Hay distintos estándares a la hora de comunicar un disco duro con la computadora. Existen distintos tipos de interfaces las más comunes son: Integrated Drive Electronics (IDE, también llamado ATA) , SCSI generalmente usado en servidores, SATA, este último estandarizado en el año 2004 y FC exclusivo para servidores.

5.4.1 HARDWARE DE DISCOS
Estructura física: cabezas, cilindros y sectores
Cada una de las dos superficies magnéticas de cada plato se denomina cara. El número total de caras de un disco duro coincide con su número de cabezas. Cada una de estas caras se divide en anillos concéntricos llamados pistas.
En los discos duros se suele utilizar el término cilindro para referirse a la misma pista de todos los discos de la pila. Finalmente, cada pista se divide en sectores.
Los sectores son las unidades mínimas de información que puede leer o escribir un disco duro. Generalmente, cada sector almacena 512 bytes de información.
El número total de sectores de un disco duro se puede calcular: nº sectores = nº caras * nº pistas/cara * nº sectores/pista. Por tanto, cada sector queda unívocamente determinado si conocemos los siguientes valores: cabeza, cilindro y sector.
Las cabezas y cilindros comienzan a numerarse desde el cero y los sectores desde el uno. En consecuencia, el primer sector de un disco duro será el correspondiente a la cabeza 0, cilindro 0 y sector 1.

5.4.2 SOFTWARE PARA DISCOS
Muchos de los problemas comunes que existen con los discos duros son solucionables mediante las utilidades o programas que cada fabricante pone al alcance de sus usuarios. De igual modo, todos los fabricantes ponen a disposición una utilidad de diagnóstico para comprobar la integridad del disco y si tiene algún fallo irreparable, con lo que certifica su defunción o el momento de tirar de garantía.

Existen programas o utilidades más comunes por los diferentes fabricantes, así como programas de recuperación de datos tras la pérdida de una de tablas de partición, o borrado accidental de datos.

5.5 RELOJES
Los relojes son el medio por el cual funciona la CPU. Básicamente todo sistema de computadora cuenta con un cristal de cuarzo que vibra a determinada frecuencia. Incluso, cuando se compra un procesador, lo primero que se hace es saber a qué velocidad de reloj trabajará éste.
El reloj físicamente es un circuito integrado que emite una cantidad de pulsos por segundo, de manera constante. Al número de pulsos que emite el reloj cada segundo se llama Frecuencia del Reloj.
La frecuencia del reloj se mide en Ciclos por Segundo, también llamados Hertzios, siendo cada ciclo un pulso del reloj. Como la frecuencia del reloj es de varios millones de pulsos por segundo se expresa habitualmente en Megaherzios.
El reloj marca la velocidad de proceso de la computadora generando una señal periódica que es utilizada por todos los componentes del sistema informático para sincronizar y coordinar las actividades operativas, evitando el que un componente maneje unos datos incorrectamente o que la velocidad de transmisión de datos entre dos componentes sea distinta.
Cuanto mayor sea la frecuencia del reloj mayor será la velocidad de proceso de la computadora y podrá realizar mayor cantidad de instrucciones elementales en un segundo.
El rango de frecuencia de los microprocesadores oscila entre los 4,77 megaherzios del primer PC diseñado por IBM y los 200 megaherzios de las actuales computadoras basadas en los chips Intel Pentium.

5.5.1 HARDWARE DE RELOJ
Una computadora personal tiene un reloj de hardware alimentado por una batería. Esa batería asegura que el reloj continúe trabajando aún cuando la computadora se encuentre sin suministro eléctrico. El reloj de hardware puede ser modificado (o definido) desde la pantalla de configuración de la BIOS o desde cualquier sistema operativo.
El reloj de hardware puede estar en formato de hora local u hora universal. Usualmente es mejor que el reloj de hardware mantenga la hora universal, porque de esta manera no será necesario modificar la hora del reloj cuando el "horario de verano" (daylight savings time) empiece o finalice (UTC no tiene DST). Desafortunadamente, algunos sistemas operativos de PC (incluyendo a MS-DOS, Windows y OS/2) asumen que el reloj de hardware muestra la hora local.



5.5.2 SOFTWARE DE RELOJ
El software para reloj toma generalmente la forma de un manejador de dispositivo, aunque no es un dispositivo de bloque ni de carácter. Los relojes más sencillos trabajan con la línea de corriente eléctrica de 110 o 220 voltios y provocan una interrupción por cada ciclo de voltaje, a 50 o 60 hz.
Otro tipo de relojes consta de tres componentes:
·         Un oscilador de cristal, un contador y un registro.
·         Una pieza de cristal de cuarzo se monta en una estructura bajo tensión:
·         Genera una señal periódica de muy alta precisión, generalmente entre 5 y 100 mhz.
La señal se alimenta en el contador para que cuente en forma descendente hasta cero. Cuando el contador llega a cero, provoca una interrupción de la cpu.
Los relojes programables tienen varios modos de operación:
·         Modo de una instancia:
·         Cuando el reloj se inicializa, copia el valor del registro en el contador.
·         Decrementa el contador en cada pulso del cristal.
·         Cuando el contador llega a cero provoca una interrupción y se detiene hasta ser nuevamente inicializado por el software.

Modo de onda cuadrada:
Luego de llegar a cero y provocar la interrupción, el registro se copia de manera automática en el contador. Todo el programa se repite en forma indefinida. Las interrupciones periódicas se llaman marcas del reloj.
La ventaja del reloj programable es que su frecuencia de interrupción puede ser controlada por el software. Las principales funciones del software manejador del reloj son:
·         Mantener la hora del día o tiempo real.
·         Evitar que los procesos se ejecuten durante más tiempo del permitido.
·         Mantener un registro del uso de la cpu.
·         Controlar llamadas al sistema tipo “alarm” por parte de los procesos del usuario.
·         Proporcionar cronómetros guardianes de partes del propio sistema.
·         Realizar resúmenes, monitoreo y recolección de estadísticas.

5.5.3 MANEJADOR DEL RELOJ

Las principales funciones del software manejador del reloj son:
·         Mantener la hora del día o tiempo real
·         Evitar que los procesos se ejecuten durante más tiempo del permitido
·         Mantener un registro del uso de la CPU
·         Controlar llamadas al sistema tipo “alarma” por parte de los procesos del usuario
·         Proporcionar cronómetros guardianes de partes del propio sistema
·          Realizar resúmenes, monitoreo y recolección de estadísticas

El software manejador del reloj puede tener que simular varios relojes virtuales con un único reloj físico.

5.6. TERMINALES

Dispositivo del hardware electrónico o electromecánico que se usa para introducir o mostrar datos de una computadora. Su función es mostrar y recibir datos con capacidad significativa del procesador de datos, puede ser llamado “Terminal inteligente o cliente ligero”.
Una computadora puede ejecutar software que envié la función de un terminal en ocasiones permitiendo el uso simultaneo de programas locales y acceso a un servidor.
La función de un terminal está confinada a la exhibición y entrada de datos; un dispositivo con una significativa capacidad local programable de procesamiento de datos puede ser llamado un "terminal inteligente". Un terminal que depende del computador huésped para su capacidad de procesamiento es llamado cliente ligero personal" computador personal puede correr un software la función de un terminal, permitiendo a veces el uso concurrente de programas locales y el acceso a un distante sistema huésped de terminal

5.6.1 HARDWARE DE TERMINALES

Un terminal IP suele ser un dispositivo hardware con forma de teléfono, aunque con la diferencia de que utiliza una conexión de red de datos, en lugar de una conexión de red telefónica.
Suelen tener más opciones y ventajas que un teléfono convencional. Al ser un sistema completamente digital y programable, suelen tener teclas especiales perfectamente configurables mediante un sistema de administración que puede ser accedido mediante telnet.

Algunos incluyen cámara de vídeo para poder realizar videoconferencias. Disponen de una dirección IP a la que se puede acceder y mediante la que se puede configurar como si fuese un ordenador más. Por lo que, al considerarse un sistema más dentro de la red, suelen aplicárseles las características típicas de grandes redes. Los ATA son pequeños dispositivos que permiten conectar un teléfono analógico/ a una red de .

Disponen de un sistema de administración y gestión similar a los teléfonos IP por lo que disponen también de una dirección IP, y las mismas ventajas que cualquier terminal IP.
Son similares a los teléfonos móviles (o celulares) y permiten utilizar redes inalámbricas para conectarse al servidor de. Estos últimos aun no están muy desarrollados, pero pronto empezaremos a ver una gran expansión de los teléfonos móviles habituales con soporte WI-FI que permitirán utilizarla para realizar llamadas en lugar de las operadoras telefónicas.

5.6.2 MANEJADORES
Frecuentemente los manejadores de terminales soportan operaciones tales como:
  • Mover el cursor hacia arriba, abajo, a la izquierda o a la derecha una posición.
  • Mover el cursor a x,y.
  • Insertar un carácter o una línea en el cursor.
  • Eliminar un carácter o una línea en el cursor.
  • Recorrer la pantalla hacia arriba o hacia abajo “n” líneas.
  • Limpiar la pantalla desde el cursor hacia el final de la línea o hasta el final de la pantalla.
  • Trabajar en modo de video inverso, subrayado, parpadeo o normal.
  • Crear, construir, mover o controlar las ventanas.
El manejador de la terminal es el archivo más grande de MINIX. Este acepta cinco mensajes:
1. Lectura de caracteres desde la terminal (del sistema de archivo a la mitad de un proceso de usuario).
2. Escritura de caracteres en la terminal (del sistema de archivo a la mitad de un proceso de usuario).
3. Fijación de los parámetros de la terminal para ioctl (del sistema de archivo a la mitad de un proceso de usuario).
4. Carácter disponible (del proceso de interrupción).
5. Cancelación de la solicitud de lectura anterior (del sistema de archivo cuando ocurra una señal).



No hay comentarios: