Está en la página 1de 106

Analista Universitario

Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
INTRODUCCIÓN

ADMINISTRACIÓN DE
ENTRADA/SALIDA

1
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Introducción
Sistemas Operativos
INTRODUCCIÓN

El SO debe gestionar y
controlar las operaciones y
dispositivos de E/S

• Los dispositivos de E/S permiten a la CPU


relacionarse con el mundo exterior: teclados,
pantallas, impresoras, discos . . .
• La comunicación de la CPU con un elemento
externo es similar a la comunicación con la
memoria: se leen y escriben datos

2 de 43
Sistemas Operativos I
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
INTRODUCCIÓN

Dispositivos de
Entrada/Salida
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
INTRODUCCIÓN
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
INTRODUCCIÓN
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
INTRODUCCIÓN
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
INTRODUCCIÓN
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
INTRODUCCIÓN
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
INTRODUCCIÓN
Dispositivo Velocidad de transferencia
Teclado 10 bytes/seg
Mouse 100 bytes/seg
Modem de 56L 7 KBytes/seg
Dispositivos de Entrada/Salida

Escaner 400 KBytes/seg


Cámara de video digital 3,5 MBytes/seg
802.11g inalámbrico 6,75 Mbytes/seg
CD-ROM de 52x 7,8 Mbytes/seg
Fast Ethernet 12,5 Mbytes/seg
Tarjeta Compact Flash 40 Mbytes/seg
FireWire (IEEE 1394) 50 Mbytes/seg
USB 2.0 60 Mbytes/seg
Red SONET OC-12 78 Mbytes/seg
Disco SCSI Ultra 2 80 Mbytes/seg
Gigabit Ethernet 125 Mbytes/seg
Unidad de Disco SATA 300 Mbytes/seg
Cinta de Ultrium 320 Mbytes/seg
Bus PCI 528 Mbytes/seg
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
Gestión del sistema de E / S
INTRODUCCIÓN

⦁ Los sistemas de E/S independiente de dispositivo son:

⦁ Aquellos sistemas que incluyen una abstracción del sistema de


E/S en la que todos los dispositivos aparecen ante los usuarios
como un conjunto de archivos. Por lo tanto, los usuarios
pueden apoyarse en un conjunto único y uniforme de servicios
del sistema para manipulación de archivos aplicables tanto a la
gestión de archivos como a la gestión de dispositivos de E/S
⦁ Estructuración por capas de forma que:
⦁ Cada nivel realiza un subconjunto de las funciones de E/S
necesitadas por el S.O.
⦁ Cada nivel descansa sobre el siguiente nivel inferior para
efectuar operaciones más básicas
⦁ Cada nivel esconde los detalles a los niveles superiores a
los que proporciona servicios
⦁ Los niveles se definen de forma que los cambios que se
realicen en un determinado nivel no requieran
modificación alguna en los otros niveles
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
C a p a s de E / S
INTRODUCCIÓN
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos

Introducción
INTRODUCCIÓN

• Uno de los principales funciones de un sistema operativo


es controlar todos los dispositivos de Entrada/Salida que
estén conectados al mismo: teclado, ratón, impresora,
monitor, red, disco, etc. 14

• Para encapsular los detalles de los diferentes


dispositivos, el núcleo del sistema operativo es
estructurado en el uso de módulos de dispositivos.
• Los manejadores de dispositivos (device drivers)
presentan un acceso uniforme al subsistema de
Entrada/Salida.
Analista Universitario
Administración en Sistemas
de Entrada/Salida

Introducción
Sistemas Operativos
INTRODUCCIÓN

• Los dispositivos se comunican con la computadora a


través de señales sobre un puerto.
• Si varios dispositivos utilizan el mismo medio de
comunicación, la conexión es llamada bus.
15

• Un bus es un conjunto de líneas (wires) y un protocolo


que especifica un conjunto de mensajes que son
enviados a través de él.
• Los buses son comúnmente usados en los sistemas de
computación para interconectar los dispositivos
Introducción
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
Hardware de Entrada/Salida
INTRODUCCIÓN

Los sistemas Pentium pueden tener varios buses:


memoria, PCI, SCSI, USB, ISA
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
Introducción
INTRODUCCIÓN

• Una vía de comunicación es a través de instrucciones de


E/S especiales que especifican una transferencias de un
byte, o palabra hacia una dirección de puerto de E/S (I/O
port address). 18

• La instrucción de E/S genera las señales adecuadas sobre


las líneas del bus para lograr la comunicación con el
dispositivo que se intenta acceder y mover bits hacia y
fuera de los registros del dispositivo.
• Otra alternativa es utilizar mapeo de memoria del
dispositivo de E/S (memory-mapped I/O). Los registros
del dispositivos son “mapeados” a memoria principal.
• Un ejemplo de este tipo de comunicación es el
controlador de una tarjeta de video.
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
Categorías de dispositivos de E/S
INTRODUCCIÓN

• dispositivos de almacenamiento: discos


cintas

• dispositivos de transmisión: tarjetas de red


módems

• dispositivos de interfaz humana: pantalla


teclado
mouse (ratón)

• dispositivos especializados: volantes


Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
Características de los Dispositivos de E/S
INTRODUCCIÓN

Aspecto Clasificación/ Ejemplo

Modo de transferencia Carácter Teclado


de datos Bloque Disco
Método de acceso Secuencial Modem
Aleatorio CD-ROM
Forma de Sincrónico Tape
transferenci Asincrónico Teclado
a
Compartición Dedicado Tape
Compartido Teclado
Velocidad de Latencia
los dispositivos Tiempo de búsqueda
Tempo de transferencia
Retardo entre operaciones
Dirección de E/S Solo lectura CD-ROM
Solo escritura Controlador gráfico
20 de
Lectura y escritura Disco Sistemas 43
tivos I
Opera
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
INTRODUCCIÓN
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
Dispositivos de Entrada/Salida
INTRODUCCIÓN

