Anda di halaman 1dari 90

INSTITUTO TECNOLOGICO DE AGUASCALIENTES 4/7/12

5.1 PRINCIPIOS DE HARWARE 5.1.1 DISPOSITIVOS I/O 5.1.2 CONTROLADOR DE DISPOSITIVOS

JHONY CRISTIAN LOPEZ SANTILLAN OMAR YAHIR VEGA LOPEZ GEOVANI ENRIQUE CASTRO DELGADO Haga clic para modificar el JUAN ANTONIO FERNANDEZ estilo de subttulo del patrn CORVERA HUGO ALEJANDRO DE LA RIVA AGUILAR EDGAR FABIAN JAUREGUI HERNANDEZ

4/7/12

Principios de

hardware i/o

Distintas personas analizan de varias maneras el hardware de Entrada y Salida. Los ingenieros elctricos lo hacen en trminos de chips, cables, fuentes de poder, etc.

4/7/12

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.

4/7/12

DISPOSITIVOS DE ENTRADAD Y SALIDA


Los

dispositivos de entrada y salida se pueden dividir de manera general en dos categoras: dispositivos de bloque y dispositivos de carcter.

4/7/12

DISPOSITIVO DE BLOQUE
Es

aquel que almacena la informacin en bloques de tamao fijo, cada uno con su propia direccin. Los tamaos 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 dems,

4/7/12

CD - ROM Duro o Disco flexible

Disco Disquete

4/7/12

DISPOSITIVO DE CARCTER
Es

aquel que enva o recibe un flujo de caracteres, sin sujetarse a una estructura de bloques. No se pueden utilizar direcciones ni tienen una operacin de bsqueda.

4/7/12

Mouse Monitores Impresoras Tarjetas

de Lnea

Perforadas

CONTROLADOR DE DISPOSITIVOS
Las

4/7/12

unidades de entrada y salida constan por lo general de un componente mecnico y otro electrnico. El componente electrnico se llama controlador de dispositivo de adaptador. tarjeta controladora tiene por lo general un conector, en el que se puede conectar el cable que va al dispositivo en s.

La

4/7/12

La

labor del controlador es convertir el flujo de bits en serie en un bloque de bytes y llevar a cabo cualquier correccin de errores necesaria. Lo comn es que el bloque de bytes ensamble, bit a bit, en un buffer dentro del controlador. Despus a verificar la suma y declarar al bloque libre de errores, se le puede copiar en la memoria principal.

4/7/12

ACCESO DIRECTO A MEMORIA


El

acceso directo a memoria es una caractersticas de las computadorasymicroproces adores modernos que permite que ciertos subsistemas de hardware dentro de la computadora puedan acceder a lamemoriadel sistema para la lectura y/o escritura

4/7/12

CARACTERSTICAS GENERALES DE DMA

Aquellas computadoras que tienen canales DMA pueden transferir datos desde y hacia los dispositivos con menos utilizacin de CPU que aquellas computadoras sin canales DMA. Bsicamente una transferencia DMA

4/7/12

Tipos de transferencia DMA o Acceso directo a memoria

* DMA por robo de ciclo: es uno de los mtodos ms usados, ya que requiere poca utilizacin del CPU. Esta estrategia utiliza uno o ms ciclos de CPU para cada instruccin que se ejecuta. Esto permite alta disponibilidad del bus del sistema para la CPU, aunque la transferencia de datos se har ms lentamente. * DMA por rfagas: esta estrategia consiste en enviar el bloque de datos solicitado mediante una

4/7/12

Gracias

por su atencin

4/7/12

INSTITUTO TECNOLGICO DE AGUASCALIENTES


Haga clic para modificar el estilo de subttulo del patrn

DEPARTAMENTOS DE SISTEMAS

UNIDAD 5: ADMINISTRACIN DE DISPOSITIVOS DE E/S


4/7/12

EQUIPO 7 ENRIQUE ALEJANDRO CASTAEDA ESPARZA

ENRIQUE DE JESS MARTINEZ HERNADEZ

JUAN JESS CARRILLO MONTOYA

LICENCIATURA EN INFORMTICA MATERIA: SISTEMAS OPERATIVOS 1 MAESTRO: RICARDO LUNA CARLOS

