Está en la página 1de 56

Hardware de E/S

Software de E/S

Capas de software

Discos

Tema 5. Entrada/Salida
Francisco Fernndez Rivera
Sistemas Operativos I
Grado en Ingeniera Informtica
Escuela Tcnica Superior de Ingeniera
Universidad de Santiago de Compostela

Relojes

Interfaces

Hardware de E/S

Software de E/S

Capas de software

Discos

ndice

Hardware de Entrada/Salida

Fundamentos del Software de Entrada/Salida

Capas del Software de Entrada/Salida

Discos

Relojes (temporizadores)

Otros Interfaces de Usuario

Relojes

Interfaces

Hardware de E/S

Software de E/S

Capas de software

Discos

ndice

Hardware de Entrada/Salida

Fundamentos del Software de Entrada/Salida

Capas del Software de Entrada/Salida

Discos

Relojes (temporizadores)

Otros Interfaces de Usuario

Relojes

Interfaces

Hardware de E/S

Software de E/S

Capas de software

Discos

Relojes

Interfaces

Entrada/Salida
El Sistema Operativo y la Entrada/Salida
El SO controla los dispositivos de E/S, para ello debe:
Emitir comandos
Captar interrupciones
Manejar errores

Interfaz simple entre dispositivos y sistema


Igual para todos los dispositivos

Administracin de la E/S
Software estructurado en niveles con tareas bien definidas

Hardware de E/S: Nos centramos en el interfaz con el


software
Comandos, funciones y reporte de errores

Hardware de E/S

Software de E/S

Capas de software

Discos

Relojes

Interfaces

Hardware de Entrada/Salida
Tipos de dispositivos
Dispositivos de bloque: Informacin en bloques de
tamao fijo (512B-32KB)
Cada bloque tiene su direccin
Transferencia de uno o ms bloques consecutivos
Los bloques se leen o escriben independientemente del
resto
Discos, CD, memorias USB

Dispositivos de carcter: Enva o acepta un flujo de


caracteres sin estructura de bloque
No direccionable y no tiene operacin de bsqueda
Impresoras, ratones, interfaces de red

Clasificacin no perfecta. Algunos dispositivos (p.e., reloj)


no se adaptan
Sirve para independizar la parte del SO que gestiona la E/S

Hardware de E/S

Software de E/S

Capas de software

Hardware de Entrada/Salida
Amplio rango de velocidades

Discos

Relojes

Interfaces

Hardware de E/S

Software de E/S

Capas de software

Discos

Relojes

Interfaces

Hardware de Entrada/Salida
Comunicacin controladora-CPU
La controladora tiene registros para comunicarse con la CPU
Al escribir en los registros el SO enva rdenes
Al leer los registros el SO puede conocer el estado del dispositivo
Bfer para transferencia de datos
El SO puede leer y escribir en el bfer
Cmo se comunica la CPU con los registros de control y los bferes
de datos?
Puerto de E/S (figura (a))
E/S con asignacin de memoria (figura (b))

Hardware de E/S

Software de E/S

Capas de software

Discos

Relojes

Interfaces

Comunicacin controladora-CPU
Puerto de E/S
Se asigna un nmero de puerto de E/S a cada registro de
control
Un entero de 8 o 16 bits
Espacio de puertos de E/S: conjunto de todos los puertos
de E/S

Slo puede utilizarlos el SO: Instrucciones especiales


IN REG, PUERTO
OUT REG, PUERTO
Los espacios de direcciones y de puertos de E/S son
diferentes
Las instrucciones de acceso a memoria son diferentes
IN R0, 4 (E/S)
MOV R0, 4 (acceso a memoria)

Hardware de E/S

Software de E/S

Capas de software

Discos

Relojes

Comunicacin controladora-CPU

E/S con asignacin de memoria


Asignar los registros de control al espacio de memoria
Una direccin a cada registro de control
En esa direccin no hay memoria asignada

Esquema hbrido:
Bferes de datos de E/S por asignacin de memoria y
puertos de E/S para registros de control

Interfaces

Hardware de E/S

Software de E/S

Capas de software

Discos

Relojes

Comunicacin controladora-CPU

Cmo funcionan estos esquemas?


Cuando la CPU quiere leer
Coloca la direccin en el bus de direcciones
Activa seal de read en el bus de control
Un bit adicional especifica espacio de E/S o de memoria
Responde la memoria o la E/S