• dispositivos de bloque
– almacenan información en bloques de tamaño fijo, cada uno
con su propia dirección
– todas las transferencias se realizan en unidades de uno o más
bloques completos (consecutivos)
– es posible leer o escribir cada bloque de manera independiente
de los demás
– ejemplos: discos duros, CD-ROMs y memorias USBs
• dispositivos de carácter
– envían o aceptan un flujo de caracteres, sin importar la
estructura del bloque
– no son direccionables y no tiene ninguna operación de
búsqueda
– ejemplos: teclado, impresoras, las interfaces de red, mouse
Los límites son difusos – hay dispositivos que no se adaptan a
ninguna clasificación. Ejemplo: relojes 7 de 43
Sistemas Operativos I
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
Controladores de Dispositivos de E/S
INTRODUCCIÓN

Componente electrónico llamado controlador de


dispositivo o adaptador. En las computadoras
personales tiene la forma de un chip en la tarjeta
Unidad principal o una tarjeta
de E/S
Componente mecánico es el dispositivo en sí
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
Controladores
INTRODUCCIÓN de Dispositivos de E/S

ANSI
Standard IEEE
ISO

IDE
SATA
Unidades de disco SCSI
USB
Firewire (IEEE 1394)
Analista Universitario
Administración en Sistemas
de Entrada/Salida

Controladores de Dispositivos de E/S


Sistemas Operativos
INTRODUCCIÓN

Una controladora es una colección de componentes


electrónicos que permite controlar un puerto, un bus
o un dispositivo. Ejemplo: un chip que controla las
señales que se transmiten a través de los hilos de un
puerto serie.
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
Controladores de dispositivos
INTRODUCCIÓN

Posicionamiento lógico del


software controlador de
dispositivos. En realidad
toda la comunicación entre
el software controlador y
los controladores de
dispositivos pasa a través
del bus. Funciones:
-aceptar peticiones
abstractas de lectura y
escritura del software
independiente del
dispositivo que está por
encima de él, y ver que se
lleven a cabo
- inicializar el dispositivo
-administrar sus propios
requerimientos y eventos
del registro.
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
INTRODUCCIÓN

⦁ Un controlador de E/S es el módulo del computador


responsable del control de uno o más dispositivos externos y
del intercambio de datos entre dichos periféricos con la
memoria principal o con los registros de la CPU.
⦁ El controlador de E/S debe poseer una interfaz interna al
computador (para su conexión con la UCP y la memoria
principal) y
⦁ Una interfaz externa al computador (para su conexión con
el dispositivo externo)
⦁ Las principales funciones de un controlador de E/S:
⦁ Control y temporización: los recursos internos (memoria y bus)
⦁ Comunicación con la UCP
⦁ Comunicación con el dispositivo externo
⦁ Almacenamiento temporal de datos
⦁ Detección de errores
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos

Estructura del controlador de E/S


INTRODUCCIÓN

Interfaz con el Interfaz con el


Bus del Sistema Dispositivo Externo

Lógica de Datos
Líneas de Interfaz a un
Registro de Estado (RE) Estado
Datos dispositivo
interno Control
Registro de Datos (RD)

Líneas de
Dirección
Lógica Lógica de Datos
Líneas de de Interfaz a un
E/S Estado
Control dispositivo
externo Control

© Carolina Mañoso, 2002


Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos

Introducción
INTRODUCCIÓN

• Un controlador (o adaptador) es un chip electrónico que puede


operar en un puerto, bus, o dispositivo.
• Por ejemplo, un controlador de puerto serial es un
dispositivo que controla las señales sobre un puerto serial.
29

• Muchos dispositivos tienen implementado su propio


controlador que está incorporado al dispositivo (ej.: discos).
• La comunicación con el controlador por parte del procesador es a
través de registros de datos y señales de control. El procesador
se comunica con el controlador escribiendo y leyendo
información en los registros del controlador.
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos

Introducción
INTRODUCCIÓN

• Un puerto de E/S consiste, generalmente, en cuatro


registros:
• Estado (status): estos registros pueden ser leídos por el equipo.
30

Informan del estado del dispositivo (completitud de una


operación, disponibilidad de leer del registro de datos de
entrada, existencia de un error en el dispositivo)
• Control (control): pueden ser escritos por el equipo para
generar un pedido, cambiar de modo el dispositivo.
• Datos de entrada (data-in): son leídos por el equipo para
obtener la entrada.
• Datos de salida (data-out): son escritos por el equipo para enviar
una salida.
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos

Estructura del controlador de E/S


INTRODUCCIÓN

■ Hay tres maneras de utilizar el bus para


interconectar la UCP con la memoria y con la
unidad de E/S:
◆Dos buses independientes, uno para la memoria
(bus del sistema) y otro para el sistema de E/S (bus
de E/S) (computadores con UCP+ PE/S)
◆Un bus común para la memoria y el sistema de E/S,
pero con líneas de control independientes para cada
uno (E/S aislada)
◆Un único bus con líneas de control también comunes
(E/S localizada en memoria)
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
E/S por asignación de memoria
INTRODUCCIÓN

Cada controlador tiene unos cuantos registros que se utilizan para


comunicarse con la CPU. Al escribir en ellos, el SO puede hacer que el
dispositivo envíe o acepte datos, se encienda o se apague, o realice cualquier
otra acción. Al leer de estos registros, el SO puede conocer el estado del
dispositivo, si está preparado o no para aceptar un nuevo comando, y sigue
procediendo de esa manera. Además, hay un búfer de datos que el SO puede
leer y escribir
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
Controlador
INTRODUCCIÓN

