EntradaSalida
Entrada Salida (orientada a dispositivos DMA)
El pedido de E/S desde un proceso, se hace mediante una interrupción interna conocida como "llamada al
supervisor".Previamente se colocaron en registros de uso general predeterminados, el servicio que se pide y todos los
datos que ese servicio necesita.
De manera que al producirse la interrupción, el SO encontraráen esos registros los datos necesarios para
su procesamiento.
En un registro se indicará que el servicio que se pide es una E/S, en otros se enviarán datos concretos de
esta E/S como dirección delbuffer de memoria, dirección dentro del dispositivo, función, dispositivo, etc.
Se guarda el contexto del proceso.
Pone al proceso que estaba en estado de ejecutando, en estado de bloqueado.
Al ejecutarel servicio el SO arma un "paquete de E/S" que es un vector que contiene los siguientes datos:
Paquete de E/S
Dirección del próximo paquete
Descripción de los campos del Paquete de E/S
Los paquetesforman una cola y se encadenan como una
lista apuntando cada uno al siguiente, El último tiene
dirección 0 y la dirección del primero está en la tabla
descriptora del dispositivo (DCB) al cual seaplicará el
paquete
Dirección de la PCB del proceso que Para saber, durante el tratamiento de la E/S, a que proceso
lo envía
pertenece la misma
Unidad sobre la que se hace la E/S
Un dispositivo puede tenervarias unidades
Función
Lectura, escritura
Dirección del buffer en memoria
Donde comienza la transferencia en memoria
Cantidad de bytes a transferir
Tamaño de la E/S
Dirección dentro del dispositivoDonde comienza la transferencia en el dispositivo
Una vez que el SO armó esta tabla, va al DCB (Tabla de Control de Dispositivo) y recorre la lista de
paquetes de manera de vincular a este comoúltimo.
Si este no es el primer paquete en la cola, da por terminado el servicio y llama al planificador para que
busque otro proceso para ponerlo en ejecutando.
Si fuera el primer paquete, llama al driver...
Regístrate para leer el documento completo.