4/7/12

5.2 PRINCIPIOS DE SOFTWARE DE E/S

Los principios de software en la entrada/salida se resumen en cuatro puntos:

4/7/12

software debe ofrecer manejadores de interrupciones manejadores de dispositivos software que sea independiente de los dispositivos software para usuarios.

Las capas superiores deben presentar una interfaz bonita, aseada, agradable, y regular a los usuarios. Las capas inferiores se encarguen de ocultar las peculiaridades del hardware a las capas superiores.

4/7/12 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.

4/7/12

4/7/12

5.2.1 OBJETIVOS DEL SOFTWARE DE E/S

4/7/12

Un concepto clave en el diseo del software de E/S es lo que se conoce como la independencia del dispositivo, lo que significa que debe ser posible escribir programas capaces de acceder a cualquier dispositivo de E/S sin tener que especificar por delantado de qu dispositivo se trata. Por ejemplo, un programa que tome su entrada de un fichero debe poder leerlo tanto de un disquete, como de un disco duro, como de un CD-ROM sin tener que modificar el programa para cada dispositivo diferente. Similarmente, debe ser posible que un comando del shell como sort < entrada > salida funcione con la entrada proveniente de un disquete, un disco IDE, un disco SCSI o el teclado, y enviando la salida a cualquier tipo de disco o a la pantalla. Corresponde al sistema operativo resolver los problemas causados por el hecho de que todos esos dispositivos son en realidad diferentes y requieren secuencias de comandos muy distintas para leer o escribir.

4/7/12

El objetivo de denominacin uniforme de ficheros y dispositivos est estrechamente relacionado con la independencia del dispositivo. El nombre de un fichero o dispositivo debe ser simplemente una cadena de caracteres o un entero y no depender en absoluto del dispositivo. En UNIX, todos los discos pueden integrarse en la jerarqua del sistema de ficheros con total libertad, de manera que el usuario no necesita saber qu nombre corresponde a qu dispositivo. Por ejemplo, un disquete puede montarse en el directorio /usr/ast/backup de manera que copiando cualquier fichero en el directorio /usr/ast/backup/lunes, estamos realmente copiando dicho fichero en el disquete. De esta manera todos los ficheros y dispositivos se direccionan del mismo modo: mediante su nombre de camino (absoluto o relativo).

Otro aspecto importante del software es el manejo de errores de 4/7/12 e / s: Generalmente los errores deben manejarse lo ms cerca posible del hardware. Solo si los niveles inferiores no pueden resolver el problema, se informa a los niveles superiores. Generalmente la recuperacin se puede hacer en un nivel inferior y de forma transparente. Otro aspecto clave son las transferencias sncronas (por bloques) o asncronas (controlada por interruptores): La mayora de la e / s es asncrona: la cpu inicia la transferencia y realiza otras tareas hasta una interrupcin. La programacin es ms fcil si la e / s es sncrona (por bloques): el programa se suspende automticamente hasta que los datos estn disponibles en el buffer.

4/7/12

4/7/12

Otro aspecto importante del software de E/S es el manejo de errores. En general, los errores deben tratarse tan cerca del hardware como sea posible. Si el controlador descubre un error de lectura, l mismo debe tratar de corregirlo en un primer momento. Si no puede, ser el driver del dispositivo quien deber tratar de corregirlo, por ejemplo repitiendo el intento de lectura del bloque. Muchos errores son transitorios, tales como los errores de lectura provocados por una partcula de polvo en la cabeza de lectura, y desaparecen si se repite la operacin. Slo debe informarse del problema a las capas superiores cuando las capas inferiores no puedan solucionar el problema por s mismas. En muchos casos, la recuperacin de los errores puede realizarse de forma transparente en los niveles ms bajos, sin necesidad de que los niveles superiores se enteren siquiera de que tuvo lugar el error.

4/7/12

Tambin otro aspecto clave son las transferencias sncronas (bloqueantes) frente a las asncronas (dirigidas por interrupciones). Casi toda la E/S fsica es asncrona la CPU pone en marcha la transferencia y se pone a hacer alguna otra cosa hasta que llega la interrupcin. Los programas de usuario son mucho ms fciles de escribir si las operaciones de E/S son bloqueantes despus de una llamada al sistema read, el programa se suspende automticamente hasta que los datos estn disponibles en el bfer. Corresponde al sistema operativo hacer que las operaciones que realmente estn controladas por interrupciones parezcan bloqueantes desde la perspectiva de los programas de usuario.