⦁ Los tipos de registros o puertos del controlador:


⦁ Registros de datos (buffers de entrada y salida)
⦁ Registros de control
⦁ Registros de estado
⦁ Hay tres maneras de utilizar el bus para interconectar la
CPU con la memoria y con la unidad de E/S:
⦁ Dos buses independientes, uno para la memoria (bus del
sistema) y otro para el sistema de E/S (bus de E/S)
(computadores con CPU+ PE/S)
⦁ Un bus común para la memoria y el sistema de E/S, pero con
líneas de control independientes para cada uno (E/S aislada)
⦁ Un único bus con líneas de control también comunes (E/S
localizada en memoria)
⦁ Los datos se intercambian entre la CPU y le controlador
de E/S
⦁ La CPU ejecuta un programa que tiene
⦁ El control directo de la operación de E/S
⦁ Incluye comprobación del estado del dispositivo
⦁ El envío de una orden de lectura o escritura
⦁ La transferencia del dato
⦁ Cuando la CPU emite una orden al controlador de E/S
debe esperar hasta que finalice la operación de E/S. Si la
CPU es más rápida que el controlador de E/S se malgasta
tiempo de CPU
Analista Universitario
Administración en Sistemas
de Entrada/Salida

Objetivos de Software de E/S


Sistemas Operativos
INTRODUCCIÓN

• Independencia de dispositivos: los programas deben poder acceder a


cualquier dispositivo de E/S sin tener que especificar el dispositivo por adelantado
• Denominación uniforme: El nombre de un archivo o dispositivo simplemente debe
ser una cadena o un entero sin depender del dispositivo de ninguna forma
• Manejo de errores: los errores se deben manejar lo más cerca del hardware que sea
posible. Si el controlador descubre un error de lectura, debe tratar de corregir el
error por sí mismo. Si no puede, entonces tratar de leer el bloque de nuevo
• Transferencias sincrónicas (de bloqueo) y asincrónicas
• (controladas por interrupciones) El SO operativo debe lograr que las
transferencias sean transparentes para los programas de usuario
• Uso del buffer: el SO debe encargarse de los datos provenientes de algunos
dispositivos que no se pueden almacenar directamente en su destino final
• Administración de dispositivos compartidos y dedicados: el SO debe encargarse a
fin de evitar problemas en sistemas multiusuarios
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
Métodos para realizar una E/S
INTRODUCCIÓN

• E/S Programada (Programmed I/O): El procesador le


comunica un pedido a la controladora del dispositivo y
queda en un busy waiting consultando a la controladora
36

para verificar el estado del pedido.


• Interupcciones (Interrupt-Driven I/O): El procesador le
comunica el pedido a la controladora y se libera para
realizar otras tareas. Al culminar el pedido el dispositivo,
la controladora genera una interrupción al procesador.
• Acceso directo a memoria (DMA – Direct Memory Access):
Se utiliza un chip especial que permite transferir datos
desde alguna controladora a memoria sin que el
procesador tenga que intervenir en forma continua.
Analista Universitario
Administración en Sistemas
de Entrada/Salida

E/S controlada por programa


Sistemas Operativos
INTRODUCCIÓN

■ Los datos se intercambian entre la UCP y le controlador de


E/S

■ La UCP ejecuta un programa que tiene


◆ El control directo de la operación de E/S
◆ Incluye comprobación del estado del dispositivo
◆ El envío de una orden de lectura o escritura
◆ La transferencia del dato

■ Cuando la UCP emite una orden al controlador de E/S debe


esperar hasta que finalice la operación de E/S. Si la UCP es
más rápida que el controlador de E/S se malgasta tiempo de
UCP

© Carolina Mañoso, 2002


Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
E / S controlada por programa
INTRODUCCIÓN
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
E / S controlada por programa
INTRODUCCIÓN

⦁ Como se ve en el esquema el procesador examina


continuamente el estado del dispositivo de E/S hasta que
este preparado para la siguiente transferencia. Este bucle
utilizado tanto para entrada como para salida se
denomina bucle de espera activa.
⦁ Cuando la UCP, la memoria principal y la unidad de E/S
comparten un bus común, el direccionamiento es:
⦁ E/S localizada en memoria: la computadora no distingue entre
direcciones de memoria y direcciones de E/S
⦁ E/S aislada: además de las líneas de control de l/e en memoria,
se dispone de líneas de control específicas de E/S para acceder
a los periféricos
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
E/S controlada por programa
INTRODUCCIÓN

■ Inconvenientes
◆ Perdida de tiempo en el bucle de espera

◆ Si existen programas que tienen que ejecutarse de forma periódica no se


puede estar de forma indefinida en el bucle de espera

◆ Problemas cuando se quiere atender a varios periféricos. Mientras el


computador espera a que un periférico esté preparado para transmitir no
puede estar atendiendo a los otros

◆ Intento de solución: limitar el tiempo de espera en el bucle (no se garantiza


la transmisión)

◆ Solución Eliminar el bucle de espera mediante el mecanismo de E/S por


interrupciones
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
E / S controlada por interrupciones
INTRODUCCIÓN

⦁ La UCP envía una orden de E/S al periférico y prosigue


con la tarea que estaba ejecutando, en vez de esperar a
que se efectúe la operación de E/S
⦁ Cuando el periférico está preparado para intercambiar
información, fuerza una interrupción en la tarea que
realiza la UCP para que atienda a la operación de E/S
⦁ Para ello, activa una línea especial del bus de control: la línea de
petición de interrupción PI
⦁ La UCP realiza la transferencia de datos, igual que en el
caso de la E/S controlada por programa y a continuación
sigue ejecutando el programa que había interrumpido
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
E / S controlada por interrupciones
INTRODUCCIÓN
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos

E/S controlada por interrupciones


INTRODUCCIÓN

Enviar orden de lectura CPU E/S


al controlador de E/S Continuar su tarea

Leer el estado del Interrupción


módulo de E/S (RE) E/S CPU

Comprobar el Condición de error


estado
LISTO
Transferir dato del Registro E/S CPU
de datos (RD) a la UCP

Escribir palabra en CPU Memoria


memoria

¿Hecho?
NO
SI Instrucción siguiente © Carolina Mañoso, 2002
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos

E/S controlada por interrupciones


INTRODUCCIÓN

■ Procesamiento de interrupciones:

◆ 1. El procesador inicializa la entrada, emitiendo una orden al


puerto de E/S

◆ 2. El puerto de E/S pone su bit de estado de entrada a


ocupado e inicia la acción de entrada específica de
dispositivo

◆ 3. Cuando el dato de entrada esta preparado en el buffer de


entrada del puerto de E/S, el puerto pone su bit de estado de
entrada a preparado y activa su línea de petición de
interrupción
© Carolina Mañoso, 2002
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos

E/S controlada por interrupciones


INTRODUCCIÓN

◆4. Cuando el procesador está en modo


interrumpible, es decir, la instrucción en progreso ha
sido finalizada y las interrupciones habilitadas, y la
petición de interrupción pendiente resulta ser de
prioridad más elevada, se inicia la secuencia de
reconocimiento hardware a cuenta del dispositivo:
✦ a) Se deshabilitan las interrupciones
✦ b) Se guarda la parte hardware del contexto

✦ c) Se identifica la fuente de interrupción:

Encuesta
Vectorización
✦ d) Se transfiere el control a la RSI
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
E/S controlada por interrupciones
INTRODUCCIÓN

◆ 5. Dentro de la rutina de servicio de interrupción:


✦ a) Se habilitan los niveles de interrupción de prioridad superiores
✦ b) Se salva la parte software del contexto
✦ c) Se obtiene un dato del buffer de entrada del puerto de E/S
✦ d) Se reconoce la interrupción, y el puerto responde retirando la petición
✦ e) Se completan otros procesamientos y contabilidades de interrupción
✦ f) Se restaura la parte software de contexto salvado
✦ g) Se ejecuta la instrucción de retorno de interrupción

◆ 6. Por medio de la instrucción RTI o de algunas otras adicionales de restaura


la parte hardware del contexto y se habilitan los niveles de prioridad de
interrupción, hasta el del programa interrumpido

◆ 7. La UCP continúa la ejecución del programa interrumpido en el punto en


el que lo dejó
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
INTRODUCCIÓN

⦁ El nivel inferior es el dispositivo físico que es quien realmente ejecuta


la operación de E/S
⦁ Manejadores de interrupciones: cuando el proceso tiene una E/S, se
inicia la operación, conmuta al estado bloqueado y espera hasta que
se acabe la operación de E/S
⦁ Manejadores de dispositivos: la misión es aceptar las solicitudes
que hace el software de nivel superior (independiente de
dispositivo) y verificar su ejecución
⦁ Software independiente de dispositivo: realizar las tareas de E/S
comunes a todos los dispositivos
⦁ Software a nivel de usuario: hay una parte del software de E/S que no
está dentro del sistema operativo, sino que son librerías accesibles
a los programas de los usuarios
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
Interrupciones (Interrupt-Driven I/O)
INTRODUCCIÓN

• El proceso que está ejecutando realiza la solicitud de E/S, se


agrega a la cola de espera del dispositivo y, finalmente, invoca al
planificador (scheduler) para que asigne el procesador a otro
proceso. 48

• El controlador de dispositivo avisará la completitud de la


solicitud a través de una interrupción. Una rutina de atención
de la interrupción será invocada interrumpiendo la ejecución del
proceso asignado al procesador. Es necesario salvar el estado
del proceso que estaba ejecutando.
• Una vez que la completitud de la E/S es registrada por el
manejador de la interrupción (interrupt handler), el proceso
que generó la solicitud es desbloqueado y se lo asigna a la
lista de procesos listos.
Interrupciones (Interrupt-Driven I/O)
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
Interrupciones (Interrupt-Driven I/O)
INTRODUCCIÓN

p = copy_from_user(buffer, k_buffer, count);


habilitar_interrupciones();
while (*printer_status_reg != READY);
*printer_data.register = p[0];
add_to_queue(current); 50

scheduler();
remove_from_queue(current);

• La rutina scheduler asignará el procesador a otro


proceso. Cuando este proceso vuelva a ejecutar, lo hará
luego de la instrucción scheduler.
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
Interrupciones
INTRODUCCIÓN
if (count == 0)
(Interrupt-Driven I/O)
unblock_user();
else {
*printer_data_register = p[i];
count--;
i++; 51

}
acknowledge_interrupt();
return_from interrupt();

• La gran ventaja es que el procesador queda disponible


para otro proceso que requiera el recurso. Es necesario
soporte de hardware, además, se deben codificar los
manejadores de interrupciones (interrupt handlers)
Interrupciones (Interrupt-Driven I/O)
Analista Universitario
Administración en Sistemas
de Entrada/Salida

Interrupciones precisas e imprecisas


Sistemas Operativos
INTRODUCCIÓN

Propiedades de una interrupción precisa:


1. El contador del programa (PC) se guarda en un lugar conocido
2.Todas las instrucciones antes de la instrucción a la que apunta el PC
se han ejecutado por completo
3.Ninguna instrucción más allá de la instrucción a la que apunta el PC
se ha ejecutado
4.Se conoce el estado de ejecución de la instrucción a la que apunta el
PC
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
Interrupciones
INTRODUCCIÓN