Si slo hay espacio de memoria


Los mdulos de memoria y los dispositivos de E/S
comprueban si la direccin est en su rango

Interfaces

Hardware de E/S

Software de E/S

Capas de software

Discos

Relojes

Interfaces

Comunicacin controladora-CPU
Ventajas de la E/S por asignacin de memoria
Instrucciones especiales de E/S (puertos de E/S) =>
cdigo ensamblador (no es posible en C o C++)
E/S por asignacin de memoria: los registros de control
son variables en memoria. La controladora de dispositivo
(driver ) puede escribirse en C

E/S por asignacin de memoria no requiere protecciones


especiales para evitar que los procesos hagan
operaciones de E/S
El SO no debe colocar esta parte del espacio de
direcciones en el espacio de direcciones virtuales de
ningn proceso
Si dispositivos distintos usan pginas distintas del espacio
de direcciones, un proceso puede tener acceso a algunos
dispositivos y no a los dems (a travs de la tabla de
pginas)

Hardware de E/S

Software de E/S

Capas de software

Discos

Relojes

Interfaces

Comunicacin controladora-CPU
Desventajas de la E/S por asignacin de memoria
Llevar a cache un registro de control puede ser desastroso
CICLO:

test puerto_4
// puerto_4 es cero?
beq LISTO
// si es 0, ir a LISTO
branch CICLO // en caso contrario sigue comprobando
LISTO: .........

Si puerto_4 (reg. de control del dispositivo de E/S) se lleva


a cache
Las siguientes comprobaciones leern el dato de cache sin
preguntar al dispositivo de E/S
Cuando el dispositivo est listo, el SO no podra darse
cuenta

Deshabilitacin selectiva de cache (por pginas)

Hardware de E/S

Software de E/S

Capas de software

Discos

Relojes

Comunicacin controladora-CPU
Desventajas de la E/S por asignacin de memoria
Todas las controladoras deben examinar las direcciones del bus para
ver a cuales responder
Fcil de implementar con un solo bus
Buses separados: Los dispositivos de E/S no ven las direcciones de
memoria
Solucin: Enviar todas las referencias a memoria, si esta no responde
se envan a otros buses
Requiere hardware adicional

Interfaces

Hardware de E/S

Software de E/S

Capas de software

Comunicacin controladora-CPU
Desventajas de la E/S por
asignacin de memoria
Otra solucin: Filtrado
de direcciones (en el
chip puente de PCI o
con un husmeador de
bus)
Contiene registros de
rango
Las direcciones en uno
de los rangos que
pertenecen a memoria,
se envan al bus PCI

Discos

Relojes

Interfaces

Hardware de E/S

Software de E/S

Capas de software

Discos

Relojes

Interfaces

Acceso Directo a Memoria (DMA)


Se libera a la CPU de la gestin de la E/S
La CPU necesita direccionar las controladoras de
dispositivos para intercambiar datos
Independientemente de si se usa E/S por asignacin de
memoria o puertos de E/S
La CPU puede comunicar directamente con la
controladora, pero se desperdicia tiempo de CPU

DMA: Libera a la CPU del intercambio de datos


Para que el SO pueda utilizar este esquema, se necesita
una controladora de DMA hardware
Un DMA puede controlar varios dispositivos
CLAVE: Acceso al bus del sistema de forma independiente
de la CPU

Hardware de E/S

Software de E/S

Capas de software

Discos

Relojes

Acceso Directo a Memoria (DMA)


Se libera a la CPU de la gestin de la E/S
Contiene varios registros en los que la CPU puede leer y escribir
Registro de direccin de memoria, contador de bytes, y uno o
ms registros de control
Los registros de control indican el puerto de E/S, el tipo de
transferencia (R/W), la unidad de transferencia, el nmero de
bytes en una rfaga

Ejemplo: Lectura de disco sin DMA


1

La controladora lee el bloque, lo coloca en un bfer interno y verifica


que no haya errores

Produce una interrupcin

El SO lee el bloque del bfer palabra a palabra y lo almacena en


memoria (varios ciclos)

Interfaces

Hardware de E/S

Software de E/S

Capas de software

Discos

Relojes

Interfaces

Acceso Directo a Memoria (DMA)


Ejemplo: Lectura de disco con DMA
1

