Relojes y Terminales

6
Relojes Los relojes son esenciales para la operación de sistemas de tiempo compartido y el buen funcionamiento de cualquier sistema porque: Juegan un papel decisivo en la sincronización de procesos. En la calendarización de trabajos por lote. Registran la hora del día. Evitan que un proceso monopolice la CPU. Se encargan de la asignación de turnos de ejecución entre otras tareas relevantes. Generalmente se cuenta con dos relojes en el sistema: uno que lleva la hora y fecha del sistema y que oscila entre 50 y 60 veces por segundo y el reloj que oscila entre 5 y 100 millones de veces por segundo y que se encarga de enviar interrupciones al CPU de manera periódica. El reloj de mayor frecuencia sirve para controlar el tiempo de ejecución de los procesos, para despertar los procesos que están „durmiendo‟ y para la nzar o iniciar procesos que fueron calendarizados. Para mantener la hora y fecha del sistema generalmente se usa un registro alimentado por una pila de alta duración que almacena estos datos y que se programan de fábrica por primera vez. Así, aunque se suspenda la energía la fecha permanece. Para lanzar procesos (chequeo de tiempo ocioso de un dispositivo, terminación del time slice de un proceso, etc.), se almacena un valor en un registro (valor QUANTUM) el cual se decrementa con cada ciclo del reloj, y cuando llega a cero se dispara un proceso que ejecutará las operaciones necesarias (escoger un nuevo proceso en ejecución, verificar el funcionamiento del motor del disco flexible, hacer eco de un caracter del teclado, etc.). Sincronizando los relojes La sincronización del reloj no tiene que ser exacta y bastara con que sea aproximadamente igual en todos los ordenadores. Hay que tener en cuenta eso si. El modo de actualizar la hora de un reloj es particular. Es fundamenta no retrasar nunca la hora, aunque el reloj se adelante. En vez de eso, hay que atrasar la actualizaron del reloj. Frenarlo. Hasta que alcance la hora aproximada. Existen diferentes algoritmos de actualizan de la hora. El Reloj es únicamente uno de los tantos problemas de sincronización que existen en los sistemas operativos distribuidos.

description

Relojes Sincronizando los relojes, El hardware dentro del reloj, Las funciones del software del reloj. Terminales Hardware de terminales, Las terminales mapeadas a memoria, Interfaz de Red (Terminal X), Software de Terminales

Transcript of Relojes y Terminales

Page 1: Relojes y Terminales

Relojes

Los relojes son esenciales para la operación de sistemas de tiempo compartido y

el buen funcionamiento de cualquier sistema porque:

Juegan un papel decisivo en la sincronización de procesos.

En la calendarización de trabajos por lote.

Registran la hora del día.

Evitan que un proceso monopolice la CPU.

Se encargan de la asignación de turnos de ejecución entre otras tareas relevantes.

Generalmente se cuenta con dos relojes en el sistema: uno que lleva la hora y

fecha del sistema y que oscila entre 50 y 60 veces por segundo y el reloj que

oscila entre 5 y 100 millones de veces por segundo y que se encarga de enviar

interrupciones al CPU de manera periódica. El reloj de mayor frecuencia sirve para

controlar el tiempo de ejecución de los procesos, para despertar los procesos que

están „durmiendo‟ y para lanzar o iniciar procesos que fueron calendarizados.

Para mantener la hora y fecha del sistema generalmente se usa un registro

alimentado por una pila de alta duración que almacena estos datos y que se

programan de fábrica por primera vez. Así, aunque se suspenda la energía la

fecha permanece. Para lanzar procesos (chequeo de tiempo ocioso de un

dispositivo, terminación del time slice de un proceso, etc.), se almacena un valor

en un registro (valor QUANTUM) el cual se decrementa con cada ciclo del reloj, y

cuando llega a cero se dispara un proceso que ejecutará las operaciones

necesarias (escoger un nuevo proceso en ejecución, verificar el funcionamiento

del motor del disco flexible, hacer eco de un caracter del teclado, etc.).

Sincronizando los relojes