Cuando un dispositivo de E/S ha terminado el trabajo que se le asignó, produce


una interrupción (suponiendo que el sistema operativo haya habilitado las
interrupciones). Para ello, impone una señal en una línea de bus que se le haya
asignado. Esta señal es detectada por el chip controlador de interrupciones en
la tarjeta principal, que después decide lo que debe hacer.

54 de 43
Sistemas Operativos I
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos

E/S Programada (Programmed I/O)


INTRODUCCIÓN

• El procesador genera una solicitud de E/S y luego se encarga


de controlar la completitud de la misma controlando algún
55

registro del controlador de dispositivo.


• La consulta la realiza en una iteración continua
denominada polling o busy waiting.
• La técnica de busy waiting consume ciclos de procesador en
forma innecesaria.
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
E/S Programada (Programmed I/O)
INTRODUCCIÓN

p = copy_from_user(buffer, k_buffer, count);


for (i = 0; i < count; i++) {
while (*printer_status_reg != READY);
56
*printer_data.register = p[i];
}
return_to_user();

• Si bien permite una programación simple, tiene como


gran desventaja el desperdicio de ciclos de procesador.
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
INTRODUCCIÓN Entrada/Salida
programada

Pasos para imprimir una cadena:


a)ensambla “la cadena a imprimir” en un búfer en espacio de usuario
b)el proceso de usuario adquiere la impresora para escribir, haciendo una llamada
al sistema para abrirla. El SO copia el búfer con “la cadena a imprimir” a un arreglo
en el espacio del kernel. Tan pronto como la impresora está disponible, el SO
copia el primer carácter al registro de datos de la impresora,
c)Después de imprimir un carácter, la CPU sondea en forma continua el dispositivo
para ver si está listo para aceptar otro. Este comportamiento se conoce
comúnmente como sondeo u ocupado en espera . Esta acción activa la impresora.
En general la impresora tiene un segundo registro, que proporciona su estado.
d)Cuando está lista imprime el siguiente carácter
Analista Universitario
Administración en Sistemas
de Entrada/Salida

E/S controlada por interrupciones


Sistemas Operativos
INTRODUCCIÓN

• La impresora no almacena caracteres en el buffer sino que imprime cada


uno a medida que va llegando.
• La forma de permitir que la CPU haga algo más mientras espera a que la
impresora esté lista es utilizar interrupciones.
• Cuando se realiza la llamada al sistema para imprimir la cadena, el búfer
se copia en espacio de kernel (como vimos antes) y el primer carácter se
copia a la impresora, tan pronto como esté dispuesta para aceptar un
carácter. En ese momento, la CPU llama al planificador y se ejecuta algún
otro proceso. El proceso que pidió imprimir la cadena se bloquea hasta
que se haya impreso toda la cadena.
• Cuando la impresora ha impreso el carácter, y está preparada para
aceptar el siguiente, genera una interrupción. Esta interrupción detiene el
proceso actual y guarda su estado. Después se ejecuta el procedimiento
de servicio de interrupciones de la impresora.
• Si no hay más caracteres por imprimir, el manejador de interrupciones
realiza cierta acción para desbloquear al usuario. En caso contrario,
imprime el siguiente carácter, reconoce la interrupción y regresa al
proceso que se estaba ejecutando justo antes de la interrupción, que
continúa desde donde se quedó.
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos

Acceso directo a Memoria (DMA)


INTRODUCCIÓN

Operación de una transferencia DMA para la


lectura de datos de la unidad de disco
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
E/S mediante el uso de DMA
INTRODUCCIÓN

• Una obvia desventaja de la E/S controlada por


interrupciones es que ocurre una interrupción en cada
carácter
• La solución es usar DMA. La idea es permitir que el
controlador de DMA alimente los caracteres a la impresora
uno a la vez, sin que la CPU se moleste. En esencia, el DMA
es E/S programada, sólo que el controlador de DMA realiza
todo el trabajo en vez de la CPU principal. Esta estrategia
requiere hardware especial (el controlador de DMA) pero
libera la CPU durante la E/S para realizar otro trabajo
• La gran ganancia con DMA es reducir el número de
interrupciones
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
Capas del Software de E/S
INTRODUCCIÓN
Analista Universitario
Administración en Sistemas
de Entrada/Salida

Manejadores de Interrupciones
Sistemas Operativos
INTRODUCCIÓN

Hay una serie de pasos que se deben llevar a cabo en el


software, una vez que se haya completado la interrupción de
hardware.
1.Guardar los registros (incluyendo el PSW(Program Status
Word; Palabra de estado del programa)) que no han sido
guardados por el hardware de la interrupción.
2.Establecer un contexto para el procedimiento de servicio de
interrupciones. Para ello tal vez sea necesario establecer el
TLB (Translation Lookaside Buffer, Búfer de traducción
adelantada), la MMU (Memory Management Unit, Unidad de
Administración de Memoria) y una tabla de páginas.
3.Establecer una pila para el procedimiento de servicio de
interrupciones.
4.Reconocer el controlador de interrupciones. Si no hay un
controlador de interrupciones centralizado, rehabilitar las
interrupciones.
62 de 43
Sistemas Operativos I
Analista Universitario
Administración en Sistemas
de Entrada/Salida

Manejadores de Interrupciones
Sistemas Operativos
INTRODUCCIÓN