4/7/12

5.2.2 MANEJADORES DE INTERRUPCIONES

En la mayora de los sistemas de E/S las interrupciones son de esas cosas inevitables que tiene la vida. No obstante es preciso mantener ocultas las interrupciones en las profundidades del sistema operativo, reduciendo al mnimo la parte del sistema operativo que tiene conocimiento de ellas. La mejor manera de ocultar las interrupciones es hacer que el driver que pone en marcha una operacin de E/S se bloquee hasta que se complete la E/S y se produzca la interrupcin. El driver puede bloquearse a s mismo por ejemplo ejecutando una operacin bajar sobre un semforo, o un wait sobre una variable de condicin o un receive sobre un mensaje, o algo similar. Cuando llega la interrupcin, la rutina de tratamiento hace lo necesario para atender a la interrupcin, tras lo cual puede desbloquear el driver que program esa interrupcin. En algunos casos la rutina de tratamiento simplemente ejecutar un subir sobre un semforo. En otros casos, ejecutar un signal sobre una variable de condicin de un monitor. En otros casos diferentes, enviar un mensaje al driver bloqueado. En absolutamente todos los casos, el efecto neto de la interrupcin ser que un driver que antes estaba bloqueado pasar ya a poder ejecutarse. Este modelo funciona mejor si los drivers se estructuran como procesos del ncleo, con sus propios estados, pilas y contadores de programa.

4/7/12

Por supuesto, la realidad no es tan sencilla. Procesar una interrupcin no consiste tan solo en tomar la interrupcin, ejecutar un subir sobre algn semforo y ejecutar una instruccin IRET para retornar de la interrupcin al proceso anterior. Se requiere por parte del sistema operativo la realizacin de mucho ms trabajo que vamos a esbozar como una serie de pasos que deben realizarse por software despus de que el hardware acepte la interrupcin. Los detalles dependen mucho del sistema concreto, por lo que algunos de los pasos siguientes podran no ser necesarios en una mquina dada, pudiendo ser necesarios otros pasos que no estn incluidos en la lista. Adems, en algunas mquinas los pasos podran tener lugar en un orden muy diferente.
1.

4/7/12

Guardar los registros (incluida la PSW) que no haya guardado an el hardware de interrupciones.

2. Establecer el contexto adecuado para la ejecucin de la rutina de tratamiento de la interrupcin. Esto podra implicar establecer la TLB, la MMU y una tabla de pginas.

3. Disponer una pila para su uso por parte de la rutina de tratamiento de la interrupcin. 4. Enviar el acuse de la recepcin de la interrupcin al controlador de interrupciones. Si no hay un controlador de interrupciones centralizado, volver a habilitar las interrupciones. 5. Copiar los registros de donde se guardaron (posiblemente de alguna pila) a la tabla de procesos. 6. Ejecutar la rutina de tratamiento de la interrupcin, la cual necesitar leer la informacin contenida en los registros del controlador de dispositivo que interrumpi. 7. Escoger el proceso que se ejecutar a continuacin. Si la interrupcin provoc que algn proceso de alta prioridad que estaba bloqueado pasara a estar listo, podra suceder que ese proceso fuera escogido para ejecutarse ahora.

4/7/12

8. Establecer el contexto de la MMU para el proceso que se 4/7/12 a continuacin. ejecutar Tambin podra ser necesario preparar la TLB. 9. Cargar los registros del nuevo proceso, incluida su PSW. 10. Comenzar a ejecutar el nuevo proceso.

El procesamiento de las interrupciones dista mucho de ser trivial y requiere un nmero considerable de instrucciones de la CPU, sobre todo en las mquinas en las que se utiliza memoria virtual siendo preciso preparar tablas de pginas o guardar el estado de la MMU (por ejemplo los bits R y M). En algunas mquinas podra ser necesario reajustar tambin la TLB y la cach de la CPU al conmutar de modo usuario a modo supervisor, lo que puede suponer muchos ciclos de mquina adicionales.

