Top Banner
Entrada / Salida. Relojes y terminales Dr. Alonso Ramírez Manzanares 4-Nov-2010
29

Entrada / Salida. Relojes y terminalesalram/SO/clase18.pdf · pero no controlan ningun dispositivo de entrada salida. Acepta 19 mensajes de la siguiente forma: Acepta el mensaje,

Jul 16, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Entrada / Salida. Relojes y terminalesalram/SO/clase18.pdf · pero no controlan ningun dispositivo de entrada salida. Acepta 19 mensajes de la siguiente forma: Acepta el mensaje,

Entrada / Salida.Relojes y terminales

Dr. Alonso Ramírez Manzanares4-Nov-2010

Page 2: Entrada / Salida. Relojes y terminalesalram/SO/clase18.pdf · pero no controlan ningun dispositivo de entrada salida. Acepta 19 mensajes de la siguiente forma: Acepta el mensaje,

Relojes

Tambien conocidos como timers o temporizadores.

Son esenciales en sistemas de tiempo compartido.

El software de reloj es un manejador de dispositivo.

Page 3: Entrada / Salida. Relojes y terminalesalram/SO/clase18.pdf · pero no controlan ningun dispositivo de entrada salida. Acepta 19 mensajes de la siguiente forma: Acepta el mensaje,

Hardware de relojLos relojes simples causan una interrupción a 50 o 60 hz, tomandolo de los ciclos de la corriente alterna, por ejemplo.

Los relojes mas sofisticados se componen de un cristal oscilador, un contador y un registro contador de retención.

Page 4: Entrada / Salida. Relojes y terminalesalram/SO/clase18.pdf · pero no controlan ningun dispositivo de entrada salida. Acepta 19 mensajes de la siguiente forma: Acepta el mensaje,

Hardware de reloj

Un cristal de cuarzo, bajo una tensión electrica genera ciclos de alta presición en el rango de 5 a 100 Mhz.

La señal se introduce para decrementar un contador a cero, momento en el cual se genera una interrupción.

Page 5: Entrada / Salida. Relojes y terminalesalram/SO/clase18.pdf · pero no controlan ningun dispositivo de entrada salida. Acepta 19 mensajes de la siguiente forma: Acepta el mensaje,

Hardware de relojLos relojes programables tienen básicamente 2 modos de programación:

Modo de un disparo. Una vez que se llega a cero y se genera la interrupción, el reloj se para y se queda detenido hasta que explicitamente se reinicia por software.

Modo de señal cuadrada. Una vez que se llega a cero y se genera la interrupción, el valor del registro de retención se copia de nuevo al contador y el proceso se repite de manera infinita. Esto genera los bien conocidos ticks-de-reloj.

Page 6: Entrada / Salida. Relojes y terminalesalram/SO/clase18.pdf · pero no controlan ningun dispositivo de entrada salida. Acepta 19 mensajes de la siguiente forma: Acepta el mensaje,

Hardware de reloj

Con los relojes programables, la frecuencia de interrupción se controla por software. Las variables son la frecuencia del cristal y el tamaño en bits del registro contador.

¿Un ejemplo?

Page 7: Entrada / Salida. Relojes y terminalesalram/SO/clase18.pdf · pero no controlan ningun dispositivo de entrada salida. Acepta 19 mensajes de la siguiente forma: Acepta el mensaje,

Hardware de reloj

El reloj de tiempo de la CPU.

Se usa una batería para almacenar la hora de un reloj de respaldo.

Cuando ya no hay batería (el hardware indica esto) se pide la hora al usuario (también se puede obtener por red).

Usualmente la hora se cuenta como el número de ticks desde una fecha en particular, mucho tiempo fué desde las 12 am del 1º de Enero de 1970.

Page 8: Entrada / Salida. Relojes y terminalesalram/SO/clase18.pdf · pero no controlan ningun dispositivo de entrada salida. Acepta 19 mensajes de la siguiente forma: Acepta el mensaje,

Software de relojLa tareas de este software son (podemos tener muchos relojes virtuales con un solo reloj físico):

Tener la hora del dia

Evitar que los procesos se ejecuten por periodos más largos de los permitidos (se usan contadores temporales y se guardan valores en tablas de procesos).

Contar el uso del CPU

Manejar el sistema de llamadas de alarma usado por los procesos.

Proveer watchdog-timers

Poder hacer estadísticas de como se usan los procesos.

