RSS

viernes, 11 de diciembre de 2009

CUESTIONARIO UNIDAD 5



1. ¿Qué tipo de archivos se utilizan para el modelado de puertos?
Los archivos especiales de caracteres
2. ¿Que son las terminales?
En general se denomina terminal al conjunto formado por un teclado y una pantalla
Conectados a la computadora para producir datos a través del primero y recibirlos a través de la segunda.
Las terminales pueden dividirse en dos categorías las que de conectan a través del estándar RS-232, y los mapeados en memoria.
3. Menciona las 4 capas de los objetivos de software
Manejador de interrupción
Controladores de dispositivos
Software de S.O independiente del software
Software del usuario
4. ¿Cuál es la función del manejador interrupción?
Ocultarse en el S.O con el fin de reducir el mismo aspecto del sistema que tiene conocimiento de ellas
5. ¿Con que están comunicados los manejadores de dispositivos una vez que están listos?
Dispositivos periféricos y sus controladores
6. ¿Cuál es la frontera exacta entre los controladores de dispositivos y el software independiente?
La frontera podría efectuase realmente en los primeros controladores de software por razones de eficiencia y de otro tipo.
7. ¿Qué proporciona el disco RAM?
Proporciona el acceso a cualquier parte de la memoria
8. ¿Cuál es la aplicación principal del controlador?
Reservar una parte de la memoria para ser usada como disco ordinario
9. ¿Cuál es requisito principal para que pueda utilizarse un disco duro?
Debe relacionar el formato de bajo nivel efectuado por el software, en el cual cada pista contiene cierto número de sectores con espacios cortos entre ellos
10. En cuanto al hardware del disco ¿A qué se refiere la planificación?
Implica tener un tiempo de acceso breve y gran ancho de banda en el disco.
11. ¿Para qué sirven los relojes?
Son esenciales para el funcionamiento del sistema de tiempo compartido los relojes mantienen la hora del día y evitan que un proceso se monopolice de la CPU.
12. Mencione las obligaciones que hacen el controlador del reloj:

  • Mantienen la hora del día
  • Evita que los procesos se ejecuten durante el tiempo debido
  • Contabiliza la utilización de la CPU
  • Maneja la llamada del sistema alarm entidad por el proceso del usurario
  • Provee temporizadores de vigilancia aparte del sistema mismo
  • Prepara perfiles, vigila y recaba datos estadísticos

jueves, 10 de diciembre de 2009

UNIDAD 5 ADMINISTRACION DE DISPOSITIVOS DE E/S

PRINCIPIOS DEL HARDWARE DE ENTRADA Y SALIDA (E/S)