El SO programa el DMA (establece qu transferir y a dnde) e indica al disco


que lea los datos. La controladora de DMA inicia la operacin cuando hay datos
vlidos en el buffer de la controladora de disco

La controladora de DMA inicia la transferencia enviando una peticin de lectura


a la controladora de disco, que incluye la direccin de memoria inicial

La controladora de disco escribe en memoria

Al completar la escritura la controladora de disco enva un ack, el DMA genera


direcciones de memoria y disminuye la cuenta de bytes

Al terminar (la cuenta de bytes llega a cero) el DMA interrumpe a la CPU

Hardware de E/S

Software de E/S

Capas de software

Discos

Relojes

Acceso Directo a Memoria (DMA)


Operacin del DMA
Capaces de gestionar varias transferencias al mismo
tiempo
Varios canales con sus propios registros

Pueden operar en modo palabra o modo bloque


Modo palabra: compite con la CPU por el acceso al bus
(Robo de ciclo)
Modo bloque: Adquiere el bus, emite la transferencia y
libera el bus (Modo de rfaga)
Ms eficiente que robo de ciclo pero puede bloquear la
CPU

La mayora de los DMA utilizan direcciones fsicas


No todos los sistemas utilizan DMA: si la CPU no tiene
otras tareas que hacer, es ms rpido no usar DMA

Interfaces

Hardware de E/S

Software de E/S

Capas de software

Discos

Relojes

Interfaces

Interrupciones
Interrupciones y E/S
El dispositivo de E/S (o DMA) utiliza la interrupcin para indicar que ha
terminado el trabajo
La controladora de interrupciones (en la CPU) procesa la interrupcin
Interrumpe la CPU
Vector de interrupcin para obtener la rutina de atencin al
dispositivo
Guardar informacin de retorno de la rutina de interrupcin (en la pila)

Hardware de E/S

Software de E/S

Capas de software

Discos

Relojes

Interfaces

Interrupciones
Interrupciones precisas e imprecisas
Procesadores superescalares: cuando ocurre una interrupcin despus
de una instruccin, es posible que las instrucciones anteriores no
hayan terminado
Interrupcin precisa (Figura (a)): El PC apunta a la instruccin que
gener la interrupcin, y puede reiniciarse ms tarde
Interrupcin imprecisa (Figura (b)): Distintas instrucciones con
diferentes estados de ejecucin. Mucha informacin de estado en la
pila. El reinicio es ms complicado y lento. Diseo para que algunas
interrupciones (p.e., E/S) sean precisas y otras no

Hardware de E/S

Software de E/S

Capas de software

Discos

ndice

Hardware de Entrada/Salida

Fundamentos del Software de Entrada/Salida

Capas del Software de Entrada/Salida

Discos

Relojes (temporizadores)

Otros Interfaces de Usuario

Relojes

Interfaces

Hardware de E/S

Software de E/S

Capas de software

Discos

Relojes

Interfaces

Fundamentos del Software de Entrada/Salida


Conceptos clave
Independencia de dispositivos: Programas que puedan
acceder a cualquier dispositivo de E/S sin tener que
especificar el dispositivo
Comando <entrada><salida>
Debe funcionar con cualquier dispositivo de entrada y/o
salida

Denominacin uniforme: el nombre del archivo no debe


depender del dispositivo
Montaje del dispositivo en el rbol de directorios

Manejo de errores: resolverlos lo ms cerca del hardware


que sea posible
Muchos errores son transitorios
Controlador software (repetir la operacin)

Hardware de E/S

Software de E/S

Capas de software

Discos

Relojes

Interfaces

Fundamentos del Software de Entrada/Salida


Conceptos clave
Transferencias sncronas (de bloqueo) o asncronas
(controladas por interrupciones):
La mayora de la E/S son asncronas: La CPU inicia la
transferencia y atiende a otro proceso hasta que llega la
interrupcin
En los programas de usuario son de bloqueo: despus de
un read el proceso se para hasta que los datos estn en el
bfer
El SO debe hacer que las operaciones asncronas
parezcan de bloqueo para los usuarios

Utilizacin de bfer: almacenamiento temporal hasta que


se lleva a su destino final (que en ocasiones no se conoce
hasta que se examina el contenido del bfer)
Chequeo de errores
Desacoplamiento de llenado y vaciado
Muchas operaciones de copia => Sobrecoste a la E/S

