tema 7: gestión de entrada/salida
DESCRIPTION
TEMA 7: Gestión de Entrada/Salida. Introducción Software de E/S Discos Relojes Terminales. 1. Introducción. Función del sistema operativo. Enviar comandos Recibir interrupciones Tratar los errores Presentar una interfaz. Controlar la Entrada/Salida. Categorías de dispositivos. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/1.jpg)
1
TEMA 7: Gestión de Entrada/SalidaTEMA 7: Gestión de Entrada/Salida
• Introducción
• Software de E/S
• Discos
• Relojes
• Terminales
![Page 2: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/2.jpg)
2
1. Introducción1. Introducción
• Función del sistema operativo
Controlar la Entrada/Salida
•Enviar comandos
•Recibir interrupciones
•Tratar los errores
•Presentar una interfaz
![Page 3: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/3.jpg)
3
Categorías de dispositivosCategorías de dispositivos
• Dispositivos de bloques» Bloques de tamaño fijo
» L/E de cada bloque de forma independiente
» Se puede direccionar cada bloque
• Dispositivos de caracteres» Sin estructura de bloques
» L/E de flujos de caracteres
DISCOS
TERMINALES
IMPRESORAS
![Page 4: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/4.jpg)
4
Manejadores y ControladoresManejadores y Controladores
• Manejador de dispositivos
• Controlador de dispositivo o adaptador
Programa de más bajo nivel que se encarga de los detalles que son dependientes del dispositivo
Elemento electrónico de la unidad de E/S (tarjeta de circuitos impresos)
Bus
Canales E/S
![Page 5: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/5.jpg)
5
RegistrosRegistros
• Forman parte del espacio normal de direcciones de la memoria
• Espacio de direcciones especial para E/S
Puertos de E/S
![Page 6: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/6.jpg)
6
Operaciones de E/SOperaciones de E/S
• El S.O. escribe órdenes y parámetros en los registros.
• El controlador acepta la orden y comienza a trabajar.
• El controlador genera una interrupción.
• El S.O. mira si la operación se ha realizado correctamente.
S.O
Controlador
Registros
Ordenesy
parámetros
Resultados
![Page 7: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/7.jpg)
7
2. Software de E/S2. Software de E/S
• Objetivos de la programación de la E/S» Independencia del dispositivo
» Uniformidad de los nombres
» Manejo de errores
» Presentar al programador transferencias síncronas• Síncronas: bloquean al programa.
• Asíncronas: no bloquean al programa.
» Gestión de los dispositivos• compartidos
• dedicados
![Page 8: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/8.jpg)
8
Niveles del software de E/SNiveles del software de E/S
Programas de usuario
Programas del S.O independientes del
dispositivo
Manejadores de dispositivos
Manejadores de interrupciones
![Page 9: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/9.jpg)
9
Manejadores de interrupcionesManejadores de interrupciones
Manejadorde
dispositivoControlador
CPUManejador
deinterrupciones
Ordena
Interrumpe
Ejecuta
Desbloquea
![Page 10: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/10.jpg)
10
Manejadores de dispositivoManejadores de dispositivo
• Código dependiente del dispositivo
• Función:
» Enviar órdenes a los dispositivos» Comprobar que se ha realizado correctamente
• La petición de los programas independientes del dispositivo se llevan a una cola
• Única parte del S.O que conoce los registros del controlador
Programasindependientesdel dispositivo
Manejadordel
dispositivo
Controladordel
dispositivo
![Page 11: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/11.jpg)
11
Programas del S.O independientes Programas del S.O independientes del dispositivodel dispositivo
• Funciones (I)» Presentar una interfaz uniforme a los programas de
usuario
» Asignar nombres y establecer la correspondencia entre nombre y manejadores
– En UNIX los dispositivos se tratan como ficheros
• Nº de dispositivo principal: Para localizar el manejador
• Nº de dispositivo secundario: Para especificar la unidad referenciada.
» Proteger a los dispositivos de accesos no permitidos
![Page 12: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/12.jpg)
12
Programas del S.O independientes Programas del S.O independientes del dispositivodel dispositivo
• Funciones (II)» Ocultar las diferencias en las unidades de información
tanto en los dispositivos de bloques como de caracteres
» Almacenar temporalmente los datos de los dispositivos (buffering)
• completar bloques, sincronizar, entrada de teclado...
» Asignar espacio libre en los dispositivos de bloques
» Gestionar el uso de los dispositivos dedicados• Aceptar o rechazar las peticiones (ej: OPEN)
» Tratar los errores
![Page 13: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/13.jpg)
13
Programas de usuarioProgramas de usuario
• Funciones de biblioteca» Realizar las llamadas al sistema:
count=read(file,buf,nbytes);
» Realizar además otras funciones: printf(“ %d ”, i );
• Programas completos fuera del núcleo» Sistema de spooling
– Ej: Impresora
• Demonio de impresión, directorio de spooling
![Page 14: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/14.jpg)
14
3. Discos3. Discos
• Ventaja del disco sobre la memoria para el almacenamiento
» Mayor capacidad de almacenamiento
» Precio por bit más bajo
» La información no se pierde
![Page 15: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/15.jpg)
15
Hardware del discoHardware del disco
• Pistas: círculos concéntricos• Se dividen en sectores
» Mismo nº de bytes
• Organizados en cilindrosNº de pistas del cilindro = cabezas apiladas verticalmente
• Unidad con n platos» 2n cabezas
» 2n pistas por cilindro
Pista
Sector
![Page 16: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/16.jpg)
16
Característica del dispositivoCaracterística del dispositivo
• Búsquedas solapadas» Mejoran el tiempo de acceso
» Búsquedas simultáneas en 2 o más unidades
» El controlador puede iniciar una búsqueda mientras que espera que se complete una búsqueda en otra unidad
» No se pueden realizar 2 lecturas o escrituras a la vez
![Page 17: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/17.jpg)
17
Programación del discoProgramación del disco
• Tiempo de lectura o escritura:
tiempo de búsqueda + latencia de rotación + tiempo de transferencia
• El tiempo de búsqueda es mayor que los demás tiempos
• Se intenta mejorar =>Algoritmos de planificación del brazo del disco
![Page 18: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/18.jpg)
18
FCFSFCFS
• Primero en llegar, primero en servirse
• El manejador acepta las peticiones de 1 en 1
• Sirve las peticiones en el orden de llegada
• No se puede mejorar el tiempo de búsqueda
![Page 19: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/19.jpg)
19
SSF (I)SSF (I)
• Prioridad a la búsqueda más corta
• tabla de peticiones indexada por nº de cilindro
Tabla de peticiones
Lista de peticiones
• 1 entrada por cilindro• Cada entrada apunta a una lista de peticiones
![Page 20: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/20.jpg)
20
SSF (II)SSF (II)
• Se mejora el tiempo de búsqueda tomando la solicitud al cilindro más cercano.
• Cilindro inicial => 11
• Llegan las peticiones 1, 36, 16, 34, 9, 121 3616 349 12
FCFS
SSF
10 35
20 18
25
3
TOTAL= 111
TOTAL= 61
137
15 33
2
![Page 21: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/21.jpg)
21
Problemas de SSFProblemas de SSF
• El brazo tiende a quedarse en el centro para discos sobrecargados
• Los extremos tienen que esperar a que no haya peticiones en el centro
• No se hace un servicio equitativo de las peticiones
![Page 22: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/22.jpg)
22
Algoritmo del ascensorAlgoritmo del ascensor
• Bit SUBIENDO/BAJANDO
• Límite superior: doble del nº de cilindros
• Variación: siempre sentido ascendente
1
2
8
4 18
27TOTAL= 60
1 3616 349 12
![Page 23: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/23.jpg)
23
Entrelazado (I)Entrelazado (I)
• Técnica que se utiliza para dar tiempo a transferir los datos del buffer interno a memoria
Disco Bufferinterno
Memoria
Datos Datos
![Page 24: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/24.jpg)
24
entrelazado (II)entrelazado (II)
4 0 0 0
1
1
1
2
2
2
3
3 3
4 4
5
5
5
6
6 67
77
Entrelazado simple Entrelazado doble Entrelazado triple
Factor de entrelazado:
![Page 25: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/25.jpg)
25
Otras optimizacionesOtras optimizaciones
• Optimización en la latencia de rotación» Enviar la petición del sector que pase antes bajo la cabeza de
L/E
• Copia de pistas completas» Se almacena la pista completa en un buffer intermedio del
manejador
» Complica el software
» No permite DMA para la información del buffer
» Algunos controladores tienen una memoria interna
• Búsquedas solapadas
![Page 26: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/26.jpg)
26
Tratamiento de erroresTratamiento de errores
• Errores de programación
• Errores transitorios en el código de control
• Errores permanentes en el código de control
• Errores de búsqueda
• Errores en el controlador
![Page 27: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/27.jpg)
27
Errores de programaciónErrores de programación
• El controlador recibe órdenes del manejador» mover el brazo a un cilindro
» leer un sector
» escribir los datos de una posición de memoria
• Lo parámetros pueden no ser coherentes
• Se debe a que el programa falla
• El controlador debe devolver un código de error
![Page 28: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/28.jpg)
28
Errores transitorios Errores transitorios
• Los datos no son correctos
• Por ejemplo debido a la existencia de polvo en las cabezas
• Se puede eliminar el error repitiendo la operación
![Page 29: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/29.jpg)
29
Errores permanentesErrores permanentes
• Marcar bloques como inservibles» Elaboración de un fichero con la lista de bloques
inservibles• El asignador nunca utilizará estos bloques• Las copias de seguridad se deben hacer fichero a
fichero, evitando leer el fichero de bloques defectuosos
» Reserva de pistas • Se localizan los bloques inservibles al formatear• Se sustituyen las pistas de reserva por las dañadas • Se utiliza una tabla para hacer la correspondencia
![Page 30: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/30.jpg)
30
Errores de búsquedaErrores de búsqueda
• Errores mecánicos
• El brazo se posiciona en un cilindro que no se pidió
• RECALIBRATE: Desplaza el brazo hasta el final y considera el cilindro 0
• Llamar al técnico
![Page 31: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/31.jpg)
31
Errores en el controladorErrores en el controlador
• Variables, buffers, órdenes
• Secuencia de eventos que produzcan un error en el controlador
• Ej: el controlador no admite órdenes
• El manejador debe dar una orden para iniciar el controlador
![Page 32: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/32.jpg)
32
Discos RAMDiscos RAM
• Dispositivo de bloques
• Se utiliza una parte de la memoria principal
• La memoria se divide en bloques
• El manejador calcula la posición del bloque
• Acceso instantáneo
Memoria principal
Disco RAMBloque
![Page 33: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/33.jpg)
33
RelojesRelojes
• = Temporizadores
• Mantienen la fecha y la hora
• Sirve para controlar el tiempo que los procesos pueden estar ejecutandose
![Page 34: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/34.jpg)
34
Hardware del relojHardware del reloj
• 2 tipos– Se conectan a la red de potencia y generan una
interrupción con cada ciclo de red– Programables: se construyen con 3 elementos
• Para un reloj de 1MHz (1/10 Hz, 1 pulso por microsegundo) y registro de precarga de 16 bits, se pueden generar interrupciones desde cada microsegundo hasta 65535 microsegundos
Oscilador de cuarzo
Contador
Registro de precarga-6
![Page 35: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/35.jpg)
35
Programación del relojProgramación del reloj
• El hardware genera interrupciones a intervalos regulares y conocidos
• El manejador debe realizar todas las funciones
![Page 36: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/36.jpg)
36
Actualizar fecha y hora (I)Actualizar fecha y hora (I)
• En ordenadores antiguos no había reloj de tiempo real
• La fecha se da al arrancar. Se traduce a un nº de pulsos desde el 1 de Enero de 1970.
• Con cada pulso de reloj se incrementa un contador
• Problema: se puede desbordar
![Page 37: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/37.jpg)
37
Actualizar fecha y hora (II)Actualizar fecha y hora (II)
• Solución:» Utilizar un contador más grande (Ej: 64 bits)
» Se guarda en segundos con un contador auxiliar para contar el nº de pulsos del segundo actual
» Se guarda en segundos el instante de arranque del sistema y un contador para los pulsos desde el momento de arranque.
64 bits
Hora y fecha en segundos
Nº de pulsos del segundo actual
2 = más de 136 años32
![Page 38: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/38.jpg)
38
Controlar el tiempo de ejecuciónControlar el tiempo de ejecución
• Al cargar un proceso» Se actualiza un contador con los pulsos del cuanto
asignado a un proceso
• Con cada interrupción de reloj» Se decrementa este contador
• Cuando llega a 0» Se llama al planificador
![Page 39: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/39.jpg)
39
TemporizadoresTemporizadores
• Para avisar a los procesos (señal, mensaje...)
• Ej: Aplicación que retransmite paquetes transcurrido un cierto intervalo de tiempo si no se ha confirmado
• Tabla con tiempos de aviso
• Lista enlazada
Siguiente
3 4 6 2 1Cabecerade lista
3 Siguiente señal
![Page 40: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/40.jpg)
40
Temporizadores de guardaTemporizadores de guarda
• Temporizadores del propio sistema
• Se suelen utilizar en los manejadores de dispositivos
» Esperar 250 mls después de arrancar el motor de una unidad
» En vez de generar una señal, el manejador llama al procedimiento indicado
![Page 41: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/41.jpg)
41
Otras funcionesOtras funciones
• Medir tiempos de ejecución
• Realizar estadísticas
![Page 42: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/42.jpg)
42
5. Terminales5. Terminales
• Muchos tipos diferentes de terminales
• El manejador se encarga de ocultar las diferencias
• De esta forma, la parte del S.O. independiente del terminal sirve para cualquier terminal
![Page 43: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/43.jpg)
43
Hardware del terminalHardware del terminal
• Desde el punto de vista del S.O. hay dos tipos diferentes de terminales
» Terminales con interfaz RS-232
» Terminales con interfaz por memoria (mapped-memory terminals)
![Page 44: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/44.jpg)
44
Terminales con interfaz RS-232Terminales con interfaz RS-232
• Utilizan una línea serie para comunicarse con el ordenado
• UART : Conversor de paralelo a serie y de serie a paralelo
Procesador MemoriaTarjeta
UART UART
Terminal
Línea de recepción
Línea de transmisión
![Page 45: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/45.jpg)
45
Terminales con interfaz RS-232Terminales con interfaz RS-232
• El manejador escribe el carácter en la interfaz y se bloquea
• Es almacenado temporalmente por la UART para luego mandarlo bit a bit
• El manejador se desbloquea cuando llega la interrupción de la interfaz
Ventaja: cualquier ordenador trae una interfaz RS-232Desventaja: son lentos (ej: 9600 bits/s )
![Page 46: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/46.jpg)
46
Categorías de terminales RS-232Categorías de terminales RS-232
• Teletipos-impresoras» Imprimen los caracteres enviados en papel
• Teletipos de cristal (tty)» Mandan el carácter a un CRT
• Terminales inteligentes» Tienen procesador y memoria» Entienden ciertas teclas de control» Se puede hacer que el cursor se mueva por la pantalla,
escribir texto en mitad de la pantalla ...
![Page 47: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/47.jpg)
47
Terminales con interfaz por Terminales con interfaz por memoriamemoria
• Son parte del mismo ordenador• La comunicación se hace a través de la RAM de
vídeo que es parte del espacio de direcciones• El controlador lee bytes de la memoria RAM y envía
las señales al monitor para que imprima los caracteres • Tipos• El teclado es independiente del monitor• El hardware proporciona un nº de tecla, el manejador
hace la correspondencia
Terminales de despliegue de caracteresTerminales de mapas de bits
![Page 48: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/48.jpg)
48
Terminales de despliegue de Terminales de despliegue de caracterescaracteres
• El controlador almacena en ROM los patrones de bits de cada carácter
• El carácter que el procesador escribe en la memoria RAM de vídeo aparece en la pantalla transcurrido un cierto tiempo
• Un byte asociado a cada carácter
• Son rápidos
• Imagen de 25x80 => 4000 bytes
![Page 49: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/49.jpg)
49
Terminales de mapas de bitsTerminales de mapas de bits
• Considera la pantalla como una matriz de elementos de imagen llamados pixels
200x320 480x640 800x1024
• Cada pixel controlado por un bit de la RAM
• Permite crear varios patrones para las letras
• Planos de bits para los colores ( n planos => 2 colores )
• Requieren mucha memoria
n
1024x1024 => 128 Kbytes
con 4 bits por pixel => 0,5 Mbytes
![Page 50: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/50.jpg)
50
Programación del terminalProgramación del terminal
• Software de entrada
• Software de salida
![Page 51: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/51.jpg)
51
Software de entrada (I)Software de entrada (I)
• 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
![Page 52: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/52.jpg)
52
Software de entrada (II)Software de entrada (II)
• 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
![Page 53: TEMA 7: Gestión de Entrada/Salida](https://reader036.vdocuments.pub/reader036/viewer/2022081417/56812ae5550346895d8ecdf3/html5/thumbnails/53.jpg)
53
Software de salidaSoftware 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