Distintas personas analizan de varias maneras el hardware de Entrada y Salida. Los ingenieros eléctricos lo hacen en términos de chips, cables, fuentes de poder, etc. Los programadores se fijan en la interfaz que se presenta al software (los comandos que acepta el hardware, las funciones que realiza y los errores que puede informar. En este trabajo nos interesaremos por la programación de los dispositivos de entrada y salida no por su diseño, construcción o mantenimiento, así nuestro interés estará restringido a la forma de programar el hardware y no su funcionamiento interno. Sin embargo es frecuente que la programación de muchos dispositivos de entrada y salida este íntimamente ligada con su operación interna.

DISPOSITIVOS DE ENTRADA Y SALIDA



Los dispositivos de entrada y saluda se pueden dividir de manera general en dos categorías: dispositivos de bloque y dispositivos de carácter.
Dispositivo de Bloque: Es aquel que almacena la información en bloques de tamaño fijo, cada uno con su propia dirección. Los tamaños comunes de los bloques van desde 128 bytes hasta 1024 bytes. La propiedad esencial de un dispositivo de bloque es la posibilidad de leer o escribir en un bloque de forma independiente de los demás, es decir, el programa puede leer o escribir en cualquiera de los bloques.
Entre los dispositivos de bloque se pueden encontrar:
• CD - ROM: Acrónimo de Compact Disc-Read Only Memory. Estándar de almacenamiento de archivos informáticos en disco compacto. Se caracteriza por ser de sólo lectura. Otros estándares son el CD-R o WORM (permite grabar la información una sola vez), el CD-DA (permite reproducir sonido), el CD-I (define una plataforma multimedia) y el PhotoCD (permite visualizar imágenes estáticas).
• Disco Duro: Los discos duros proporcionan un acceso más rápido a los datos que los discos flexibles y pueden almacenar mucha más información. Al ser las láminas rígidas, pueden superponerse unas sobre otras, de modo que una unidad de disco duro puede tener acceso a más de una de ellas. La mayoría de los discos duros tienen de dos a ocho láminas. Un disco duro normal gira a una velocidad de 3.600 revoluciones por minuto y las cabezas de lectura y escritura se mueven en la superficie del disco sobre una burbuja de aire de una profundidad de 10 a 25 millonésimas de pulgada. El disco duro va sellado para evitar la interferencia de partículas en la mínima distancia que existe entre las cabezas y el disco.
• Disquete o Disco flexible: Es un elemento plano de mylar recubierto con óxido de hierro que contiene partículas minúsculas capaces de mantener un campo magnético, y encapsulado en una carcasa o funda protectora de plástico. La información se almacena en el disquete mediante la cabeza de lectura y escritura de la unidad de disco, que altera la orientación magnética de las partículas. La orientación en una dirección representa el valor binario 1, y la orientación en otra el valor binario 0. Dependiendo de su capacidad, un disco de este tipo puede contener desde algunos cientos de miles de bytes de información hasta casi tres millones (2,88 Mb). Un disco de 3y pulgadas encerrado en plástico rígido se denomina normalmente disquete pero puede llamarse también disco flexible.
Dispositivo de Carácter: Es aquel que envía o recibe un flujo de caracteres, sin sujetarse a una estructura de bloques. No se pueden utilizar direcciones ni tienen una operación de búsqueda.
Entre los dispositivos de carácter se pueden mencionar:
• Mouse: Es el segundo dispositivo de entrada más utilizado. El mouse o ratón es arrastrado a lo largo de una superficie para maniobrar un apuntador en la pantalla del monitor. Fue inventado por Douglas Engelbart y su nombre se deriva por su forma la cual se asemeja a la de un ratón.
• Monitores: El monitor ó pantalla de vídeo, es el dispositivo de salida más común. Hay algunos que forman parte del cuerpo de la computadora y otros están separados de la misma. Existen muchas formas de clasificar los monitores, la básica es en término de sus capacidades de color, pueden ser: Monocromáticos, despliegan sólo 2 colores, uno para el fondo y otro para la superficie. Los colores pueden ser blanco y negro, verde y negro ó ámbar y negro. Escala de Grises, un monitor a escala de grises es un tipo especial de monitor monocromático capaz de desplegar diferentes tonos de grises. Color: Los monitores de color pueden desplegar de 4 hasta 1 millón de colores diferentes
• Impresoras de Línea: de línea: Son rápidas y ruidosas. Tienen la desventaja de estar limitadas a la impresión de caracteres, por lo que no son apropiadas para aplicaciones donde los gráficos son un ingrediente esencial del producto acabado. imprimen una línea de puntos a la vez. Se alinean martillos similares a agujas sobre el ancho del papel.
• Tarjetas Perforadas: Habían, sido inventada en los años de la revolución industrial (finales del siglo XVIII) por el francés Jacquard y perfeccionado por el estadounidense Hermand Hollerith en 1890. Se usaron para acumular y procesar automáticamente gran cantidad de datos. Durante décadas, desde mediados de los cincuentas la tecnología de las tarjetas perforadas se perfeccionó con la implantación de más dispositivos con capacidades más complejas. Dado que cada tarjeta contenía en general un registro (Un nombre, dirección, etc.) el procesamiento de la tarjeta perforada se conoció también como procesamiento de registro unitario.

5.1.2 CONTROLADOR DE DISPOSITIVOS

Las unidades de entrada y salida constan por lo general de un componente mecánico y otro electrónico. El componente electrónico se llama controlador de dispositivo de adaptador.
La tarjeta controladora tiene por lo general un conector, en el que se puede conectar el cable que va al dispositivo en sí. Muchos controladores pueden manejar dos, cuatro y hasta ocho dispositivos idénticos. Si la interfaz entre el controlador y el dispositivo es estándar, ya sea un estándar oficial, de tipo ANSI, IEEE o ISO, o bien un estándar de hecho, entonces las compañías pueden fabricar controladores o dispositivos que se ajusten a esa interfaz.
Mencionamos esa distinción entre controlado y dispositivo por que el sistema operativo casi siempre trabaja con el controlador y no con el dispositivo. Casi todas las micro y mini computadoras utilizan el modelo de un bus para la comunicación entre la CPU y los controladores. Los grandes mainframes utilizan con frecuencia otro modelo, con varios buses y computadoras especializadas en Entrada y Salida llamadas canales de entrada y salida que toman cierta carga de entrada y salida fuera de la CPU principal.
La labor del controlador es convertir el flujo de bits en serie en un bloque de bytes y llevar a cabo cualquier corrección de errores necesaria. Lo común es que el bloque de bytes ensamble, bit a bit, en un buffer dentro del controlador. Después a verificar la suma y declarar al bloque libre de errores, se le puede copiar en la memoria principal.
El controlador de una terminal CRT también funciona como un dispositivo de bits en un nivel igual de bajo. Lee bytes que contienen caracteres a exhibir en la memoria y genera las señales utilizadas para modular la luz CRT para que esta se escriba en la pantalla. El controlador también genera las señales para que la luz CRT vuelva a realizar un trazo horizontal después de terminar una línea de rastreo, así como las señales para que se vuelva a hacer un trazo vertical después de rastrear en toda la pantalla. De no ser por el controlador CRT, el programador del sistema operativo tendría que programar en forma explicita el rastreo análogo del tubo de rayos catódicos. Con el controlador, el sistema operativo inicializa éste con pocos parámetros, tales como el número de caracteres por línea y el número de líneas en la pantalla, para dejar que el controlador se encargue de dirigir en realidad el rayo de luz.
Cada controlador tiene unos cuantos registros que se utiliza para la comunicación con la CPU. En ciertas computadoras, estos registros son parte del espacio normal de direcciones de la memoria.
El sistema operativo realiza la entrada y salida al escribir comandos en los registros de los controladores. Muchos de los comandos tienen parámetros, los cuales también se cargan de los registros del controlador. Al aceptar un comando, la CPU puede dejar al controlador y dedicarse a otro trabajo. Al terminar el comando, el controlador provoca la interrupción para permitir que el sistema operativo obtenga el control de la CPU y verifique los resultados de la operación. La CPU obtiene los resultados y el estado del dispositivo al leer uno o más bytes de información de los registros del controlado
El S. O. realiza la e / s al escribir comandos en los registros de los controladores; los parámetros de los comandos también se cargan en los registros de los controladores.
Al aceptar el comando, la cpu puede dejar al controlador y dedicarse a otro trabajo.
Al terminar el comando, el controlador provoca una interrupción para permitir que el S. O.:
• Obtenga el control de la cpu.
• Verifique los resultados de la operación.
La cpu obtiene los resultados y el estado del dispositivo al leer uno o más bytes de información de los registros del controlador.
Ejemplos de controladores, sus direcciones de e / s y sus vectores de interrupción en la PC IBM pueden verse en la Tabla 5.1

5.2 PRINCIPIOS DE SOFTWARE DE ENTRADA-SALIDA

Los objetivos más importantes del software de E/S son:
Ocultar la complejidad del hardware a los procesos que se ejecutan por encima del sistema operativo.
Presentar una interfaz de E/S sencilla.
Para conseguir estos objetivos se estructura el software de E/S en capas, de forma que las capas inferiores ocultan la complejidad del hardware a las capas superiores y éstos se encargan de conseguir una interfaz sencilla.


Soft. de E/S a nivel de usuario
Soft. de E/S independiente del dispositivo
Manejadores de Dispositivos (driver)
Manejadores de Interrupciones
HARDWARE











MANEJADORES DE INTERRUPCIONES: Su principal objetivo es que 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.

MANEJADORES DE DISPOSITIVOS: El driver es el software que se comunica con el hardware de E/S. Existe un driver para cada controlador que tengamos conectado a la computadora.
El driver:
Es el único software que conoce las características del dispositivo.
Programa al controlador imprimiendo en sus registros.
Se encarga de traducir peticiones del nivel superior
Encola las peticiones que van llegando para que el driver las trate más tarde.
Por ejemplo, si el sistema tiene tipos diferentes de discos duros, al usuario las diferencias técnicas entre ellos no le deben importar, y los drivers le deben ofrecer el mismo conjunto de rutinas para leer y escribir datos.

SOFTWARE DE E/S INDEPENDIENTE DEL DISPOSITIVO: En esta capa se agrupa la mayor parte del software de E/S. Las funciones básicas de este nivel son:

Presentar una interfaz uniforme a los programas de usuario; la misma operación de entrada o de salida independientemente del dispositivo al que se desea acceder.
Identificar al dispositivo a partir del nombre simbólico; asignándoles nombres a los dispositivos.
Protección de los dispositivos; debe disponer de un sistema que permita determinar quien tiene acceso a qué dispositivos.
Tamaño de bloque; a los dispositivos de bloque los trata como si todos tuvieran el mismo tamaño de bloque (conocido como bloque lógico). El driver de cada uno de ellos es el encargado de comprobar si a cada uno de ellos le corresponde 1 o más sectores del disco.
Almacenamiento Intermedio; Si se solicita información de un bloque que está cargado en el caché su lectura no se ordena al driver pero si no está cargado en caché se ordena la lectura del bloque completo. (lecturas por adelantado).

SOFTWARE DE E/S EN ESPACIO DE USUARIO: Una porción pequeña del software de E/S se ejecuta a nivel de usuario. Consiste en bibliotecas que se enlazan con los programas de usuario. También el sistema de spooling o áreas de trabajo encolados, permite conseguir una explotación concurrente de dispositivos de acceso exclusivo, como por ejemplo la impresora.

5.2.1 OBJETIVOS DEL SOFTWARE DE E / S


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.
El S. O. se encarga de hacer que operaciones controladas por interruptores parezcan del tipo de bloques para el usuario.
También el S. O. debe administrar los dispositivos compartidos (ej.: discos) y los de uso exclusivo (ej.: impresoras).
Generalmente el software de e / s se estructura en capas (ver Figura 5.3 [23, Tanenbaum]):
• Manejadores de interrupciones.
• Directivas de dispositivos.
• Software de S. O. independiente de los dispositivos.
• Software a nivel usuario.

5.2.2 MANEJADORES DE INTERRUPCIÓN

Manejadores de interrupción

(interrupt handler). Un manejador de interrupciones, también conocido como ISR (interrupt service routine o rutina de servicio de interrupción), es una subrutina callback en un sistema operativo o en un controlador de dispositivo cuya ejecución es desencadenada por la recepción de una interrupción. Los manejadores de instrucciones tienen una multitud de funciones, que varían basadas en el motivo por el cual la interrupción fue generada y la velocidad en la cual el manejador de interrupciones completa su tarea.

Estos manejadores pueden ser iniciados por interrupciones de hardware o de software, y son usados para servir a los dispositivos de hardware y transiciones entre modos protegidos de operación como los llamados de sistema.


Las interrupciones deben ocultarse en el S. O.:
• Cada proceso que inicie una operación de e / s se bloquea hasta que termina la e / s y ocurra la interrupción.
• El procedimiento de interrupción realiza lo necesario para desbloquear el proceso que lo inicio.

5.2.3 MANEJADORES DE DISPOSITIVOS

Todo el código que depende de los dispositivos aparece en los manejadores de dispositivos.
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.
La solicitud de e / s, por ej. para un disco, se debe traducir de términos abstractos a términos concretos:
• El manejador de disco debe:
o Estimar el lugar donde se encuentra en realidad el bloque solicitado.
o Verificar si el motor de la unidad funciona.
o Verificar si el brazo está colocado en el cilindro adecuado, etc.
o Resumiendo: debe decidir cuáles son las operaciones necesarias del controlador y su orden.
o Envía los comandos al controlador al escribir en los registros de dispositivo del mismo.
o Frecuentemente el manejador del dispositivo se bloquea hasta que el controlador realiza cierto trabajo; una interrupción lo libera de este bloqueo.
o Al finalizar la operación debe verificar los errores.
o Si todo esta o.k. transferirá los datos al software independiente del dispositivo.
o Regresa información de estado sobre los errores a quien lo llamó.
o Inicia otra solicitud pendiente o queda en espera.

5.2.4 SOFTWARE DE E / S INDEPENDIENTE DEL DISPOSITIVO

Funciones generalmente realizadas por el software independiente del dispositivo:
• 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 buffers.
• Asignación de espacio en los dispositivos por bloques.
• Asignación y liberación de los dispositivos de uso exclusivo.
• Informe de errores.
Las funciones básicas del software independiente del dispositivo son:
• Efectuar las funciones de e / s comunes a todos los dispositivos.
• Proporcionar una interfaz uniforme del software a nivel usuario.
El software independiente del dispositivo asocia los nombres simbólicos de los dispositivos con el nombre adecuado.
Un nombre de dispositivo determina de manera única el nodo-i de un archivo especial:
• Este nodo-i contiene el número principal del dispositivo, que se utiliza para localizar el manejador apropiado.
• El nodo-i contiene también el número secundario de dispositivo, que se transfiere como parámetro al manejador para determinar la unidad por leer o escribir.
El software independiente del dispositivo debe:
• Ocultar a los niveles superiores los diferentes tamaños de sector de los distintos discos.
• Proporcionar un tamaño uniforme de los bloques, por ej.: considerar varios sectores físicos como un solo bloque lógico

5.2.5 ESPACIO DEL USUARIO PARA SOFTWARE DE E/S


Una pequeña porción de código se encuentra en espacio de usuario. Este código se presenta en forma de bibliotecas y archivos especiales (spooling).
Bibliotecas de Funciones
Entregan a los programas los métodos reales que provocan I/O. Estos pueden realizar una simple llamada a la syscall que aplica la operación, o pueden aplicar transformaciones a la entrada o salida según establezca el programador.
Ejemplos en stdio.h:
int cantidad = write(fd, buffer, numeroBytes);

printf(“Se han impreso %d bytes”, cantidad);
Una forma de realizar spooling es utilizar un directorio especial conocido como directorio de spooling, en conjunto con un proceso demonio llamado proceso de spooling.
Si se permitiese acceso al dispositivo directamente, un proceso podría adquirirlo y nunca liberarlo. Para evitar esto, se utiliza el modelo que los procesos escriben los datos en el directorio de spooling, el cual es luego leído por el proceso de spooling, el cual es el único autorizado para utilizar el dispositivo en cuestión.

5.3 DISCOS RAM



Un 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.

Los discos RAM fueron populares como unidades de arranque en los años 1980, cuando los discos duros eran caros y las disqueteras demasiado lentas, por lo que unos pocos sistemas, como el Amiga y el Apple IIgs, soportaban arrancar desde un disco RAM. A cambio de dedicar un poco de memoria principal, el sistema podía realizar un reinicio en caliente y volver al sistema operativo en pocos segundos en lugar de minutos. Algunos sistemas contaban con discos RAM alimentados por baterías, de forma que sus contenidos no se perdían cuando el sistema se apagaban.

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). Los discos RAM son, sin embargo, indispensables en situaciones en las que un disco físico no está disponible o en las que el acceso o cambios a éste no es deseable (como en el caso de un LiveCD). También pueden usarse en dispositivos de tipo quiosco, en los que los cambios hechos al sistema no se guardan en el disco físico y la configuración original del sistema se carga de éste cada vez que el sistema es reiniciado.

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


