Cap. 7. Entrada/Salida

Anuncio
Sistemas operativos: una visión aplicada
Capítulo 7
Entrada/salida
Contenido
• Introducción
•
•
•
•
•
•
Caracterización de los dispositivos de E/S
Arquitectura del sistema de E/S
Interfaz de aplicaciones
Almacenamiento secundario
El terminal
La red
Sistemas operativos: una visión aplicada
1
© J. Carretero, F. García, P. de Miguel, F. Pérez
1
Estructura de una computadora
Dispositivos de salida
(impresora, monitor, ...)
Unidad principal
(UCP, registros,
memoria RAM,
entrada/salida (
discos internos,
red, ...))
Dispositivos de entrada
(teclado, ratón,
lápiz óptico, ...)
Sistemas operativos: una visión aplicada
2
Dispositivos de
entrada/salida
(discos, cintas,
modem, ...)
© J. Carretero, F. García, P. de Miguel, F. Pérez
Clasificación de dispositivos
• Todos estos dispositivos de E/S se pueden agrupar en tres grandes grupos:
– Periféricos. Se llama así a los dispositivos que permiten la comunicación
entre los usuarios y la computadora. Dentro de este grupo se incluyen
todos los dispositivos que sirven para proporcionar interfaz con el
usuario, tanto para entrada (ratón, teclado, etc.) como para salida
(impresoras, pantalla, etc.).
– Dispositivos de almacenamiento. Se usan para proporcionar
almacenamiento no volátil de datos y memoria. Su función primordial es
abastecer de datos y almacenamiento a los programas que se ejecutan en
la UCP. Según su capacidad e inmediatez se pueden dividir en
almacenamiento secundario (discos y disquetes) y terciario (cintas y
sistemas de archivo).
– Dispositivos de comunicaciones. Permiten conectar a la computadora
con otras computadoras a través de una red. Los dos tipos de dispositivos
más importantes de esta clase son los MODEM y las tarjetas de interfaz a
la red.
Sistemas operativos: una visión aplicada
3
© J. Carretero, F. García, P. de Miguel, F. Pérez
2
Velocidad de los dispositivos
• El gran problema de todos estos dispositivos de E/S es que son muy lentos.
– La UCP procesa instrucciones a más de 1 GHz y la memoria RAM tiene
un tiempo de acceso de nanosegundos
– Los dispositivos de E/S más rápidos tienen una velocidad de acceso del
orden de milisegundos.
– Esta diferencia en la velocidad de acceso, y el hecho de que las
aplicaciones son cada vez más interactivas y necesitan más E/S, hace que
los sistemas de E/S sean el cuello de botella más importante de los
sistemas de computación y que todos los sistemas operativos dediquen un
gran esfuerzo a desarrollar y optimizar todos los mecanismos de E/S.
• La figura siguiente muestra la jerarquía del sistema de E/S en función de su
velocidad de transferencia
Sistemas operativos: una visión aplicada
4
© J. Carretero, F. García, P. de Miguel, F. Pérez
Funciones del sistema de E/S
• Parte del sistema operativo que se ocupa de facilitar el manejo de los
dispositivos de E/S ofreciendo una visión lógica simplificada de los mismos
que pueda ser usada por otros componentes del sistema operativo (como el
sistema de archivos) o incluso por el usuario.
• El sistema operativo debe controlar el funcionamiento de todos los
dispositivos de E/S para alcanzar los siguientes objetivos:
– Facilitar el manejo de los dispositivos periféricos. Para ello debe ofrecer
una interfaz entre los dispositivos y el resto del sistema que sea sencilla y
fácil de utilizar.
– Optimizar la E/S del sistema, proporcionando mecanismos de incremento
de prestaciones dónde sea necesario.
– Proporcionar dispositivos virtuales que permitan conectar cualquier tipo
de dispositivo físico sin que sea necesario remodelar el sistema de E/S del
sistema operativo.
– Permitir la conexión de dispositivos nuevos de E/S, solventando de forma
automática su instalación usando mecanismos del tipo plug&play.
Sistemas operativos: una visión aplicada
5
© J. Carretero, F. García, P. de Miguel, F. Pérez
3
Contenido
•
Introducción
• Caracterización de los dispositivos de E/S
•
•
•
•
•
•
•
•
•
Arquitectura del sistema de E/S
Interfaz de aplicaciones
Almacenamiento secundario
Almacenamiento terciario
El reloj
El terminal
La red
Servicios de entrada/salida
Puntos a recordar
Sistemas operativos: una visión aplicada
6
© J. Carretero, F. García, P. de Miguel, F. Pérez
Conexión de dispositivos del sistema de E/S
• En el modelo de un periférico se distinguen dos elementos:
– Periféricos o dispositivos de E/S. Elementos que se
conectan a la unidad central de proceso a través de las
unidades de entrada/salida.
• Son el componente mecánico que se conecta al computador.
– Controladores de dispositivos o unidades de E/S. Se
encargan de hacer la transferencia de información entre la
memoria principal y los periféricos.
• Son el componente electrónico a través del cual se conecta el
dispositivo de E/S.
• Tienen una conexión al bus de la computadora y otra para el
dispositivo (generalmente mediante cables internos o externos).
Sistemas operativos: una visión aplicada
7
© J. Carretero, F. García, P. de Miguel, F. Pérez
4
Controladores
• Los controladores son muy variados, casi tanto como los dispositivos de E/S.
– Muchos de ellos, como los de disco, pueden controlar múltiples dispositivos.
– Otros, como los de canales de E/S, incluyen su propia UCP y bus para controlar la
E/S por programa y evitar interrupciones en la UCP de la computadora.
• En los últimos años ha existido un esfuerzo importante de estandarización de
los dispositivos, lo que permite usar un mismo controlador para dispositivos
de distintos fabricantes (ejemplo: SCSI, Small Computer System Interface, o
IDE, Integrated Drive Electronics).
• El controlador es el componente más importante desde el punto de vista del
sistema operativo, ya que constituye la interfaz del dispositivo con el bus de
la computadora y es el componente que se ve desde la UCP.
– Su programación se lleva a cabo mediante una interfaz de muy bajo nivel que
proporciona acceso a una serie de registros del controlador.
– Las características del controlador son muy importantes, ya que definen el aspecto
del periférico para el sistema operativo.
– Fundamental: Dirección de E/S, Unidad de transferencia e Interacción
computadora-controlador.
Sistemas operativos: una visión aplicada
8
© J. Carretero, F. García, P. de Miguel, F. Pérez
Conexión de dispositivos a una computadora
CPU
Memoria
Controlador
gráfic o
Bus del sistema
Controlador
de disco
Bus de expansión
estado c ontrol datos
…
Sistemas operativos: una visión aplicada
9
© J. Carretero, F. García, P. de Miguel, F. Pérez
5
Direcciones de E/S de controladores
Sistemas operativos: una visión aplicada
10
© J. Carretero, F. García, P. de Miguel, F. Pérez
Dispositivos de Bloque y de Carácter
• Dispositivos de bloque:
– Acceso a nivel de bloque, secuencial o aleatorio
– Mandatos: leer, escribir, buscar, …
– E/S directa o a través del servidor de ficheros
– Acceso posible a través de ficheros proyectados en memoria
– Ejemplo: discos y cintas
• Dispositivos de carácter:
– Acceso a nivel de un carácter, secuencial o aleatorio
– Mandatos: get, put, ….
– Bibliotecas para optimizar y dar forma a este tipo de accesos:
edición de líneas, ventanas virtuales, ….
– Ejemplo: terminales e impresoras
Sistemas operativos: una visión aplicada
11
© J. Carretero, F. García, P. de Miguel, F. Pérez
6
E/S programada
• La transferencia de información entre un periférico y el procesador se realiza
mediante la ejecución de una instrucción de E/S.
• El procesador es el responsable de extraer o enviar datos entre la memoria y
el controlador de dispositivo -> el procesador tiene que esperar mientras se
realiza la transferencia.
• Muestreo periódico de los dispositivos -> Determina el estado del dispositivo:
– Listo, ocupado, error
– Ciclo de espera activa para esperar al dispositivo de E/S
• Ventaja: no hay gasto de tiempo de gestión de interrupción.
• Desventaja: Consume mucha CPU para dispositivos poco usados
• Aplicación:
– Hardware sin interrupciones
– Programas de control de canales de E/S
Sistemas operativos: una visión aplicada
12
© J. Carretero, F. García, P. de Miguel, F. Pérez
E/S por Interrupciones
• El procesador envía la orden de E/S al controlador de dispositivo y no espera,
se dedica a otras tareas hasta que llega una interrupción del dispositivo que
indica que se ha realizado la operación solicitada.
• Líneas de petición de interrupción de la CPU activadas por los dispositivos
• El gestor de interrupciones recibe y maneja la interrupción:
– Enmascarables para ignorar o retrasar interrupciones
– El vector de interrupción tiene las direcciones de memoria de los
manejadores de interrupción
– Se procesan según distintas políticas:
• Prioridad, FIFO, etc.
• Algunas no se pueden enmascarar (NMI). Ejemplo: reset.
• Los mecanismos de interrupción se usan también para excepciones. Ejemplo:
instrucción errónea.
Sistemas operativos: una visión aplicada
13
© J. Carretero, F. García, P. de Miguel, F. Pérez
7
Rutina de tratamiento de interrupción
•
•
Las rutinas de interrupción suelen tener dos partes:
– una genérica y otra particular para el dispositivo.
La parte genérica hace los siguiente:
Captura de la interrupción.
Salvaguarda de estado del procesador.
Activación de la rutina de manejo de la interrupción.
Indicar al planificador que debe poner lista para ejecutar
la rutina particular.
Desactivación de la interrupción.
Restauración del estado del procesador.
Cesión de control (RETI).
Sistemas operativos: una visión aplicada
14
© J. Carretero, F. García, P. de Miguel, F. Pérez
Interrupciones que usan algunos controladores
Sistemas operativos: una visión aplicada
15
© J. Carretero, F. García, P. de Miguel, F. Pérez
8
E/S Bloqueante y No-bloqueante
• Bloqueante: procesos suspendidos hasta que la E/S termina
– Fácil de usar y comprender
– Insuficiente para algunos requisitos
– Ejemplo: read, write, ... de POSIX
• No bloqueante: la llamada de E/S vuelve inmediatamente
– Interfaz de usuario más complejo y espacio para copia de datos
– Se puede implementar con threads
– Vuelve rápidamente con el estado de la operación
– Variación: operaciones asíncronas -> los procesos ejecutan mientras la
E/S se lleva a cabo
• Difícil de usar por operaciones pendientes
• El sistema de E/S señala el fin de operación pendiente
• Interfaz para comprobar estado y esperar (aiowait)
Sistemas operativos: una visión aplicada
16
© J. Carretero, F. García, P. de Miguel, F. Pérez
Acceso Directo a Memoria (DMA)
• Se usa para evitar la E/S programada de grandes bloques de
datos
• Necesita un controlador con DMA
• Evita el uso de la CPU transfiriendo los datos directamente entre
los dispositivos de E/S y la memoria
– del usuario
– del núcleo
• Básico para aprovechar la CPU en un sistema multiprogramado,
ya que libera tiempo de la CPU que se puede usar para ejecutar
otros programas.
Sistemas operativos: una visión aplicada
17
© J. Carretero, F. García, P. de Miguel, F. Pérez
9
Sistema de DMA
Memoria
Petición DMA
(contador,
direc ción,
datos)
Ac eptación DMA
Interrupc ión
Operación
(L/E)
Disco
Contador
Bus del sistema
Contador
Registro
de datos
Direcc ión
Lógic a de
control
Controlador
UCP
Sistemas operativos: una visión aplicada
18
© J. Carretero, F. García, P. de Miguel, F. Pérez
Pasos operación de DMA
1.- Programación de la operación de E/S. Se indica al controlador
la operación, los datos a transferir y la dirección de memoria
sobre la que se efectuará la operación.
2.- El controlador contesta aceptando la petición de E/S.
3.- El controlador le ordena al dispositivo que lea (para operación
lectura) una cierta cantidad de datos desde una posición
determinada del dispositivo a su memoria interna.
4.- Cuando los datos están listos, el controlador los copia a la posición
de memoria que tiene en sus registros, incrementa dicha de
memoria y decrementa el contador de datos pendientes de
transferir.
5.- Los pasos 3 y 4 se repiten hasta que no quedan más datos por leer.
6.- Cuando el registro de contador esta a cero, el controlador
interrumpe a la UCP para indicar que la operación de DMA ha
terminado.
Sistemas operativos: una visión aplicada
19
© J. Carretero, F. García, P. de Miguel, F. Pérez
10
Contenido
•
•
•
•
•
•
Introducción
Caracterización de los dispositivos de E/S
Arquitectura del sistema de E/S
Interfaz de aplicaciones
Almacenamiento secundario
Almacenamiento terciario
• El reloj
•
•
•
El terminal
La red
Servicios de entrada/salida
Sistemas operativos: una visión aplicada
20
© J. Carretero, F. García, P. de Miguel, F. Pérez
El reloj
• Varias acepciones:
– Reloj del procesador
– Reloj del sistema (que mantiene fecha y hora)
– Temporizador que activa periódicamente al S.O.
• S.O. vinculado con las dos últimas acepciones
• ¿Reloj es un dispositivo de E/S?
– Sí, ya que implica registros de E/S e interrupciones
– Pero, generalmente, S.O. le da tratamiento específico
Sistemas operativos: una visión aplicada
21
© J. Carretero, F. García, P. de Miguel, F. Pérez
11
Hardware del reloj
• Circuito temporizador que genera señal periódica (tick)
– Conectado a línea de interrupción de alta prioridad
– Frecuencia programable (actúa como divisor de frecuencias)
– Modo operación programable (único disparo, onda cuadrada)
– Generalmente circuito con múltiples temporizadores
• No todos conectados a línea de interrupción (p.ej. al altavoz)
• Reloj alimentado por batería que mantiene hora y fecha
– Consultado por S.O. en su arranque
– También denominado reloj CMOS
Sistemas operativos: una visión aplicada
22
© J. Carretero, F. García, P. de Miguel, F. Pérez
Software del reloj
• Labor principal de S.O. con reloj: manejo de sus interrupciones
– También iniciación y gestión de llamadas relacionadas
• Compromiso al fijar frecuencia de interrupción:
– Demasiado alta: Excesiva sobrecarga por tratamiento de int.
– Demasiado baja: Limitada precisión en medida del tiempo
– Ejemplo típico: 100 Hz (1 interrupción cada 10 ms)
• Se debe minimizar trabajo realizado por rutina de interrupción
– Ya que mientras no se atiende int de disp. de menos prioridad
• Solución típica: Dividir trabajo asociado a int. de reloj
– Operaciones más urgentes realizadas por rutina de interr.
– Resto: tratamiento posterior fuera de la rutina (int. software)
Sistemas operativos: una visión aplicada
23
© J. Carretero, F. García, P. de Miguel, F. Pérez
12
Funciones del manejador del reloj
•
•
•
•
Mantenimiento de fecha y hora
Gestión de temporizadores
Contabilidad y estadísticas
Soporte para la planificación de procesos
Sistemas operativos: una visión aplicada
24
© J. Carretero, F. García, P. de Miguel, F. Pérez
Contenido
•
•
•
•
•
•
•
Introducción
Caracterización de los dispositivos de E/S
Arquitectura del sistema de E/S
Interfaz de aplicaciones
Almacenamiento secundario
Almacenamiento terciario
El reloj
• El terminal
•
•
La red
Servicios de entrada/salida
Sistemas operativos: una visión aplicada
25
© J. Carretero, F. García, P. de Miguel, F. Pérez
13
El terminal
• Teclado + pantalla
• Dependiendo de forma de conexión:
– Terminales serie
– Terminales proyectados en memoria
• Dependiendo de tipo de información manejada:
– Terminales en modo alfanumérico
– Terminales en modo gráfico
• Exposición se centra en terminales en modo texto
Sistemas operativos: una visión aplicada
26
© J. Carretero, F. García, P. de Miguel, F. Pérez
Modo de operación del terminal
• Similar en todos los tipos de terminales
– Diferencia: ¿Qué se hace por HW y qué por SW?
• Relativa independencia entre la entrada y la salida
• Entrada
– Código de tecla → Carácter ASCII
– Se tiene en cuenta teclas modificadoras (Control, Alt, ...)
• Salida
– Pantalla: matriz de pixels con memoria de vídeo asociada
– Controlador de vídeo lee esta memoria y refresca pantalla
– Escritura en pantalla requiere escritura en memoria de vídeo
• Carácter ASCII → Patrón de pixels correspondiente
– Secuencias de escape:
• Permiten operaciones especiales (p.ej. borrar la pantalla)
Sistemas operativos: una visión aplicada
27
© J. Carretero, F. García, P. de Miguel, F. Pérez
14
Hardware del terminal proyectado en memoria
• Terminal formado por 2 dispositivos independientes
• Teclado genera interrupción al pulsar tecla
– S.O. lee código de tecla de registro de controlador de teclado
– Conversión a ASCII y manejo de teclas modif. por SW
• Memoria de vídeo directamente accesible al procesador
• Escritura en regs. de controlador para mover cursor, scroll, etc.
• 2 modos de operación:
– Alfanumérico:
• Memoria de vídeo contiene códigos ASCII
• Controlador de vídeo genera patrones de pixels
– Gráfico:
• Memoria de vídeo contiene matriz de pixels
• SW debe transformar de código ASCII a patrón de pixels
• Secuencias de escape gestionadas por SW
Sistemas operativos: una visión aplicada
28
© J. Carretero, F. García, P. de Miguel, F. Pérez
Esquema del terminal proyectado en memoria
Procesador
Memoria
de
vídeo
Contr.
de
vídeo
Controlador
de
teclado
Memoria
Sistemas operativos: una visión aplicada
29
© J. Carretero, F. García, P. de Miguel, F. Pérez
15
Hardware del terminal serie
• Terminal: dispositivo único conectado por línea serie (UART)
– Incluye un procesador interno
• S.O. debe programar parámetros de UART
• Entrada mediante interrupciones
– UART notifica llegada de carácter ASCII
– Conversión a ASCII y manejo de teclas modif. en terminal
• Salida implica envío de carácter al terminal a través de UART
– Uso de interrup. para indicar que el carácter ya se ha enviado
– Terminal obtiene el patrón y lo visualiza en pantalla
– Terminal maneja secuencias de escape
Sistemas operativos: una visión aplicada
30
© J. Carretero, F. García, P. de Miguel, F. Pérez
Esquema del terminal serie
Procesador
UART
Memoria
Sistemas operativos: una visión aplicada
31
© J. Carretero, F. García, P. de Miguel, F. Pérez
16
Contenido
•
•
•
•
•
•
•
•
Introducción
Caracterización de los dispositivos de E/S
Arquitectura del sistema de E/S
Interfaz de aplicaciones
Almacenamiento secundario
Almacenamiento terciario
El reloj
El terminal
• La red
•
Servicios de entrada/salida
Sistemas operativos: una visión aplicada
32
© J. Carretero, F. García, P. de Miguel, F. Pérez
La red
• Dada su creciente importancia, soporte de S.O. cada vez mejor
• Algunos SS.OO. le dan tratamiento diferente a otros dispositivos
– En Linux no hay archivos en /dev para la red
• Software de red organizado en tres niveles:
– Nivel de interfaz a las aplicaciones
• Típicamente, sockets (Winsock en Windows)
• Puede considerarse como nivel de sesión OSI
– Nivel de protocolos
• Capas que implementan transporte y red TCP/IP
• Incluye funciones de encaminamiento
– Nivel de dispositivo de red
• Manejadores de dispositivos de red
Sistemas operativos: una visión aplicada
33
© J. Carretero, F. García, P. de Miguel, F. Pérez
17
Niveles del software de red
Interfaz a las aplicaciones
Nivel de transporte
Nivel de red
Ethernet
Sistemas operativos: una visión aplicada
SLIP
34
..........
© J. Carretero, F. García, P. de Miguel, F. Pérez
Niveles del software de red
• Niveles trabajan de forma independiente
– Uso de interfaces estándar entre niveles
• Mensaje desciende como resultado de llamada de aplicación
– Se va añadiendo información de control
• Mensaje asciende como resultado de interrupción de recepción
– Se va eliminando información de control
• Para implementación eficiente, minimizar copia de información
Sistemas operativos: una visión aplicada
35
© J. Carretero, F. García, P. de Miguel, F. Pérez
18
Descargar