OPERACIONES DE E/S
Adrian Germán Galván Mandujano
Rodrigo Antonio López Rosciano
Jorge Alberto Miranda Tavera
INTRODUCCIÓN
Tanto en la E/S programada como la basada en interrupciones,
la UCP debe encargarse de la transferencia de datos una vez que
sabe que hay datos disponibles en el controlador.
Tecnica de Acceso directo de memoria.
Cuando se utiliza acceso directo a memoria, es el controlador el
que se encarga directamente de transferir los datos entre el
periférico y la memoria principal, sin requerir intervención
alguna por parte del procesador.
EL PROCESADOR ENVÍA UNA ORDEN AL CONTROLADOR INDICÁNDOLE :
Tipo de operación.
Periférico involucrado en la operación.
La dirección de memoria desde la que se va a leer
o a la que va a escribir directamente con el
controlador de dispositivo (dirección).
El número de bytes a transferir (contador).
OPERACIONES DE E/S
Lectura: el canal transfiere a memoria principal un
bloque de palabras de tamaño especificado en el campo nº
de palabras, en orden ascendente de direcciones,
empezando en la dirección especificada en el campo
dirección del dato.
Escritura: el canal transfiere datos de memoria principal
al dispositivo. Las palabras se transfieren en el mismo
orden que en la operación de lectura.
Control: se utiliza esta orden para enviar instrucciones
específicas al dispositivo de E/S, como rebobinar una cinta
magnética, etc.
OPERACION CON DMA1. 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
de lectura) una cierta cantidad de datos desde una posición
determinada del dispositivo a su memoria interna. 7.
4. Cuando los datos están listos, el controlador los copia a la
posición de memoria que tiene en sus registros, incrementa dicha
posición de memoria y decrementa el contador de datospendientes
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 está a cero, el controlador
interrumpe a la UCP para in dicar que la operación de DMA ha
terminado.
LECTURA
Interfaz: ssize_t ptr_read (struct file *flip, char *buff,
size_t count, loff_t *offp)
Lee datos del dispositivo:
• count es la cantidad de bytes a leer
• buff es el buffer de usuario en el que se depositan los
datos
• offp la posición del fichero a la que se accede
• retorna el número de bytes leídos
ESCRITURA
Interfaz: ssize_t ptr_write (struct file *filp, const char
*buff,
size_t count, loff_t *offp)
Escribe datos del dispositivo:
• count es la cantidad de bytes a escribir
• buff es el buffer de usuario en el que están los datos
• offp la posición del fichero a la que se accede
• retorna el número de bytes escritos
CONTROL
Interfaz: int ptr_ioctl (struct inode *inodep, struct file *filp,
unsigned int cmd, unsigned long arg)
Envía una orden de control al dispositivo:
• cmd es la orden
• arg es un argumento para ejecutar la orden
La interpretación de la orden es dependiente del
dispositivo
Retorna cero si va bien, o un código de error si va mal.
OPEN
Interfaz: int ptr_open (struct inode *inodep, struct file *filp)
Abre el dispositivo:
• Chequea errores del dispositivo
• Inicializa el dispositivo si es la primera vez que se abre
• Crea y rellena si hace falta filp->private_data
• Incrementa el contador de uso del dispositivo con
MOD_INC_USE_COUNT;
• Identifica el número menor y actualiza f_op si procede
RELEASE
Interfaz: void ptr_release (struct inode *inodep, struct file *filp)
Cierra el dispositivo:
• Decrementa el contador de uso con MOD_DEC_USE_COUNT;
(importante: el kernel descarga el módulo al solicitarse
y
llegar el contador a cero)
• Libera si hace falta la memoria asignada a
filp->private_data
• Apaga el dispositivo si es el último cierre
ESTRATEGIAS DE BUSQUEDA
ESTRATEGIAS DE BÚSQUEDA DE MANEJADOR DE
DISPOSITIVOS
Una estrategia de búsqueda para el manejador de
dispositivos de E/S es la política predeterminada que
utiliza para dar acceso al dispositivo a los diversos
procesos que pueden estar esperando.
Define el orden en el cual los procesos obtienen el
dispositivo.
La meta es mantener el tiempo de búsqueda al
mínimo.
ESTRATEGIAS DE BÚSQUEDA DE MANEJADOR DE
DISPOSITIVOS
Las estrategias de búsqueda mas comunes son:• Primeras llegadas• Primeros servicios (FCFS)• Tiempo mas breve de búsqueda primero (SSTF)• SCAN y sus variaciones (LOOK, N-Step SCAN, c-
SCAN y C-LOOK)
ESTRATEGIAS DE BÚSQUEDA DE MANEJADOR DE
DISPOSITIVOS
Todo algoritmo de programación debe efectuar lo
siguiente:• Minimizar el movimiento del brazo• Llevar al mínimo el tiempo medio de respuesta• Minimizar la variación en tiempo de respuesta
PLANIFICACIÓN FCFS (PRIMERO EN LLEGAR, PRIMERO EN SER
SERVIDO)
Una petición no puede ser desplazada por la llegada de
una petición con prioridad más alta.
No hay reordenamiento de la cola de peticiones
pendientes.
Se ignoran las relaciones posicionales entre las
peticiones pendientes.
Ofrece una varianza pequeña aunque perjudica a las
peticiones situadas al final de la cola.
TIEMPO DE BÚSQUEDA MAS BREVE PRIMERO
(SSTF)
Utiliza la filosofía donde los trabajos mas breves se
procesan primero y se hace esperar a los mas largos.
Con SSTF la solicitud con la pista mas cercana a la
que esta sirviendo(esto es, la que ofrece la distancia
mas corta por recorrer) es la siguiente que se va a
cubrir, con lo cual se minimiza el tiempo general de
búsqueda
SCAN
El brazo del disco se desplaza sirviendo a todas las
peticiones que encuentra a su paso.
Cambia de dirección cuando ya no hay peticiones
pendientes en la dirección actual.
Ha sido la base de la mayoría de las estrategias de
planificación implementadas.
PLANIFICACIÓN SCAN DE N - PASOS
La estrategia de movimiento del brazo es como en SCAN; solo
da servicio a las peticiones que se encuentran en espera
cuando comienza un recorrido particular.
Las peticiones que llegan durante un recorrido son
agrupadas y ordenadas y serán atendidas durante el recorrido
de regreso.
Posee menor varianza de los tiempos de respuesta si se
compara con las planificaciones SSTF y SCAN convencionales.
PLANIFICACIÓN C - SCAN (BÚSQUEDA CIRCULAR)
El brazo se mueve del cilindro exterior al interior,
sirviendo a las peticiones sobre una base de búsqueda más
corta.
Finalizado el recorrido hacia el interior, salta a la petición
más cercana al cilindro exterior y reanuda su
desplazamiento hacia el interior.
No discrimina a los cilindros exterior e interior.
La varianza de los tiempos de respuesta es muy pequeña.
ESTRATEGIAS
La estrategia SCAN es la mejor con carga baja.
La estrategia C - SCAN es la mejor con cargas
medias y pesadas.
La estrategia C - SCAN con optimización
rotacional es la mejor para cargas muy pesadas
Top Related