4/7/12

5.2.2 MANEJADORES DE DISPOSITIVOS

4/7/12

Cada dispositivo de E/S conectado a un ordenador necesita algn cdigo especfico de ese dispositivo que lo controle. Ese cdigo, denominado el driver del dispositivo, est normalmente escrito por el fabricante del dispositivo que lo proporciona junto con el dispositivo. Dado que cada sistema operativo necesita sus propios drivers, los fabricantes suelen proporcionar sus drivers para varios de los sistemas operativos ms utilizados. Cada driver de dispositivo maneja normalmente un tipo de dispositivo o, cuando ms, una clase de dispositivos estrechamente relacionados. Por ejemplo, usualmente un driver de disco SCSI puede manejar varios discos SCSI de diferentes tamaos y diferentes velocidades y quiz tambin un CDROM SCSI. Por otra parte, un ratn y un joystick son tan diferentes que casi siempre necesitan drivers diferentes. Sin embargo no existe ninguna restriccin tcnica que impida que un driver de dispositivo controle varios dispositivos que no tengan relacin entre s; simplemente resulta que no es una buena idea.

4/7/12

Para acceder al hardware del dispositivo, es decir a los registros del controlador, normalmente es necesario que el driver forme parte del ncleo del sistema operativo, al menos con las arquitecturas actuales. Realmente, es posible construir drivers que se ejecuten en el espacio del usuario, con llamadas al sistema para leer y escribir en los registros del dispositivo. De hecho, ese diseo podra ser una buena idea, ya que conseguira aislar al ncleo de los drivers y a los drivers entre s. Haciendo las cosas as podra eliminarse una de las principales causas de cadas del sistema: drivers con errores que interfieren con el ncleo de una manera u otra. Sin embargo, dado que los sistemas operativos actuales esperan que los drivers se ejecuten en el ncleo, se es el modelo que vamos a considerar aqu. Puesto que los diseadores de cualquier sistema operativo saben que se instalarn en l fragmentos de cdigo (drivers) escritos por otras personas, es preciso que utilicen en su diseo una arquitectura que permita tal instalacin. Eso significa tener un modelo bien definido de lo que hace un driver y de cmo interacta con el resto del sistema operativo. Los drivers de dispositivo se ubican comnmente por debajo del resto del sistema operativo, como se ilustra en la Figura 5-11.

4/7/12

Usualmente los sistemas operativos clasifican los drivers en unas cuantas categoras. Las ms comunes son los dispositivos de bloques, como los discos, que contienen mltiples bloques de datos susceptibles de direccionarse independientemente, y los dispositivos de caracteres, como los teclados e impresoras, que generan o aceptan un flujo de caracteres. En algunos sistemas, el sistema operativo es un nico programa binario que contiene todos los drivers que pueda necesitar compilados dentro de l. Este esquema fue la norma durante aos en los sistemas UNIX debido a que se ejecutaban en centros de clculo en los que los dispositivos de E/S raramente cambiaban. Si se aada un nuevo dispositivo el administrador del sistema simplemente recompilaba el ncleo con el nuevo controlador para obtener un nuevo binario. Un driver de dispositivo tiene varias funciones. La ms obvia es la de aceptar peticiones de lectura o escritura abstractas enviadas por el software independiente del dispositivo y controlar que se lleven a cabo, pero existen tambin otras funciones que debe realizar. Por ejemplo, el driver debe inicializar el dispositivo, en caso de ser necesario. Tambin puede tener que controlar su consumo de energa elctrica y mantener un registro de eventos.

4/7/12

4/7/12

Muchos drivers de dispositivo tienen una estructura general similar. Un driver tpico comienza comprobando los parmetros de entrada para ver si son vlidos. Si no lo son, se devuelve un error. Si los parmetros son vlidos, puede ser necesaria una traduccin de trminos abstractos a concretos. En el caso de un driver de disco, esto puede significar convertir un nmero de bloque lineal en los nmeros de cabeza, pista, sector y cilindro correspondientes de acuerdo con la geometra del disco. Luego el driver puede comprobar si el dispositivo est actualmente en uso. En tal caso, la peticin deber encolarse para su procesamiento posterior. Si el dispositivo est desocupado, debe examinarse el estado del hardware para ver si puede atenderse ya la peticin. Puede ser necesario encender el dispositivo o poner en marcha un motor antes de comenzar las transferencias. Una vez que est encendido el dispositivo y listo pata trabajar, es cuando comienza el control propiamente dicho del dispositivo.

