Ing. En Infotecnología
TEMA: Gestión de Entrada/Salida
•
•
•
•
•
Introducción
Software de E/S
Discos
Relojes
Terminales
1
1. Introducción
• Función del sistema operativo
•Enviar comandos
•Recibir interrupciones
Controlar la Entrada/Salida
•Tratar los errores
•Presentar una interfaz
2
Categorías de dispositivos
• Dispositivos de bloques
DISCOS
» Bloques de tamaño fijo
» L/Ede cada bloque de forma independiente
» Se puede direccionar cada bloque
• Dispositivos de caracteres
» Sin estructura de bloques
» L/E de flujos de caracteres
TERMINALES
IMPRESORAS
3
Manejadores y Controladores
• Manejador de dispositivos
Programa de más bajo nivel que se encarga de los
detalles que son dependientes del dispositivo
• Controlador de dispositivo o adaptadorElemento electrónico de la unidad de E/S
(tarjeta de circuitos impresos)
Bus
Canales E/S
4
Registros
• Forman parte del espacio normal de
direcciones de la memoria
• Espacio de direcciones especial para E/S
Puertos de E/S
5
Operaciones de E/S
•
•
•
•
El S.O. escribe órdenes y parámetros en los registros.
El controlador acepta la orden y comienza a trabajar.
Elcontrolador genera una interrupción.
El S.O. mira si la operación se ha realizado correctamente.
Controlador
Ordenes
y
parámetros
S.O
Resultados
Registros
6
2. 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 alprograma.
• Asíncronas: no bloquean al programa.
» Gestión de los dispositivos
• compartidos
• dedicados
7
Niveles del software de E/S
Programas de usuario
Programas del S.O
independientes del
dispositivo
Manejadores de
dispositivos
Manejadores de
interrupciones
8
Manejadores de interrupciones
Manejador
de
dispositivo
Ordena
Controlador
Desbloquea
Manejadorde
interrupciones
Interrumpe
CPU
Ejecuta
9
Manejadores de dispositivo
• Código dependiente del dispositivo
• Función:
Programas
independientes
del dispositivo
Manejador
del
dispositivo
Controlador
del
dispositivo
» Enviar órdenes a los dispositivos
» Comprobar que se ha realizado correctamente
• La petición de los programas independientes del
dispositivo sellevan a una cola
• Única parte del S.O que conoce los registros del
controlador
Programas del S.O independientes
del 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 elmanejador
• Nº de dispositivo secundario: Para especificar la
unidad referenciada.
» Proteger a los dispositivos de accesos no permitidos
10
Programas del S.O independientes
del 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
11
12
Programas de usuario
• Funciones de biblioteca
» Realizar las llamadas al sistema:
count=read(file,buf,nbytes);
» Realizar además otrasfunciones:
printf(“ %d ”, i );
• Programas completos fuera del núcleo
» Sistema de spooling
– Ej: Impresora
• Dominio de impresión, directorio de spooling
13
3. 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
14
Hardware del disco
• Pistas: círculos concéntricos...
Regístrate para leer el documento completo.