Un disco duro o disco rígido (en inglés hard disk drive) es un dispositivo no volátil, que conserva la información aun con la pérdida de energía, que emplea un sistema de grabación magnética digital. Dentro de la carcasa hay una serie de platos metálicos apilados girando a gran velocidad. Sobre los platos se sitúan los cabezales encargados de leer o escribir los impulsos magnéticos. Hay distintos estándares para comunicar un disco duro con la computadora; las interfaces 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.
Tal y como sale de fábrica, el disco duro no puede ser utilizado por un sistema operativo. Antes se deben definir en él un formato de bajo nivel, una o más particiones y luego hemos de darles un formato que pueda ser entendido por nuestro sistema.
También existe otro tipo de discos denominados de estado sólido que utilizan cierto tipo de memorias construidas con semiconductores para almacenar la información. El uso de esta clase de discos generalmente se limitaba a las supercomputadoras, por su elevado precio, aunque hoy en día ya se puede encontrar en el mercado unidades mucho más económicas de baja capacidad (hasta 5121 GB) para el uso en computadoras personales (sobre todo portátiles). Así, el caché de pista es una memoria de estado sólido, tipo memoria RAM, dentro de un disco duro de estado sólido.
Su traducción del inglés es unidad de disco duro, pero este término es raramente utilizado, debido a la practicidad del término de menor extensión disco duro (o disco rígido)VER IMAGEN 5.5.