4/7/12

GRACIAS POR TU ATENCIN

5.2.4 SOFTWARE DE I/O INDEPENDIENTE DE DISPOSITIVOS

Aunque una parte del software de 4/7/12 e/s es especfica para cada dispositivo, una fraccin considerable es independiente de el. La frontera exacta para modificar el los Haga clic entre estilo de subttulo del patrn controladores de dispositivos y el software independiente del sistema, porque algunas

5.2.5

4/7/12 SOFTWARE DE E / S EN EL ESPACIO DEL USUARIO

La

mayora del software de e / s est dentro del S. O.

Una La

pequea parte consta de bibliotecas ligadas entre s con los programas del usuario. biblioteca estndar de e / s contiene varios procedimientos relacionados con e / s y todos se ejecutan como parte de los programas del usuario. todo el software de E/S en el nivel de usuario consiste en procedimientos de biblioteca. Otra categora importante de software de e / s a nivel usuario es el sistema de spooling.

No

4/7/12

El

spooling es una forma de trabajar con los dispositivos de e /s de uso exclusivo en un sistema de multiprogramacin: El ejemplo tpico lo constituye la impresora de lneas. Los procesos de usuario no abren el archivo correspondiente a la impresora. Se crea un proceso especial, llamado demonio en algunos sistemas. Se crea un directorio de spooling, (directorio especial).

Para

imprimir un archivo:

4/7/12

Un proceso genera todo el archivo por imprimir y lo coloca en el directorio de spooling. El proceso especial, nico con permiso para utilizar el archivo especial de la impresora, debe imprimir los archivos en el directorio. Se evita el posible problema de tener un proceso de usuario que mantenga un recurso tomado largo tiempo. Un esquema similar tambin es aplicable para la transferencia de archivos entre equipos conectados: Un usuario coloca un archivo en un directorio de spooling de la red. Posteriormente, el proceso especial lo toma y

4/7/12

5.3 DISCOS RAM

4/7/12

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 magntico (como los discos duros y las disqueteras) o memoria flash, implementada como un controlador de dispositivo ms. El tiempo de acceso mejora drsticamente, debido a que la memoria

4/7/12

El

disco RAM puede proporcionar acceso a cualquier parte de la memoria. La aplicacin principal de este controlador es reservar un aparte de la memoria para ser usada como disco ordinario. no quiere decir que el almacenamiento sea permanente, pero una vez que los archivos se copiaran en esta rea el acceso a ellos puede ser extremadamente rpido. disco RAM, tiene otra ventaja. Si colocamos el dispositivo raz en un disco ram, el solityario disco flexible puede montarse y desmontarse a voluntad, manejando asdi como medidas removibles.

Esto

El

4/7/12

5.4 DISCOS DUROS

4/7/12

Un

disco duro o disco rgido (en ingls hard disk drive) es un dispositivo no voltil, que conserva la informacin aun con la prdida de energa, que emplea un sistema de grabacin magntica digital. de la carcasa hay una serie de platos metlicos apilados girando a gran velocidad. Sobre los platos se sitan los cabezales encargados de leer o escribir los impulsos magnticos. distintos estndares para comunicar un disco duro con la computadora; las interfaces ms comunes son Integrated Drive Electronics (IDE, tambin llamado ATA) , SCSI generalmente usado en

Dentro

Hay

4/7/12

5.4.1 HARDWARE DE DISCOS

4/7/12

Los

discos estn organizados en cilindros, pistas y sectores. El nmero tpico de sectores por pista vara entre 8 y 32 (o ms). Todos los sectores tienen igual nmero de bytes. Los sectores cercanos a la orilla del disco sern mayores fsicamente que los cercanos al anillo. controlador puede realizar bsquedas en una o ms unidades al mismo tiempo: Son las bsquedas traslapadas. Mientras el controlador y el software esperan el fin de una bsqueda en una unidad, el controlador puede iniciar una bsqueda en otra. Muchos controladores pueden:

Un

4/7/12