5. Copiar los registros desde donde se guardaron (posiblemente


en alguna pila) a la tabla de procesos.
6. Ejecutar el procedimiento de servicio de interrupciones. Éste
extraerá información de los registros del controlador de
dispositivos que provocó la interrupción.
7. Elegir cuál proceso ejecutar a continuación. Si la interrupción
ha ocasionado que cierto proceso de alta prioridad que
estaba bloqueado cambie al estado listo, puede elegirse para
ejecutarlo en ese momento.
8. Establecer el contexto de la MMU para el proceso que se va
a ejecutar a continuación. También puede ser necesario
establecer un TLB.
9.Cargar los registros del nuevo proceso, incluyendo su PSW.
10.Empezar a ejecutar el nuevo proceso.

63 de 43
Sistemas Operativos I
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
Software de E/S independiente del dispositivo
INTRODUCCIÓN

Funciones del software de E/S independiente del dispositivo


Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
Interfaz uniforme para los controladores de software de dispositivos
INTRODUCCIÓN

a) Sin una interfaz de b) Con una interfaz de


controlador estándar controlador estándar
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
INTRODUCCIÓN Buffering

► Elbuffer es un espacio temporal de


memoria física el cual se usa
para almacenar información mientras se
envía de un lado a otro. Los buffers se
pueden encontrar en todo tipo de
dispositivos electrónicos, desde el nivel de
circuitos hasta el nivel de la comunicación
entre dispositivos como por ejemplo en el
funcionamiento de internet.
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
INTRODUCCIÓN Buffering
►Uso de zonas de memoria propias del SO
para almacenar datos mientras se
transfieren entre un dispositivo y un
proceso, o entre dos dispositivos.
►Se usan buffers para:
▪ Simultanear la E/S de un proceso con su
ejecución.
▪ Maximizar la utilización de la CPU y los
dispositivos de E/S.
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
Algunos usos del buffering
INTRODUCCIÓN

► Amortiguardiferencias de velocidad entre productores


y consumidores de información.
▪ Los datos de un productor lento se acumulan en un buffer
para consumirlos posteriormente de una tacada.
► Garantizar la semántica de copiado en operaciones
de salida.
▪ Si un proceso ordena escribir los datos de una región de
memoria, se copian en un buffer del SO.
▪ El proceso puede desentenderse de la operación de
salida, y modificar los datos en cualquier momento;
se escribirán siempre los datos originales.
► Permitir intercambiar procesos con E/S pendiente.
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
Buffering
INTRODUCCIÓN

•Funcionamiento:
–Se lee un elemento a la entrada y se coloca en el buffer.
–La CPU está lista y opera con él. 16

–Simultáneamente comienza la próxima lectura y se acumula


en el buffer.
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
INTRODUCCIÓN Uso de Buffer

(a)Entrada sin búfer


(b)Uso de búfer en espacio de usuario
(c)Uso de búfer en el kernel, seguido de la acción de copiar al
espacio de usuario
(d)Uso de doble búfer en el kernel
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Buffering
Sistemas Operativos
INTRODUCCIÓN

•Situaciones provocadas por las diferencias


relativas entre los tiempos de
procesamiento y E/S:
• 1.- Si la velocidad de procesamiento medio CPU = velocidad
de dispositivos, ambos funcionan a medio rendimiento.
• 2.- Si la CPU es mucho más rápida que los dispositivos o las
aplicaciones poseen una gran proporción de operaciones de
E/S. La CPU vaciará rápidamente el buffer de entrada y
deberá esperar.
• 3.- Si la CPU es más lenta, o los programas efectúan mucho
computo, los buffers de entrada estarán usualmente llenos y
los de salida vacíos.
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
INTRODUCCIÓN

• El manejo de buffers es generalmente


una función del sistema operativo:
• El monitor residente o los manejadores
de dispositivos incluyen buffers del
sistema para cada dispositivo de E/S.
• Una llamada a la subrutina del manejador
de dispositivo provoca una lectura
(transferencia) de o hacia un buffer del
sistema.
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
INTRODUCCIÓN Reporte de errores

El trabajo en red puede involucrar varias copias de un paquete

73 de 43
Sistemas Operativos I
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
INTRODUCCIÓN Spooling
El término Spooler (de Spool, acrónimo de Simultaneous Peripheral
Operations On-line) se refiere a una aplicación informática que
gestiona el proceso de transferencia de transferencia de
datos, colocándolos en un área de trabajo donde otra aplicación
puede acceder y procesarlo más tarde.
El spooler es especialmente útil cuando los dispositivos que acceden a
los datos lo hacen a velocidades diferentes. En estos casos el buffer
providencia una especie de fila de espera donde los datos quedan
almacenados mientras el dispositivo más lento los carga
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
INTRODUCCIÓN

•Spoolers
–Surge con la aparición de discos que permiten
un rápido acceso aleatorio (el disco como
buffer de gran tamaño).
–La lectora de cintas tenía el problema de que
no podrá escribir por un extremo mientras la
CPU leía por otro.
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
INTRODUCCIÓN Spooling
►Un spool es un buffer de gran tamaño que se aloja en
disco, no en memoria.
►Se suele usar para almacenar temporalmente la
salida dirigida a dispositivos que no aceptan flujos de
datos intercalados (e.g. impresoras).
▪ El SO intercepta la salida de los procesos, y la guarda en
sucesivos ficheros.
▪ Un proceso residente envía ficheros al dispositivo
cuando está disponible.
►Se utiliza un spool por dispositivo, no por cada
proceso que ordena una operación de salida.
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
INTRODUCCIÓN

• Almacenamiento temporal (buffers y spoolers).


–Surge una estructura de datos muy importante:
•Un depósito de trabajos (job spool). Esto permite al S.O. seleccionar cuál
será el siguiente trabajo por ejecutar para así incrementar la utilización de la
CPU. Es un primer ejemplo de planificación de trabajos.
–Diferencias entre buffers y spoolers:
•Buffers: permite el solapamiento de la ejecución de un trabajo con su propia
E/S.
•Spoolers: permite superponer la E/S y los cálculos de varios trabajos
diferentes.
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos

Software de E/S en espacio de usuario


INTRODUCCIÓN

Niveles del sistema de E/S y las funciones principales de cada nivel


Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
Discos Magnéticos
INTRODUCCIÓN
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
Estructura de un Disco
INTRODUCCIÓN

• Cada sector queda perfectamente especificado por sus


tres coordenadas: cilindro, cara y sector (típicamente la
numeración de las caras y cilindros comienza en 0 y la
de los sectores en 1)
• Solo el manejador de dispositivo conoce las
características físicas del disco. El SO trata el disco
como una sucesión de bloques (lógicos). Ejemplo: un
disquete de 1.4 Mbytes tiene 80 cilindros, 2 caras y 18
sectores por pista. (2880 sectores de 512 bytes). SI lo
formateamos con bloques de 4k el S.O. lo considerará
como una sucesión de 360 bloques de 4K (cada bloque)
tiene 8 sectores
• La asignación de espacio (y la contabilidad del
espacio libre) se hace por bloques, no por sectores
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
Estructura de un Disco
INTRODUCCIÓN

32 de 43
Sistemas Operativos I
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
Planificación de Discos
INTRODUCCIÓN

• Un disco esta formado por un conjunto de platos


que giran solidariamente
• Cada uno de las superficies de dichos platos se
denomina cara
• Cada cara esta compuesta por una serie de coronas
circulares concéntricas denominada pista. Al
conjunto formado por la misma pista en distintas
caras se le denomina cilindro
• Cada cilindro está formado por una serie de
sectores
• El sector es la unidad de E/S elemental de un disco
duro
• Típicamente cada sector tiene 512 bytes
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
Tiempo de Acceso a un Disco
INTRODUCCIÓN

• Tiempo de Búsqueda:
tiempo para mover el brazo
del disco al cilindro deseado
• Tiempo de Latencia
rotacional: tiempo que tarda
el cabezal del disco en
localizar un sector dado
• Tiempo de Transferencia:
tiempo que tardan los datos
en fluir desde la unidad de
disco a la computadora o
viceversa cuando se realiza
la lectura/escritura del disco

83 de 43
Sistemas Operativos I
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos

Tiempo de Acceso a un Disco


INTRODUCCIÓN

• Tiempo de Búsqueda: depende de:


– Diámetro del Disco
– Densidad e Pistas por pulgada
– Número de Pistas
– Velocidad del Actuador

• Tiempo de Latencia: depende de:


– Velocidad de Rotación del disco (promedio = tiempo 1/2 vuelta)

• Tiempo de Transferencia: depende de:


– Número de Sectores por Pista
– Velocidad de rotación del disco (Velocidad lineal de sector)

84 de 43
Sistemas Operativos I
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
Tiempo de Acceso a un Disco
INTRODUCCIÓN
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
Comparación entre Discos
INTRODUCCIÓN

37 de 43
Sistemas Operativos I
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
INTRODUCCIÓN Planificación

► Los tiempos de búsqueda y latencia dependen de


la última solicitud servida.
▪ La planificación busca un orden de servicio para reducir
esos tiempos, sin perder de vista el de espera en cola.
▪ Los algoritmos más habituales (para discos de cabezas
móviles) se centran en los tiempos de búsqueda.
► Ejemplo:
▪ Disco de 200 cilindros (200 pistas/superficie).
▪ Cola de solicitudes a los cilindros 98, 183, 37, 122, 14,
124, 65 y 67.
▪ Cabezas inicialmente posicionadas en el cilindro 53.
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
INTRODUCCIÓN Algoritmo FCFS

►FCFS (First Come, First Served): se


atienden las solicitudes en orden de
llegada.
▪ Fácil de programar, y equitativo en los
tiempos de espera en cola.
▪ Al no tener en cuenta la geometría del disco,
se pueden registrar grandes desplazamientos
de las cabezas.
►Tiempos de espera elevados.
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
INTRODUCCIÓN Ejemplo con FCFS
▪ 98, 183, 37, 122, 14, 124, 65 y 67.
200
180 183

160

140
122 124
120
100 98

80
65 67
60
53
40 37

20
14
0 Desplazamiento
640 cilindros
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
Algoritmos de programación de los brazos del Disco
INTRODUCCIÓN

FCFS (First Come First Served)

Atiende los requerimientos por orden de llegada.


• Ejemplo: Cantidad de Pistas: 200 (0..199).
• Requerimientos en la cola: {98 , 183 , 37, 122, 14, 124,
65, 67}
• Ubicación actual de la cabeza: Pista 53
• {98 , 183 , 37, 122, 14, 124, 65, 67}
90 de 43
Sistemas Operativos I
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
INTRODUCCIÓN Algoritmo SSTF

► SSTF (Shortest Seek Time First): se atiende


la solicitud con el menor tiempo de
búsqueda desde la posición actual de las
cabezas.
▪ Las peticiones de L/E en zonas alejadas pueden
sufrir inanición.
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
INTRODUCCIÓN Ejemplo con SSTF
▪ 98, 183, 37, 122, 14, 124, 65 y 67.
200
180 183

160

140
122 124
120
100 98

80
65 67
60
53
40 37

20
14
0 Desplazamiento
236 cilindros
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
INTRODUCCIÓN Algoritmo SSTF

► SSTF no es óptimo, en el sentido de minimizar el


desplazamiento de las cabezas para un conjunto
de solicitudes dado.
▪ El algoritmo óptimo supone un coste computacional
excesivo, y mantiene el riesgo de inanición.
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Algoritmos de programación de los brazos del DiscoSSTF
Sistemas Operativos
INTRODUCCIÓN (Shortest Seek Time First)