5.5.1 SOFTWARE PARA DISCOS

Todos los discos reales están organizados en cilindros, donde cada uno contiene tantas pistas como haya cabezas apiladas verticalmente. Las pistas se dividen en sectores, donde el número de sectores en torno a la circunferencia en comúnmente de 8 a 32. Todos los sectores contienen el mismo número de bytes. Los parámetros de un disco flexible de la IBM PC se muestran en la tabla siguiente.
Número de cilindros 40 Tiempo de localización (cilindros adyacentes) 6ms
Pistas por cilindro 2 Tiempo de localización (caso promedio) 77ms
Sectores por pista 9 Tiempo de rotación 200ms
Sectores por disquete 720 Tiempo de arranque/detención del motor 250ms
Bytes por sector 512 Tiempo para transferir un sector 22ms
Bytes por disquete 368640

5.4.2 HARDWARE DE DISCOS


Los discos están organizados en cilindros, pistas y sectores.
El número típico de sectores por pista varía entre 8 y 32 (o más).
Todos los sectores tienen igual número de bytes.
Los sectores cercanos a la orilla del disco serán mayores físicamente que los cercanos al anillo.
Un controlador puede realizar búsquedas en una o más unidades al mismo tiempo:
• Son las búsquedas traslapadas.
• Mientras el controlador y el software esperan el fin de una búsqueda en una unidad, el controlador puede iniciar una búsqueda en otra.
Muchos controladores pueden:
• Leer o escribir en una unidad.
• Buscar en otra.
Los controladores no pueden leer o escribir en dos unidades al mismo tiempo.
La capacidad de búsquedas traslapadas puede reducir considerablemente el tiempo promedio de acceso.
Operación de Almacenamiento de Disco de Cabeza Móvil
Los datos se graban en una serie de discos magnéticos o platos
El eje común de los discos gira a una velocidad del orden de las 4.000 o más revoluciones por minuto.