Hardware de E/S

Software de E/S

Capas de software

Discos

Relojes

Fundamentos del Software de Entrada/Salida

Conceptos clave
Tres formas distintas de llevar a cabo la E/S
1
2
3

E/S programada
E/S controlada por interrupciones
E/S mediante DMA

Interfaces

Hardware de E/S

Software de E/S

Capas de software

Entrada/Salida Programada
Operacin
La CPU sondea el dispositivo
para ver si est listo
Desventaja: Ocupa la CPU hasta
completar la E/S
Ejemplo: imprimir ABCEDFGH
Copia carcter a carcter al
registro de datos de la
controladora de la
impresora
Despus de cada carcter
el SO comprueba si la
impresora est lista
Chequeo del registro de
estado de la controladora
Estado no listo cuando se
escribe en el bfer de datos
Estado listo cuando se ha
procesado el carcter

Discos

Relojes

Interfaces

Hardware de E/S

Software de E/S

Capas de software

Discos

Relojes

Interfaces

Entrada/Salida Controlada por Interrupciones


Operacin
La CPU realiza la transferencia y se planifica algn otro proceso
Impresora: entre carcter y carcter cambio de contexto
El proceso que imprime se bloquea hasta que termina la cadena
(Figura (a))
Cuando el dispositivo de E/S termina genera una interrupcin que
detiene al proceso actual (Figura (b), servicio de atencin a la
interrupcin)
Desventaja: muchas interrupciones

Hardware de E/S

Software de E/S

Capas de software

Discos

Relojes

Entrada/Salida con DMA

Operacin
El DMA realiza la E/S sin molestar a la CPU
Una E/S programada pero el trabajo lo realiza el DMA en lugar de la
CPU (Figura (a))
Se reduce el nmero de interrupciones (Figura (b))
De una por carcter a una por cada bfer
Cuando puede no ser conveniente utilizar DMA?: cuando la CPU no
tiene nada que hacer mientras espera la interrupcin

Interfaces

Hardware de E/S

Software de E/S

Capas de software

Discos

ndice

Hardware de Entrada/Salida

Fundamentos del Software de Entrada/Salida

Capas del Software de Entrada/Salida

Discos

Relojes (temporizadores)

Otros Interfaces de Usuario

Relojes

Interfaces

Hardware de E/S

Software de E/S

Capas de software

Discos

Relojes

Interfaces

Capas del Software de Entrada/Salida


Organizacin
El software de E/S se organiza en cuatro capas
Cada capa tiene una funcin y una interfaz con los niveles
adyacentes bien definida
Funcionalidad e interfaces pueden variar de un sistema a
otro

Hardware de E/S

Software de E/S

Capas de software

Discos

Relojes

Gestor de Interrupciones
Qu hace el SO cuando se recibe una interrupcin?
Ocultar las interrupciones: El proceso que inicia la E/S se
bloquea hasta que se complete la E/S
Pasos a realizar una vez recibida la interrupcin (SO):
1
2

3
4

Guardar los registros


Establecer el contexto y la pila para el procedimiento de
servicio de interrupciones (TP, TLB, ...)
Copiar los registros a la tabla de procesos
Ejecutar el procedimiento de servicio de interrupciones.
Extrae informacin de los registros de la controladora del
dispositivo
Elegir el proceso que se va a ejecutar (puede ser el
proceso que estaba bloqueado por la E/S o el driver)
Establecer el contexto y cargar los registros del nuevo
proceso
Ejecutar el nuevo proceso

Interfaces

Hardware de E/S

Software de E/S

Capas de software

Discos

Relojes

Interfaces

Drivers de Dispositivos
Qu hace el SO cuando se recibe una interrupcin?
Cada dispositivo de E/S tiene asociada una controladora
La controladora tiene registros de datos y control para
comunicarse con la CPU
El nmero y tipo de registros varia de una controladora a
otra

Cada controladora de E/S necesita un cdigo especfico


de control: driver
Proporcionado por el fabricante
Maneja un tipo de dispositivo (o una clase)

El driver forma parte del ncleo del SO


Debe acceder a registros de la controladora

Es posible construir drivers que se ejecuten en el espacio


de usuario

Hardware de E/S

Software de E/S

Drivers de Dispositivos
Situacin de los drivers

Capas de software

Discos

Relojes

Interfaces

Hardware de E/S