Se

lee o escribe mediante una serie de cabezas de lectura - escritura Se dispone de una por cada superficie de disco. Solo puede acceder a datos inmediatamente adyacentes a ella:

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. El tiempo de rotacin desde la posicin actual hasta la adyacente al cabezal se llama tiempo de latencia.

4/7/12

los tiempos de bsqueda y de latencia se debe agregar el tiempo de transmisin propiamente dicha tiempo total de acceso a un registro particular: Involucra movimientos mecnicos. Generalmente es del orden de centsimas de segundo, aunque el tiempo de latencia sea de algunas

El

4/7/12

Sistemas Operativos
Haga clic para modificar el estilo de subttulo del patrn

4/7/12

5.4.2 Software para discos


El tiempo para leer o escribir un bloque de disco se determina por tres factores: el tiempo de localizacin (tiempo para mover el brazo al cilindro adecuado), la demora rotatoria (tiempo para que el sector adecuado gire hasta quedar debajo de la cabeza) y el tiempo real de transferencia.

4/7/12

Para la mayora de los discos, el tiempo de localizacin es dominante, de manera que la reduccin del tiempo medio de localizacin puede mejorar sustancialmente el rendimiento del sistema.

4/7/12

Algoritmos de Planificacin del brazo del disco


Si el conductor del disco acepta solicitudes una a la vez y las ejecuta en el orden, es decir, la primera que llega es la primera en ser atendida (FCFS), puede hacerse poco para optimizar el tiempo de localizacin. Sin embargo, es posible emplear otra estrategia cuando el disco est cargado pesadamente.

4/7/12

Es probable que mientras el brazo est realizando una localizacin en beneficio de una solicitud, otras solicitudes del disco puedan ser generadas por procesos. Muchos manejadores de discos conservan una tabla, indizada por nmero de cilindro, con todas las requisiciones pendientes de cada cilindro encadenadas en una lista enlazada encabezada por las captaciones de la tabla.

4/7/12

Dado este tipo de estructura de datos, podemos mejorar el algoritmo de planificacin del primero que llega es el primero en ser atendido. Para observar cmo se hace esto, considrese un disco con 40 cilindros. Una solicitud llega para leer un bloque en el cilindro 11. Mientras progresa la localizacin del cilindro 11, llegan nuevas solicitudes para los cilindros 1, 36, 16, 34, 9 y 12, en ese orden.

4/7/12

Este algoritmo requerira movimientos del brazo de 10, 35, 20, 18, 25 y 3, respectivamente, para hacer un total de 111 cilindros.

4/7/12

En forma alternativa, siempre podra manejar despus la solicitud mas prxima, con el objeto de minimizar el tiempo de localizacin. Dadas las solicitudes, la secuencia es 12, 9, 16, 1, 34 y 36

4/7/12

Con esta secuencia, los movimientos del brazo son 1, 3, 7, 15, 33 y 2, para hacer un total de 61 cilindros. Este algoritmo, primero la Localizacin ms corta (SSF), corta el movimiento total del brazo casi a la mitad en comparaeion con FCFS.

4/7/12

Por desgracia, SSP tiene un problema. Supngase que siguieran llegando ms solicitudes mientras se procesan las que esta en cola. Por ejemplo si despus de ir al cilindro 15, se presenta una nueva solicitud del cilindro 8, esa solicitud tendr prioridad sobre el cilindro 1.

4/7/12

Si despus entra una requisicin del cilindro 13, el brazo ira despus a 13, en vez de a l. Con un disco muy cargado, el brazo tendera a quedarse ala mitad del disco la mayor parte del tiempo, de manera que las solicitudes en cualquier extremo tendrn que esperar hasta que una fluctuacin estadstica en la carga ocasione que no haya solicitudes en la proximidad del centro.

4/7/12

El algoritmo del elevador consiste en seguirse desplazando en la misma direccin hasta que ya no haya mas solicitudes pendientes en esa direccin y despus cambian direcciones. Este algoritmo, conocido en el mundo de los discos y en el mundo de los elevadores como algoritmo del elevador, requiere que el software conserve l bit: el bit de direccin corriente, UP o DOWN (arriba o abajo).

4/7/12