Se lee o escribe mediante una serie de cabezas de lectura - escritura (ver Figura 5.4 []):
• Se dispone de una por cada superficie de disco.
• Solo puede acceder a datos inmediatamente adyacentes a ella:
o La parte de la superficie del disco de donde se leerá (o sobre la que se grabará) debe rotar hasta situarse inmediatamente debajo (o arriba) de la cabeza de lectura - escritura.
o El tiempo de rotación desde la posición actual hasta la adyacente al cabezal se llama tiempo de latencia.
Todas las cabezas de lectura - escritura están montadas sobre una barra o conjunto de brazo móvil:
• Puede moverse hacia adentro o hacia afuera, en lo que se denomina operación de búsqueda.
• Para una posición dada, la serie de pistas accesibles forman un cilindro vertical.
A los tiempos de búsqueda y de latencia se debe agregar el tiempo de transmisión propiamente dicha
El tiempo total de acceso a un registro particular:
• Involucra movimientos mecánicos.
• Generalmente es del orden de centésimas de segundo, aunque el tiempo de latencia sea de algunas milésimas de segundo (7 a 12 aproximadamente).

5.5 RELOJES

Los relojes o cronómetros son esenciales para la operación de sistemas de tiempo compartido .
Registran la hora del día.
Evitan que un proceso monopolice la cpu.
El software para reloj toma generalmente la forma de un manejador de dispositivo, aunque no es un dispositivo de bloque ni de caracter.
Los relojes más sencillo 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:
o Genera una señal periódica de muy alta precisión, generalmente entre 5 y 100 mhz.
o La señal se alimenta en el contador para que cuente en forma descendente hasta cero.
o 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:
o Cuando el reloj se inicializa, copia el valor del registro en el contador.
o Decrementa el contador en cada pulso del cristal.
o Cuando el contador llega a cero provoca una interrupción y se detiene hasta ser nuevamente inicializado por el software.
• Modo de onda cuadrada:
o Luego de llegar a cero y provocar la interrupción, el registro se copia de manera automática en el contador.
o Todo el programa se repite en forma indefinida.
o 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.
El software manejador del reloj puede tener que simular varios relojes virtuales con un único reloj físico.

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 caracter.
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

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