Software de E/S

Capas de software

Discos

Relojes

Interfaces

Drivers de Dispositivos
Estructura del driver
Interfaces estndares del SO con la controladora
Dispositivos de E/S de bloque o de carcter
Interfaz: varios procedimientos que realiza el driver a
instancia del SO (leer bloque, escribir bloque, leer carcter,
...)

El driver se carga dinmicamente en tiempo de ejecucin.


Estructura general comn:
Comprobar parmetros de entrada (si no vlidos, error)
Traducir trminos abstractos a concretos (p.e. convertir un
nmero de bloque a cabeza, pista, sector)
Comprobar si el dispositivo est en uso y poner la peticin
en cola
Envo de comandos a la controladora (escritura en los
registros)
Comprobar si acepta el comando y comprobar errores

Hardware de E/S

Software de E/S

Capas de software

Discos

Relojes

Interfaces

Drivers de Dispositivos

Estructura del driver


Una vez emitidos los comandos, dos situaciones:
La controladora debe realizar un trabajo: Se bloquea el
driver hasta recibir una interrupcin
La operacin termina sin retraso: el proceso no pasa a
estado inactivo

Una vez completada la operacin, comprueba los errores


Si no hay errores
Pasar datos al software independiente del dispositivo (capa
superior del software de E/S)
Atender otras peticiones

Hardware de E/S

Software de E/S

Capas de software

Discos

Relojes

Interfaces

Software de E/S Independiente del Dispositivo

Qu hace esta capa del software de E/S?


Funciones de E/S comunes a todos los dispositivos
Interfaz uniforme para los drivers
Uso del bfer
Reporte de errores
Asignar y liberar dispositivos dedicados
Proporcionar un tamao de bloque independiente del
dispositivo

Debe proveer un interfaz uniforme para el software a nivel


de usuario

Hardware de E/S

Software de E/S

Capas de software

Discos

ndice

Hardware de Entrada/Salida

Fundamentos del Software de Entrada/Salida

Capas del Software de Entrada/Salida

Discos

Relojes (temporizadores)

Otros Interfaces de Usuario

Relojes

Interfaces

Hardware de E/S

Software de E/S

Capas de software

Discos

Relojes

Discos
Organizado en cilindros, pistas,
sectores
Entre 1 y 16 cabezas
Bsquedas traslapadas: la
controladora puede realizar
bsquedas en dos o ms unidades a
la vez
Ms sectores en la zonas exteriores
que en las interiores (16 o ms
zonas)

Geometra fsica vs. geometra virtual

Interfaces

Hardware de E/S

Software de E/S

Capas de software

Discos

Relojes

Interfaces

Discos
Mejora del rendimiento
La brecha de rendimiento entre CPU y disco es cada vez
mayor
El tiempo de bsqueda en disco se ha reducido en un
factor 10 en 40 aos (de 100 ms a 10 ms)
Mucho menos que el tiempo de ciclo de la CPU

Para el mejorar el rendimiento, paralelismo en la E/S


RAID (Redundant Array of Independent Disks)
En contraposicin con el SLED (Single Large Expensive
Disk )

Conjunto de unidades de disco con una nica controladora


El SO lo ve como un SLED pero con mejor rendimiento y
fiabilidad
Distribucin de datos entre las unidades para operaciones
en paralelo
Tolerancia de fallos: almacenamiento redundante de datos,
recuperacin incluso si falla un disco

Hardware de E/S

Software de E/S

Capas de software

Discos

Relojes

Interfaces

Discos

Organizacin en RAID
Varios niveles (RAID 0 a RAID 6)
Objetivos del paralelismo en un sistema de discos:
Equilibrar la carga en mltiples accesos pequeos.
Incrementar la productividad
Paralelizar los accesos grandes para reducir el tiempo de
respuesta.

Mejorar la velocidad de transferencia con la distribucin de


los datos en mltiples discos.

Hardware de E/S

Software de E/S

Capas de software

Formato de Disco
Desajuste de cilindros
El sector 0 de cada pista est
desfasado de la pista anterior
Permite mejorar el
rendimiento
Al cambiar de pista para leer
el bloque 0 de la pista
contigua el disco sigue
girando
Si no hay desfase, al situar
la cabeza en la pista
contigua, el bloque 0 ya
habra pasado

La desviacin depende de la
geometra

Discos

Relojes

