Beneficios del Sistema de Pensiones Fernando Avila S. Gerente de Operaciones.
Operaciones de e/s
description
Transcript of Operaciones de e/s
![Page 1: Operaciones de e/s](https://reader036.fdocuments.net/reader036/viewer/2022081519/5681458c550346895db277ba/html5/thumbnails/1.jpg)
OPERACIONES DE E/S
Adrian Germán Galván Mandujano
Rodrigo Antonio López Rosciano
Jorge Alberto Miranda Tavera
![Page 2: Operaciones de e/s](https://reader036.fdocuments.net/reader036/viewer/2022081519/5681458c550346895db277ba/html5/thumbnails/2.jpg)
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.
![Page 3: Operaciones de e/s](https://reader036.fdocuments.net/reader036/viewer/2022081519/5681458c550346895db277ba/html5/thumbnails/3.jpg)
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).
![Page 4: Operaciones de e/s](https://reader036.fdocuments.net/reader036/viewer/2022081519/5681458c550346895db277ba/html5/thumbnails/4.jpg)
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.
![Page 5: Operaciones de e/s](https://reader036.fdocuments.net/reader036/viewer/2022081519/5681458c550346895db277ba/html5/thumbnails/5.jpg)
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.
![Page 6: Operaciones de e/s](https://reader036.fdocuments.net/reader036/viewer/2022081519/5681458c550346895db277ba/html5/thumbnails/6.jpg)
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
![Page 7: Operaciones de e/s](https://reader036.fdocuments.net/reader036/viewer/2022081519/5681458c550346895db277ba/html5/thumbnails/7.jpg)
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
![Page 8: Operaciones de e/s](https://reader036.fdocuments.net/reader036/viewer/2022081519/5681458c550346895db277ba/html5/thumbnails/8.jpg)
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.
![Page 9: Operaciones de e/s](https://reader036.fdocuments.net/reader036/viewer/2022081519/5681458c550346895db277ba/html5/thumbnails/9.jpg)
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
![Page 10: Operaciones de e/s](https://reader036.fdocuments.net/reader036/viewer/2022081519/5681458c550346895db277ba/html5/thumbnails/10.jpg)
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
![Page 11: Operaciones de e/s](https://reader036.fdocuments.net/reader036/viewer/2022081519/5681458c550346895db277ba/html5/thumbnails/11.jpg)
ESTRATEGIAS DE BUSQUEDA
![Page 12: Operaciones de e/s](https://reader036.fdocuments.net/reader036/viewer/2022081519/5681458c550346895db277ba/html5/thumbnails/12.jpg)
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.
![Page 13: Operaciones de e/s](https://reader036.fdocuments.net/reader036/viewer/2022081519/5681458c550346895db277ba/html5/thumbnails/13.jpg)
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)
![Page 14: Operaciones de e/s](https://reader036.fdocuments.net/reader036/viewer/2022081519/5681458c550346895db277ba/html5/thumbnails/14.jpg)
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
![Page 15: Operaciones de e/s](https://reader036.fdocuments.net/reader036/viewer/2022081519/5681458c550346895db277ba/html5/thumbnails/15.jpg)
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.
![Page 16: Operaciones de e/s](https://reader036.fdocuments.net/reader036/viewer/2022081519/5681458c550346895db277ba/html5/thumbnails/16.jpg)
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
![Page 17: Operaciones de e/s](https://reader036.fdocuments.net/reader036/viewer/2022081519/5681458c550346895db277ba/html5/thumbnails/17.jpg)
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.
![Page 18: Operaciones de e/s](https://reader036.fdocuments.net/reader036/viewer/2022081519/5681458c550346895db277ba/html5/thumbnails/18.jpg)
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.
![Page 19: Operaciones de e/s](https://reader036.fdocuments.net/reader036/viewer/2022081519/5681458c550346895db277ba/html5/thumbnails/19.jpg)
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.
![Page 20: Operaciones de e/s](https://reader036.fdocuments.net/reader036/viewer/2022081519/5681458c550346895db277ba/html5/thumbnails/20.jpg)
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