Las funciones del manejador de reloj son, entre otras:

1. Conservación de la hora del día.

2. Prevención de que los procesos se ejecuten más tiempo del que tienen autorizados.

3. Conteo para uso de la CPU.

4. Manejo de la llamada al sistema alarm que hacen los procesos de los usuarios.

5. Provisión de cronómetros guardianes para cuidar partes del sistema en sí.

6. Realización de perfiles, monitoreo y recolección de estadísticas.

5.6 TERMINALES

Las terminales tienen gran número de formas distintas:
• El manejador de la terminal debe ocultar estas diferencias.
• La parte independiente del dispositivo en el S. O. y los programas del usuario no se tienen que reescribir para cada tipo de terminal.
Desde el punto de vista del S. O. se las puede clasificar en:
• Interfaz RS-232:
o Hardcopy (terminales de impresión).
o TTY “de vidrio” (terminales de video).
o Inteligente (computadoras con cpu y memoria).
• Interfaz mapeada a memoria:
o Orientada a caracteres.
o Orientada a bits.
Las terminales RS-232 poseen un teclado y un monitor que se comunican mediante una interfaz serial, un bit a la vez; las conversiones de bits a bytes y viceversa las efectúan los chips uart (transmisores - receptores asíncronos universales).
Las terminales mapeadas a memoria:
• No se comunican mediante una línea serial.
• Poseen una interfaz mediante una memoria especial llamada video RAM:
o Forma parte del espacio de direcciones de la computadora.
o La cpu se dirige a ella como al resto de la memoria.
o En la tarjeta de video RAM hay un chip llamado controlador de video:
 Extrae bytes del video RAM y genera la señal de video utilizada para manejar la pantalla.
 El monitor genera un rayo de electrones que recorre la pantalla pintando líneas.
 Cada línea está constituida por un cierto número de puntos o pixeles.
 La señal del controlador de video modula el rayo de electrones y determina si un pixel debe estar o no iluminado.
 Los monitores de color poseen tres rayos (rojo, verde y azul) que se modulan independientemente.