Page 9: Entrada / Salida. Relojes y terminalesalram/SO/clase18.pdf · pero no controlan ningun dispositivo de entrada salida. Acepta 19 mensajes de la siguiente forma: Acepta el mensaje,

Software de reloj, estrategias para sortear el overflow al calcular la hora

un contador de ticks de 32 bits es muy pequeño

Page 10: Entrada / Salida. Relojes y terminalesalram/SO/clase18.pdf · pero no controlan ningun dispositivo de entrada salida. Acepta 19 mensajes de la siguiente forma: Acepta el mensaje,

Software de reloj, Contabilizar el tiempo de un

procesoEl planificador inicia un contador con el valor del cuanto de ese proceso expresado en ticks.

En cada interrupción de reloj se decrementa.

Cuando llega a cero el controlador de reloj llama al planificador de procesos.

Page 11: Entrada / Salida. Relojes y terminalesalram/SO/clase18.pdf · pero no controlan ningun dispositivo de entrada salida. Acepta 19 mensajes de la siguiente forma: Acepta el mensaje,

Software de reloj,Contabilizar uso de CPU

Se inicia un temporizador cada vez que se incia un proceso.

Cuando se detiene el proceso se ve el tiempo transcurrido.

Cada vez que se lleva a cabo una interrupción, este temporizador debe de guardarse y reestablecerse después. Pero esto es costoso y casi nunca se usa.

Page 12: Entrada / Salida. Relojes y terminalesalram/SO/clase18.pdf · pero no controlan ningun dispositivo de entrada salida. Acepta 19 mensajes de la siguiente forma: Acepta el mensaje,

Software de reloj,Otras aplicaciones

Generar muchas alarmas. Por ejemplo para manejo reintentos en paquetes de datos en red.

Solo se tiene un reloj, y necesitamos simular que tenemos muchos temporizadores.

Page 13: Entrada / Salida. Relojes y terminalesalram/SO/clase18.pdf · pero no controlan ningun dispositivo de entrada salida. Acepta 19 mensajes de la siguiente forma: Acepta el mensaje,

Software de reloj

Generación de muchas señales con una cola

Notese que todas las operaciones de reloj deben de implementarse de manera que sean muy rapidas: el manejador de int. actua sobre variables globales y solo llama a la tarea de reloj cuando se vence

una alarma o se acaba el cuanto

Page 14: Entrada / Salida. Relojes y terminalesalram/SO/clase18.pdf · pero no controlan ningun dispositivo de entrada salida. Acepta 19 mensajes de la siguiente forma: Acepta el mensaje,

Software de reloj

Los watchdogs sirven para poder contar delays en el manejo de dispositivos de entrada salida.

La diferencia es que en vez de generar un señal, se hace la llamada, el manejador de reloj llama a un procedimiento que fué indicado por el que hizo la requisición.

No necesita que se llamen interrupciones y señales en programas del kenel.

Page 15: Entrada / Salida. Relojes y terminalesalram/SO/clase18.pdf · pero no controlan ningun dispositivo de entrada salida. Acepta 19 mensajes de la siguiente forma: Acepta el mensaje,

Software de relojEstadísticas

Page 16: Entrada / Salida. Relojes y terminalesalram/SO/clase18.pdf · pero no controlan ningun dispositivo de entrada salida. Acepta 19 mensajes de la siguiente forma: Acepta el mensaje,

Software de relojEstadísticas

Page 17: Entrada / Salida. Relojes y terminalesalram/SO/clase18.pdf · pero no controlan ningun dispositivo de entrada salida. Acepta 19 mensajes de la siguiente forma: Acepta el mensaje,

Software de relojen MINIX

Watchdogs

Manda un mensaje, se necesita que el proceso receptor haga un receive, se usa en el manejador de red para recibir datos o recibir un mensaje de expiración.

La tarea de reloj acepta estos mensajesEl mensaje cuando ha vencido una alarma o el proceso en curso ha agotado su quantum

Page 18: Entrada / Salida. Relojes y terminalesalram/SO/clase18.pdf · pero no controlan ningun dispositivo de entrada salida. Acepta 19 mensajes de la siguiente forma: Acepta el mensaje,

Diagrama de la tarea reloj

Page 19: Entrada / Salida. Relojes y terminalesalram/SO/clase18.pdf · pero no controlan ningun dispositivo de entrada salida. Acepta 19 mensajes de la siguiente forma: Acepta el mensaje,