La sincronización del reloj no tiene que ser exacta y bastara con que sea

aproximadamente igual en todos los ordenadores. Hay que tener en cuenta eso si.

El modo de actualizar la hora de un reloj es particular. Es fundamenta no retrasar

nunca la hora, aunque el reloj se adelante. En vez de eso, hay que atrasar la

actualizaron del reloj. Frenarlo. Hasta que alcance la hora aproximada. Existen

diferentes algoritmos de actualizan de la hora. El Reloj es únicamente uno de los

tantos problemas de sincronización que existen en los sistemas operativos

distribuidos.

Page 2: Relojes y Terminales

El hardware dentro del reloj

Se usan comúnmente dos tipos de relojes en las computadoras, y ambos son muy

diferentes de los relojes que la gente usa. 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 funciones del software 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 “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.

Page 3: Relojes y Terminales

Terminales

Las terminales tienen gran número de formas distintas y el manejador de la

terminal debe ocultar estas diferencias de modo que la parte independiente del

dispositivo en el S. O. y los programas del usuario no se tienen que reescribir para

cada tipo de terminal.

Hardware de terminales

Desde el punto de vista del S. O. se las puede clasificar en:

Interfaz mapeada a memoria:

– Orientada a caracteres.

– Orientada a bits.

Las terminales mapeadas a memoria:

No se comunican mediante una línea serial.

Poseen una interfaz mediante una memoria especial llamada video RAM:

– Forma parte del espacio de direcciones de la computadora.

– La CPU se dirige a ella como al resto de la memoria.

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

Page 4: Relojes y Terminales

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:

– Uno aloja al código (ASCII) del caracter por exhibir.

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

Interfaz RS-232:

– Hardcopy (terminales de impresión) Obsoletas.

– TTY “de vidrio” (terminales de video) Obsoletas.

– Inteligente (computadoras con CPU y memoria).

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

Interfaz de Red (Terminal X)

Un terminal X es un ordenador que ejecuta programas situados en un servidor.

Las terminales X son el tipo más sofisticado de terminal disponible. En lugar de

conectar a un puerto serie, usualmente se conectan a una red como Ethernet. En

lugar de ser relegadas a aplicaciones de modo texto pueden desplegar

aplicaciones X.

Page 5: Relojes y Terminales

Software de Terminales

Software de entrada

• El manejador obtiene los caracteres de teclado

• Dos modos de funcionamiento

» Modo puro: secuencia ASCII

» Modo elaborado: edición dentro de la línea

• Tablas de correspondencia

• Buffer para guardar líneas

• ioctl : llamada al sistema para controlar los parámetros del terminal

• Funciones

» Eco en pantalla

» Truncar la línea

» Tabuladores

» Conversión de intro

» Borrado de caracteres

» Borrado de líneas

» Secuencias de escape

» CTRL-S CTRL-Q

» DEL BREAK CTRL-D

Software de Salida

• En terminales de interfaz RS-232

» El manejador copia un carácter del buffer de salida y se

bloquea hasta que llega la interrupción

• En terminales de interfaz por memoria

» los caracteres se copian en la RAM de vídeo

» posición en la RAM de vídeo

» scroll de pantalla

» Posicionamiento del cursor

» Inserción de texto

Page 6: Relojes y Terminales

Conclusiones

Los relojes son importantes por que sincronizan los procesos, calendarizan

los trabajos por lote, registran la hora del día y evitan que un proceso

monopolice la CPU.

Aparte del que lleva el tiempo, existe otro reloj que se encarga de enviar

interrupciones al CPU de manera periódica.

Los procesos se atienden por periodos de tiempo llamados Quantums.

Mientras más precisos y más sincronizados, los relojes trabajan mejor.

Los relojes constan de un oscilador de cristal, un contador y un registro.

Existen tres tipos de terminales, de memoria, de interfaz y de red.

Las de memoria se encargan de la interacción de la memoria RAM con el

CPU.

Las de Interfaz se encargan de la interacción de los dispositivos de E/S con

el CPU.

Los de red, los menos tomados en cuentas, de la comunicación con otros

dispositivos.