En las pantallas mapeadas a caracteres:
• Cada caracter en la pantalla equivale a dos caracteres de RAM:
o Uno aloja al código (ASCII) del caracter por exhibir.
o Otro es el byte de atributo, necesario para determinar el color, el video inverso, el parpadeo, etc.
En las terminales mapeadas a bits:
• Se utiliza el mismo principio.
• Cada bit en el video RAM controla en forma directa un solo pixel de la pantalla.
• Permite una completa flexibilidad en los tipos y tamaños de caracteres, varias ventanas y gráficos arbitrarios.
Con las pantallas mapeadas a memoria, el teclado se desacopla totalmente de la pantalla:
• El teclado dispone de su propio manejador.
• El manejador del teclado puede operar en modo caracter o en modo línea.
Las terminales pueden operar con una estructura central de buffers o con buffers exclusivos para cada terminal.

5.6.1 HARDWARE DE TERMINALES

HARDWARE DE TERMINALES
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 caracter o una línea en el cursor.
• Eliminar un caracter 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.

5.6.2 MANEJADORES

Proporcionan operaciones de alto nivel sobre los dispositivos y las traducen en su ámbito interno a operaciones de control de cada dispositivo particular.

Cada uno de estos componentes se considera un objeto del sistema, por lo que habitualmente todos los sistemas operativos permiten modificar el sistema operativo de forma estática o dinámica para reemplazar, añadir o quitar manejadores de dispositivos. Sin embargo, por razones de seguridad no se permite a las aplicaciones de usuario acceder directamente a los dispositivos, sino a través de la interfaz de llamadas al sistema.