Professional Documents
Culture Documents
1. Introduccin
Funcin del sistema operativo
Enviar comandos Recibir interrupciones Controlar la Entrada/Salida Tratar los errores Presentar una interfaz
Categoras de dispositivos
Dispositivos de bloques
DISCOS Bloques de tamao fijo L/E de cada bloque de forma independiente Se puede direccionar cada bloque TERMINALES Sin estructura de bloques L/E de flujos de caracteres
Dispositivos de caracteres
IMPRESORAS
Manejadores y Controladores
Manejador de dispositivos
Programa de ms bajo nivel que se encarga de los detalles que son dependientes del dispositivo
Registros
Forman parte del espacio normal de direcciones de la memoria Espacio de direcciones especial para E/S
Puertos de E/S
Operaciones de E/S
El S.O. escribe rdenes y parmetros en los registros. El controlador acepta la orden y comienza a trabajar. El controlador genera una interrupcin. El S.O. mira si la operacin se ha realizado correctamente. Controlador
Ordenes y parmetros
S.O
Resultados
Registros
2. Software de E/S
Objetivos de la programacin de la E/S
Independencia del dispositivo Uniformidad de los nombres Manejo de errores Presentar al programador transferencias sncronas
Sncronas: bloquean al programa. Asncronas: no bloquean al programa.
Manejadores de interrupciones
CPU
Ejecuta
Manejadores de dispositivo
Cdigo dependiente del dispositivo Funcin:
Programas independientes del dispositivo Manejador del dispositivo Controlador del dispositivo
La peticin de los programas independientes del dispositivo se llevan a una cola nica parte del S.O que conoce los registros del controlador
10
11
Asignar espacio libre en los dispositivos de bloques Gestionar el uso de los dispositivos dedicados
Aceptar o rechazar las peticiones (ej: OPEN)
12
Programas de usuario
Funciones de biblioteca
Realizar las llamadas al sistema: count=read(file,buf,nbytes); Realizar adems otras funciones: printf( %d , i );
13
3. Discos
Ventaja del disco sobre la memoria para el almacenamiento
Mayor capacidad de almacenamiento Precio por bit ms bajo La informacin no se pierde
14
Sector
Organizados en cilindros
N de pistas del cilindro = cabezas apiladas verticalmente
15
16
El tiempo de bsqueda es mayor que los dems tiempos Se intenta mejorar =>
Algoritmos de planificacin del brazo del disco
17
FCFS
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 bsqueda
18
SSF (I)
Prioridad a la bsqueda ms corta tabla de peticiones indexada por n de cilindro Lista de peticiones
Tabla de peticiones
19
SSF (II)
Se mejora el tiempo de bsqueda tomando la solicitud al cilindro ms cercano. Cilindro inicial => 11 Llegan las peticiones 1, 36, 16, 34, 9, 12
1 9 12 16 34 36 10 35 20 25 3 18 TOTAL= 111
FCFS
SSF
15 3 1
33 2
TOTAL= 61
20
Problemas 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
21
22
Entrelazado (I)
Tcnica que se utiliza para dar tiempo a transferir los datos del buffer interno a memoria
Datos Datos
Disco
Buffer interno
Memoria
23
entrelazado (II)
Factor de entrelazado:
7 6 5 4 3
0 1 2 3 6
0 4 1 2 7
0 3 6
Entrelazado simple
Entrelazado doble
Entrelazado triple
24
Otras optimizaciones
Optimizacin en la latencia de rotacin
Enviar la peticin del sector que pase antes bajo la cabeza de L/E
Bsquedas solapadas
25
Tratamiento de errores
Errores de programacin Errores transitorios en el cdigo de control Errores permanentes en el cdigo de control Errores de bsqueda Errores en el controlador
26
Errores de programacin
El controlador recibe rdenes del manejador
mover el brazo a un cilindro leer un sector escribir los datos de una posicin de memoria
Lo parmetros pueden no ser coherentes Se debe a que el programa falla El controlador debe devolver un cdigo de error
27
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 operacin
28
Errores permanentes
Marcar bloques como inservibles
Elaboracin 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 daadas Se utiliza una tabla para hacer la correspondencia
29
Errores de bsqueda
Errores mecnicos 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 tcnico
30
Errores 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
31
Discos RAM
Dispositivo de bloques Se utiliza una parte de la memoria principal
Memoria principal Bloque Disco RAM
La memoria se divide en bloques El manejador calcula la posicin del bloque Acceso instantneo
32
Relojes
= Temporizadores Mantienen la fecha y la hora Sirve para controlar el tiempo que los procesos pueden estar ejecutandose
33
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
Registro de precarga -6
34
35
36
Se guarda en segundos con un contador auxiliar para contar el n de pulsos del segundo actual
2 Hora y fecha en segundos N de pulsos del segundo actual
32
= ms de 136 aos
Se guarda en segundos el instante de arranque del sistema y un contador para los pulsos desde el momento de arranque.
37
Cuando llega a 0
Se llama al planificador
38
Temporizadores
Para avisar a los procesos (seal, mensaje...) Ej: Aplicacin que retransmite paquetes transcurrido un cierto intervalo de tiempo si no se ha confirmado Siguiente Tabla con tiempos de aviso Lista enlazada
3
Cabecera de lista 3 4
Siguiente seal
6 2 1
39
Temporizadores de guarda
Temporizadores del propio sistema Se suelen utilizar en los manejadores de dispositivos
Esperar 250 mls despus de arrancar el motor de una unidad En vez de generar una seal, el manejador llama al procedimiento indicado
40
Otras funciones
Medir tiempos de ejecucin Realizar estadsticas
41
5. 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
42
43
UART
44
45
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 ...
46
47
48
49
50
Tablas de correspondencia Buffer para guardar lneas ioctl : llamada al sistema para controlar los parmetros del terminal
51
52
Software de salida
En terminales de interfaz RS-232
El manejador copia un carcter del buffer de salida y se bloquea hasta que llega la interrupcin