Selecciona el requerimiento que requiere el menor


movimiento de la cabeza desde la posición actual.
• Ejemplo: Cantidad de Pistas: 200 (0..199).
• Requerimientos en la cola: {98 , 183 , 37, 122, 14, 124, 65,
67}
• Ubicación actual de la cabeza: Pista 53
39
• {65 , 67, 37, 14, 98, 122, 124, 183 }
de 43
Sistemas Operativos I
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
INTRODUCCIÓN Algoritmo SCAN

► SCAN: las cabezas se mueven de un extremo a


otro del disco, atendiendo las solicitudes que se
van encontrando.
▪ Tiempos de servicio acotados, y más variables en los
extremos que en el centro.
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
INTRODUCCIÓN Ejemplo con SCAN
▪ 98, 183, 37, 122, 14, 124, 65 y 67.
200
180 183

160

140
122 124
120
100 98

80
65 67
60
53
40 37

20
14
0 0 Desplazamiento
236 cilindros
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Algoritmos de programación de los brazos del Disco
Sistemas Operativos
INTRODUCCIÓN
SCAN

Importante: De que pista vengo!!!

Barre el disco en una dirección atendiendo los


requerimientos pendientes en esa ruta hasta llegar a la
última pista y luego cambia de dirección.
• Ejemplo: Cantidad de Pistas: 200 (0..199).
• Requerimientos en la cola: {98 , 183 , 37, 122, 14, 124, 65,
67}
40
• Ubicación actual de la cabeza: Pista 53 (Viene deSl is6te1m)as Operativos I
de 43
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
INTRODUCCIÓN Algoritmo C-SCAN

►Con SCAN, al llegar a un extremo y cambiar


de sentido, se encuentran por lo general
pocas solicitudes.
▪ La mayor densidad estará en el extremo opuesto, con
las solicitudes que llevan más tiempo esperando.

►C-SCAN (Circular SCAN): las cabezas se mueven del


primer cilindro al último atendiendo solicitudes,
y retornan al principio.
▪ Tiempos de espera más uniformes.
▪ El retorno consume relativamente poco tiempo, porque
se hace sin paradas.
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
Ejemplo con C-SCAN
INTRODUCCIÓN

▪ 98, 183, 37, 122, 14, 124, 65 y 67.


200 199

180 183

160

140
124 122
120
100 98

80
67 65
60
53
40 37

20
14
0 0 Desplazamiento
386 cilindros
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Algoritmos de programación de los brazos del Disco
Sistemas Operativos
INTRODUCCIÓN
C-SCAN

Importante: De que pista vengo!!!

Idem SCAN, pero restringe la atención en un solo sentido. Al


llegar a la última pista (o último requerimiento) vuelve a la
primer pista y comienza a barrer nuevamente.
• Ejemplo: Cantidad de Pistas: 200 (0..199).
• Requerimientos en la cola: {98 , 183 , 37, 122, 14, 124, 65,
67}
• Ubicación actual de la cabeza: Pista 53 (Viene del 61) 42 de 43
Sistemas Operativos I
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
Algoritmos LOOK y C-LOOK
INTRODUCCIÓN

► Variantes de SCAN y C-SCAN: las cabezas no se


mueven hasta el extremo, sino hasta la última
solicitud pendiente en el sentido del movimiento.
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
INTRODUCCIÓN Ejemplo con LOOK
▪ 98, 183, 37, 122, 14, 124, 65 y 67.
200
180 183

160

140
122 124
120
100 98

80
65 67
60
53
40 37

20
14
0 Desplazamiento
208 cilindros
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
Ejemplo con C-LOOK
INTRODUCCIÓN

▪ 98, 183, 37, 122, 14, 124, 65 y 67.


200
180 183

160

140
124 122
120
100 98

80
67 65
60
53
40 37

20
14
0 Desplazamiento
326 cilindros
Analista Universitario
Administración en Sistemas
de Entrada/Salida

Algoritmos de programación de los brazos del Disco


Sistemas Operativos
INTRODUCCIÓN
LOOK

Importante: De que pista vengo!!!

Idem SCAN pero no llega hasta la última pista sino hasta el


último requerimiento en la dirección que se encuentra
atendiendo.
• Ejemplo: Cantidad de Pistas: 200 (0..199).
• Requerimientos en la cola: {98 , 183 , 37, 122, 14, 124,
65, 67}
• Ubicación actual de la cabeza: Pista 53 (Viene del 61) 41
Sistemas Operativos I
de 43
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Algoritmos de programación de los brazos del Disco
Sistemas Operativos
INTRODUCCIÓN
CLOOK

Importante: De que pista vengo!!!

Idem LOOK, pero restringe la atención en un solo sentido. Al


llegar al último requerimiento vuelve al menor requerimiento y
comienza a barrer nuevamente.
Ejemplo: Cantidad de Pistas: 200 (0..199).
• Requerimientos en la cola: {98 , 183 , 37, 122, 14, 124, 65,
67}
• Ubicación actual de la cabeza: Pista 53 (Viene del 61) 43 de 43
Sistemas Operativos I
Analista Universitario
Administración en Sistemas
de Entrada/Salida
Sistemas Operativos
Elección del algoritmo
INTRODUCCIÓN

► Con poca carga de E/S, todos los algoritmos


tienen un rendimiento similar.
► En condiciones de carga elevada,
▪ FCFS es equitativo pero ineficiente.
▪ SSTF puede provocar inanición.
▪ (C-)SCAN tendrá un rendimiento similar a (C-)LOOK,
porque siempre habrá solicitudes en los extremos.
► El algoritmo más empleado en sistemas de
propósito general es C-SCAN.
▪ Sistemas de tiempo real o multimedia requieren
soluciones específicas.

También podría gustarte