Terminales

Normalmente se tienen 3 tipos de terminales

Terminales mapeadas en memoria (teclado y pantalla)

Terminales conectadas por RS-232 (modem)

Conectadas por red.

Page 20: Entrada / Salida. Relojes y terminalesalram/SO/clase18.pdf · pero no controlan ningun dispositivo de entrada salida. Acepta 19 mensajes de la siguiente forma: Acepta el mensaje,

Terminales

Page 21: Entrada / Salida. Relojes y terminalesalram/SO/clase18.pdf · pero no controlan ningun dispositivo de entrada salida. Acepta 19 mensajes de la siguiente forma: Acepta el mensaje,

Terminales mapeadas en memoria

Aqui se guardan los mapas de caracteres en ROM

Aqui se guarda el estado actual de la pantalla.

El teclado tiene inerfase serial o paralelo

Page 22: Entrada / Salida. Relojes y terminalesalram/SO/clase18.pdf · pero no controlan ningun dispositivo de entrada salida. Acepta 19 mensajes de la siguiente forma: Acepta el mensaje,

Terminales mapeadas en memoria

En las terminales de caracteres se tiene informacion caracter por caracter

En las terminales de mapas de bits se tiene información pixel por pixel. En color tenemos 8 bits por canal de color RGB. ¿cuantos megas necesitamos para almacenar una pantalla de resolución 1024x768?

Page 23: Entrada / Salida. Relojes y terminalesalram/SO/clase18.pdf · pero no controlan ningun dispositivo de entrada salida. Acepta 19 mensajes de la siguiente forma: Acepta el mensaje,

Terminales mapeadas en memoria

Con respecto al teclado, tiene su propio chip manejador en la tarjeta madre.

se genera una interrupción cuando se presiona cualquier tecla y tambien cuando se suelta.

El hardware proporciona el numero de tecla, no el codigo ASCII ¿para que sirve esto?

Page 24: Entrada / Salida. Relojes y terminalesalram/SO/clase18.pdf · pero no controlan ningun dispositivo de entrada salida. Acepta 19 mensajes de la siguiente forma: Acepta el mensaje,

Terminales RS-232

¿Han visto en las películas las que escriben a impresora?

Page 25: Entrada / Salida. Relojes y terminalesalram/SO/clase18.pdf · pero no controlan ningun dispositivo de entrada salida. Acepta 19 mensajes de la siguiente forma: Acepta el mensaje,

Terminales XContienen un CPU, megabytes de memoria, un teclado y un mouse.

Usualmente se conectan por ethernet.

Un terminal X es una computadora que ejecuta software X.

El software en la terminal X que acepta entradas de mouse y teclado y comandos de una computadora remota es el X-Server.

Se comunica por medio de red con clientes X que corren en algún host remoto (continua...)

Page 26: Entrada / Salida. Relojes y terminalesalram/SO/clase18.pdf · pero no controlan ningun dispositivo de entrada salida. Acepta 19 mensajes de la siguiente forma: Acepta el mensaje,

Terminales X

Un cliente-X es el manejador de ventanas, el cual controla creación, borrado y movimiento de ventanas. Le

dice al server X que hacer por medio de comandos.

Page 27: Entrada / Salida. Relojes y terminalesalram/SO/clase18.pdf · pero no controlan ningun dispositivo de entrada salida. Acepta 19 mensajes de la siguiente forma: Acepta el mensaje,

La tarea de sistema de MINIX

Comunica el memory-manager y el file-system con el kernel.

Ejemplo: un fork se maneja por el MM pero el kernel debe de saber que hay un nuevo proceso.

Page 28: Entrada / Salida. Relojes y terminalesalram/SO/clase18.pdf · pero no controlan ningun dispositivo de entrada salida. Acepta 19 mensajes de la siguiente forma: Acepta el mensaje,

La tarea de sistema de MINIX

ST se parece a otras tareas que hemos visto, pero no controlan ningun dispositivo de entrada salida.

Acepta 19 mensajes de la siguiente forma: Acepta el mensaje, despacha el correpondiente procedimiento de servicio y manda una respuesta.

Page 29: Entrada / Salida. Relojes y terminalesalram/SO/clase18.pdf · pero no controlan ningun dispositivo de entrada salida. Acepta 19 mensajes de la siguiente forma: Acepta el mensaje,

La tarea de sistema de MINIX, mensajes.