Cuando termina una solicitud, el conductor del disco o elevador verifica el bit. Si es UP, el brazo o cabina se mueve ala siguiente solicitud pendiente mas alta, si la hay. Si no hay solicitudes pendientes en posiciones superiores, se invierte el bit de direccin.

4/7/12

El orden en el cual se atienden los cilindros es 12, 16, 34, 36, 9 y 1, lo que produce desplazamientos del brazo de 1, 4, 18, 2, 27 y 8, para hacer un total de 60 cilindros.

4/7/12

Manejo de Errores
Los discos de RAM no tienen que preocuparse por la optimizacin de la localizacin o la rotacional: en cualquier instante todos los bloques se pueden leer o escribir sin ningn movimiento fsico. Otra rea en la cual los discos de RAM son considerablemente mas simples que los discos reales es el manejo de errores.

4/7/12

Los discos reales estn sujetos a una amplia variedad de errores. Algunos de los mas comunes son:
1.

Error de programacin (por ejemplo, solicitud de un sector no existente). Error transitorio de la suma de verificacin (por ejemplo, ocasionado por polvo en la cabeza).

1.

4/7/12

3. Error permanente de la suma de verificacin (por ejemplo, bloque de disco fsicamente daado). 4. Error de localizacin (por ejemplo, el brazo se envi al cilindro 6 pero se fue al 7). 5. Error del controlador (por ejemplo, el controlador se niega a aceptar comandos).

4/7/12

5.5 Relojes
Los relojes (tambin denominados cronmetros) son esenciales para la operacin de cualquier sistema de tiempo compartido por una diversidad de razones. Estos conservan la hora del da y evitan que un proceso monopolice a la CPU, entre otras cosas.

4/7/12

El software del reloj suele tomar la forma de un manejador de dispositivo, aunque un reloj nunca es un dispositivo de bloque, ni un dispositivo de caracteres, como una terminal.

4/7/12

5.5.1. Hardware del Reloj


En las computadoras se utilizan dos tipos de relojes comnmente y ambos son muy diferentes de los relojes que usa la gente. Los relojes mas simples se apegan a lnea de potencia de 110 o 220 volts y producen una interrupcin en cada ciclo de tensin, en 50 o 60 Hz.

4/7/12

El otro tipo de reloj se compone de tres partes: un oscilador de cristal, un contador y un registro de contencin. Cuando una pieza de cristal de cuarzo se corta y se monta adecuadamente en tensin, se puede hacer que genere una seal peridica de muy alta exactitud, comnmente en el intervalo de 1 a 20 MHz, segn el cristal que se elija.

4/7/12

Esta seal se alimenta en el contador para hacerlo que cuente hacia abajo hasta cero. Cuando el contador llega a cero, produce una interrupcin de la CPU.

4/7/12

Los relojes programables comnmente tienen varios modos de operacin. En el modo no repetido, cuando se da inicio al reloj, ste copia el valor del registro de contencin en el contador y despus disminuye el contador en cada pulsacin del cristal. Cuando el contador llega a cero, provoca una interrupcin y se detiene hasta que vuelve a ser iniciado en forma explicita por el software.

4/7/12

En el modo de onda cuadriforme, despus de llegar a cero y producir una interrupcin, el registro de contencin se copia automticamente en el contador y todo el proceso se vuelve a repetir en forma indefinida. Estas interrupciones peridicas se llaman pulsaciones del reloj.

4/7/12

La ventaja del reloj programable es que su frecuencia de interrupciones puede ser controlada por el software. Si se emplea un cristal de 1 MHZ, el contador se pulsara cada microsegundo. Con registros de 16 bits, las interrupciones se pueden programar para que ocurran a intensidades de 1 microsegundo a 65.536 mseg.

4/7/12

5.5.2 Software de Reloj


Todo lo que hace el hardware del reloj es generar interrupciones en intervalos conocidos. Todo lo dems en que intervenga el tiempo debe ser realizado por el software, el manejador del reloj.

4/7/12

Las obligaciones exactas del manejador del reloj varan entre los sistemas operativos, pero suelen incluirse la mayora de las siguientes: Conservacin de la hora del da. Prevencin de que los procesos se ejecuten mas tiempo del que tienen autorizado.

1.

1.

4/7/12