Interfaces

Hardware de E/S

Software de E/S

Capas de software

Discos

Relojes

Interfaces

Desajuste de Cilindros en el Disco


Ejemplo de clculo de desajuste de cilindros
Disco de 10.000 RPM, 300 sectores/pista, tiempo de
cambio de pista 800 s.
Tiempo de una vuelta:
1/10,000 RPM 6 ms/vuelta
Tiempo que tarda en pasar un nuevo sector por debajo de
la cabeza:
6 ms/vuelta 1 vuelta/300 sectores = 20 s/sector
Nmero de sectores que pasan bajo la cabeza durante el
cambio de pista:
800 s 1 sector /20 s = 40 sectores

Desajuste: 40 sectores

Hardware de E/S

Software de E/S

Capas de software

Discos

Relojes

Interfaces

Formato de Disco
Entrelazamiento de sectores
Una velocidad de acceso constante y continua requiere un bfer
extenso y entrelazado de sectores
Sin entrelazado (figura (a)):
Se lee el primer sector y los datos se transfieren a la memoria
Cuando termina la transferencia, el siguiente sector ya ha pasado
por debajo de la cabeza

Entrelazado simple (figura (b)): tiempo adicional entre sectores


consecutivos para copiar el bfer en memoria
Entrelazado doble (figura (c)): para proceso de copia lentos

Hardware de E/S

Software de E/S

Capas de software

Discos

Relojes

Interfaces

Algoritmos de Programacin del Brazo del Disco


Tiempo de acceso
Tiempo de acceso
1
2
3

Tiempo de bsqueda (desplazamiento del brazo al cilindro)


Retraso rotacional (colocacin del sector bajo la cabeza)
Tiempo de transferencia de datos

El dominante es el tiempo de bsqueda


Se debe reducir el tiempo de bsqueda promedio
Una gestin de accesos con la poltica primero en llegar,
primero en ser atendido (FCFS) no permite mejorarlo
Ejemplo: Un disco con 40 cilindros, las peticiones de
acceso (por orden de llegada) son a los cilindros 11, 1, 36,
16, 34, 9 y 12
Requiere movimientos del brazo de
10+35+20+18+25+3=111 cilindros

Hardware de E/S

Software de E/S

Capas de software

Discos

Relojes

Algoritmos de Programacin del Brazo del Disco


Tiempo de acceso
Alternativa: Tabla indexada por el nmero de cilindro con
las peticiones pendientes para cada cilindro (lista
enlazada)
Manejar la peticin ms cercana primero (Bsqueda ms
corta primero, SSF )
Orden de los accesos: 11, 12, 9, 16, 1, 34, 36
Movimientos del brazo: 1+3+7+15+33+2=61 cilindros

Interfaces

Hardware de E/S

Software de E/S

Capas de software

Discos

Relojes

Algoritmos de Programacin del Brazo del Disco


Tiempo de acceso
Problema del SSF: Mal servicio a los cilindros extremos
El brazo se mantendr en la parte media del disco

Algoritmo del ascensor : No se cambia la direccin de


bsqueda mientras haya peticiones pendientes en esa
direccin
Orden de los accesos: 11, 12, 34, 36, 9, 1
Movimientos del brazo: 1+4+18+2+27+8=60 cilindros

Interfaces

Hardware de E/S

Software de E/S

Capas de software

Discos

ndice

Hardware de Entrada/Salida

Fundamentos del Software de Entrada/Salida

Capas del Software de Entrada/Salida

Discos

Relojes (temporizadores)

Otros Interfaces de Usuario

Relojes

Interfaces

Hardware de E/S

Software de E/S

Capas de software

Discos

Relojes

Interfaces

Relojes (temporizadores)

Relojes en sistemas multiprogramados


Esenciales para la operacin de cualquier sistema
multiprogramado
Cualquier sistema tiene varios relojes
El software de reloj se trata como un software controlador
de dispositivo E/S
No es un dispositivo de E/S convencional: no es modo
bloque (com un disco) ni modo carcter (como un ratn)

Hardware de E/S

Software de E/S

Capas de software

Discos

Relojes

Interfaces