3. Conteo para uso de la CPU. 4. Manejo de la llamada al sistema ALARM que hacen los procesos de los usuarios. 5. Provision de cronometros guardianes para cuidar partes del sistema en si. 6. Realizacion de perfiles, monitoreo y recoleccion de estadisticas.

4/7/12

5.5.3 MANEJADOR DE RELOJES


El manejador de reloj est contenido en el archivo clock.c. Este acepta estos cuatro tipos de mensajes:
1.

SET_ALARM(nmero de proceso, procedimiento por llamar, demora) GET_TIME SET_TIME(la nueva hora en segundos) CLOCK_TIK

2. 3. 4.

4/7/12

1. SET_ALARM: permite a un proceso fijar un cronometro, este se agota en un numero especificado de pulsaciones de reloj. Cuando el proceso de un usuario hace una llamada ALARM. 1. Enva un mensaje al manejador de la memoria 2. Despus enva un mensaje al manejador del reloj 3. Cuando la alarma se termina el manejador del reloj enva un mensaje al manejador de la memoria(el cual se encarga de que ocurra despus de que ocurra la seal)

4/7/12

3.

SET_TIME: Fija el tiempo real. En el interior del manejador del reloj se lleva el control del tiempo. Cuando se fija el tiempo el manejador determina cuando se carg el sistema.

4/7/12

4. CLOK_TICK: Es la unidad ms pequea de tiempo reconocida por un dispositivo. En computadoras personales, los clock _ticks generalmente se refieren al reloj principal del sistema, que corre a 66 MHz. Esto significa que hay 66 millones de ticks del reloj (o ciclos de reloj) por segundo. Como las CPUs corren mucho ms rpido (por ejemplo, ms de 3 GHz), la CPU puede ejecutar mltiples instrucciones en un nico tick de reloj.

4/7/12

5.6

TERMINALES

Toda computadora tiene una o ms terminales que se utilizan para entablar comunicacin con ella. Las terminales vienen en un numero extremadamente grande de formas diferentes. Es tarea del manejador de terminales ocultar todas estas diferencias de manera que la parte independiente del dispositivo del sistema operativo y los programas de los usuarios no tengan que reescribirse para cada tipo de terminal.

4/7/12

HARDWARE DE LA TERMINAL
Desde el punto de vista del sistema operativo, las terminales se pueden dividir en dos categoras con base en el que el sistema operativo se comunica con ellas. 1. La primera categora consta de las terminales que hacen interfaz. 2. la segunda categora consta de terminales delineadas en la memoria.

4/7/12

1.

Las terminales son dispositivos que contienen un teclado y un despliegue que se comunica mediante el uso de una interfaz en serie un bit a la vez.

Estas terminales emplean un conector de 25 puntas de contacto, de las cuales una punta se utiliza para la transmisin de datos, una para recibir datos y otra es tierra. La otras 22 puntas son para diversas funciones de control. Las terminales pueden subdividirse en varias categoras, las mas simples son las terminales(de impresin) de copia dura. Los caracteres que se teclean, se transmiten a la computadora. Los caracteres enviados por la computadora se escriben en el papel.

4/7/12

2. La segunda categora consta de las terminales delineadas en la memoria. Estas no se comunican con la computadora por una lnea en serie. Las terminales delineadas en la memoria son sincronizadas por una memoria especial llamada RAM de video

4/7/12

5.6.2 MANEJADORES
Muchos de los manejadores de dispositivos dan inicio a algn dispositivo de E/S y despus se bloquean, esperando la llegada de un mensaje. Otros manejadores de dispositivos no dan inicio a ningn dispositivo fsico de E/S(por ejemplo la lectura de un disco de RAM) y no esperan un mensaje de un dispositivo de E/S.

4/7/12

Para

cada clase de dispositivo de E/S presente en un sistema existe una tarea de E/S aparte (manejador de dispositivo). Estos manejadores son procesos desarrollados, cada uno con su estado, registros, mapa de memoria, etc. nica diferencia entre los manejadores de dispositivos y otros procesos es que los maneadores de dispositivos se entrelazan con el kernel y por lo tanto comparten todo un espacio de direccin comn.

MANEJADORES DE DISPOSITIVOS

La

Anda mungkin juga menyukai