Relojes (temporizadores)
Hardware del reloj
Oscilador de cristal de cuarzo y un contador que se decrementa en
cada pulso
Cuando el contador llega a cero se produce una interrupcin de la CPU
o pulso de reloj
El contador se vuelve a reiniciar automticamente (modo onda
cuadrada) o de forma explcita (modo de un solo disparo)
Varios relojes que se programan de forma independiente
Ejemplo: Reloj de 500 MHz (un
pulso cada 2 ns) y registro de
32 bits (sin signo). Se pueden
programar interrupciones a
intervalos de 2 ns a 8,6 s

Hardware de E/S

Software de E/S

Capas de software

Discos

Relojes

Relojes

Software del reloj


El reloj genera interrupciones a intervalos conocidos
La controladora del reloj:
Mantener la hora del da
Evitar que los procesos se ejecuten por ms tiempo del
que tienen asignado (contador=quantum)
Contabilizar el uso de la CPU (cada proceso inicia un
temporizador diferente del principal)
Manejar las alarmas (advertencia despus de un cierto
intervalo de tiempo)
Proveer temporizadores watchdog para ciertas partes del
sistema
Realizar estadsticas

Interfaces

Hardware de E/S

Software de E/S

Capas de software

Discos

ndice

Hardware de Entrada/Salida

Fundamentos del Software de Entrada/Salida

Capas del Software de Entrada/Salida

Discos

Relojes (temporizadores)

Otros Interfaces de Usuario

Relojes

Interfaces

Hardware de E/S

Software de E/S

Capas de software

Discos

Relojes

Software del Teclado

La controladora extrae la informacin cada vez que se


pulsa una tecla
Cdigo de exploracin (7 bits, bit extra a 0 cuando se
oprime una tecla y a 1 cuando se suelta)

Al proceso se le pasa una secuencia de cdigos ASCII


Carcter a carcter (modo no cannico)
Secuencia de correcciones?

Lnea a lnea (modo cannico)


Bfer que almacena una lnea completa

Interfaces

Hardware de E/S

Software de E/S

Capas de software

Discos

Relojes

Software del Ratn

Ratn mecnico u ptico


Cada vez que se desplaza (mnimo 0,1 mm) o se
pulsa/suelta un botn se enva un mensaje al ordenador
Mensaje: x, y , botones (incluyendo doble click)
Tres bytes
Indica los cambios en la posicin, no la posicin absoluta

Interfaces

Hardware de E/S

Software de E/S

Capas de software

Discos

Relojes

Interfaces

El Sistema X Windows
Base del interfaz de usuario de los sistemas UNIX
Porttil, se ejecuta en el espacio del usuario
Los entornos de escritorio (GUI) se ejecutan sobre X
windows

Dividido en software cliente y software servidor


Servidor X:
Recolecta la entrada del teclado y el ratn
Escribe en pantalla
Determina la venta activa (seleccionada)
Se comunica con los clientes X

Clientes X: programas en ejecucin


Servidor X en el ordenador de usuario, Cliente X puede
estar en un ordenador remoto o en el mismo ordenador
Si estn en el mismo ordenador, el cliente es un programa
de aplicacin (con conexin TCP sobre sockets)

Hardware de E/S

Software de E/S

Capas de software

Discos

Relojes

El Sistema X Windows
Clientes y servidores
X windows define el protocolo entre cliente y servidor
Para obtener una GUI se necesitan otras capas de software
Xlib: procedimientos de biblioteca para funcionalidades de X
Intrinsics: para programacin con X, incluye botones, barras de
desplazamiento, . . .
Motif (Qt, GTK): apariencia visual uniforme

Interfaces

Hardware de E/S

Software de E/S

Capas de software

El Sistema X Windows
Programa de aplicacin X Window

Discos

Relojes

Interfaces

Hardware de E/S

Software de E/S

Capas de software

Discos

Relojes

El Sistema X Windows
Interfaz grfica de usuario (GUI)
Cuatro elementos esenciales: ventanas, iconos, mens y
dispositivo sealador
Cdigo a nivel de usuario (UNIX) o en el SO (Windows)
Adaptador de grficos (tarjeta de vdeo):
Controladora
Incluye una RAM de vdeo (contiene imgenes que
aparecen en la pantalla) y una CPU
1024 768, 1280 960, 1600 1200, 1920 1200

La accin de dibujar en pantalla se gestiona con el GDI


(Graphics Device Interface)
Procedimientos para manejar texto y grficos
Utilizan el contexto de dispositivo (propiedades de la
ventana)

Interfaces

También podría gustarte