Entrada Y Salida
Enviado por sakura_dalma • 23 de Marzo de 2014 • 12.974 Palabras (52 Páginas) • 248 Visitas
Indice
Introducción 1
Organización de la función E/S 2
Transferencia controlada por programa 2
Transferencia iniciada por interrupción 2
Transferencia con acceso directo a memoria (DMA) 2
Procesador E/S o modo canal 4
Discos 5
Hardware del Disco 6
Tipos de Discos: 6
Disco Rígido: 7
Disco Óptico: 9
Introducción a los Algoritmos de planificación 10
Algoritmos de Planificación 11
Planificador FCFS (First Come First Served) 11
Planificador SSTF (Shortest Seek Time First) 12
Planificador SCAN 14
Planificador C-SCAN 14
Planificador LOOK o Algoritmo del ascensor 16
Planificador C-LOOK o Algoritmo del ascensor modificado 18
Selección de un algoritmo planificador de disco 18
Manejo de Disco 20
Formateo del Disco 20
Bloque de inicio 20
Bloques Malos 20
Administración del espacio de Swaping 21
Uso del espacio de Swaping 21
Ubicación del espacio de Swaping 21
Seguridad de los Discos 21
Unidades de Cinta 22
Detalles del IRG (Inter Record Gap) 23
Glosario 27
Bibliografía 28
Ejercicios 29
Introducción
Quizás el aspecto más difícil del diseño de los sistemas operativos sea el manejo de la entrada - salida (I/O). A causa de la gran variedad de dispositivos y las muchas aplicaciones que los utilizan, que es muy difícil desarrollar una solución general eficiente.
Organización de la función E/S
Transferencia controlada por programa
Cuando la transferencia se denomina “controlada por programa” quien ejecuta los comandos de E/S es la CPU utilizando, para tal fin, un bloque hardware denominado interfaz. Para lograrlo, cuando el programa que se está ejecutando requiere una E/S “suspende” la actividad en la CPU para posibilitar la transferencia del dato y recién reanuda el proceso normal una vez que finalizo la E/S. De esta manera, es la CPU quien controla el acceso a memoria, a través de sus propios registros con la interfaz. Bajo control de programa, la CPU debe verificar el estado de la interfaz en forma continua y si el periférico no esta disponible la CPU permanece a la espera, motivo por el cual esta transferencia, también, recibe el nombre de “modo bloqueado”.
Las instrucciones que posibilitan el ingreso y el egreso de datos, en assembler son:
INP: Permite la entrada de un dato desde un periférico de entrada.
OUT: Permite la salida de un dato previamente almacenado en el acumulador hacia un dispositivo periférico.
Supongamos una transferencia de entrada desde un periférico hacia memoria. La CPU ejecuta un comando de verificación del estado de la interfaz, si esta no esta disponible la CPU permanece ejecutando un bucle (de consulta) hasta que el resultado de la verificación sea afirmativo. El flag de la interfaz es actualizado por el periférico, así que si el periférico es lento el flag será consultado miles de veces antes de que la CPU pueda salir de la ejecución del bucle. Así, el tiempo de CPU que se pierde en la consulta genera un mal aprovechamiento del recurso. Sin embargo, existen periféricos que necesitan ser atendidos de esta manera.
Transferencia iniciada por interrupción
Una mejora al procedimiento anterior implica que la CPU no verifique continuamente el estado del flag “dato listo”, sino que la interfaz genere un aviso a la CPU indicando que tiene datos listos para transferir. Esta modalidad es viable cuando la CPU opera en un ambiente de multiprogramación. En este caso se dice que la interfaz provoca una interrupción de la actividad de la CPU, y por supuesto esta facilidad se indica inicializando un flag denominado “de interrupción”. El programador podrá decidir si su programa puede o no ser interrumpido utilizando, por ejemplo, las instrucciones de assembler:
ION: Activa el flag de interrupción.
IOF: Desactiva el flag de interrupción.
Cuando el programa en curso requiere una transferencia, la CPU inicializa la interfaz, almacena los contenidos de los registros actuales de CPU en la memoria y, por otro lado ejecuta otro proceso dejando el actual suspendido, mientras que por otro ejecuta el servicio de E/S que atiende este tipo de transferencia.
Se debe tener en cuenta que la transferencia de E/S se efectiviza a instancias de un registro acumulador, por donde pasan los datos en su trayectoria hacia y desde la memoria .
Una vez efectuada la transferencia la CPU extrae los registros almacenados en memoria y retorna a la ejecución del programa interrumpido.
La utilización de este modo de transferencia supone, entonces, dar mayor prioridad a la E/S de datos que al programa que se esta ejecutando.
Transferencia con acceso directo a memoria (DMA)
Esta modalidad de transferencia se utiliza para periféricos de acceso rápido como son, por ejemplo, los discos y consiste en relacionar el bus común que conecta a la CPU con la memoria al enlace (sin intervención del CPU). Como el bus de datos es compartido por el enlace al periférico y la CPU se hace necesario un bloque de hardware que controle el uso del bus que se denomina controlador DMA (Direct Memory Access). La relación entre el CPU y el controlador DMA se establece según ciertas líneas del bus común.
Relación CPU-DMA para activar la transferencia:
El CPU se relaciona con el DMA como lo hace cualquier unidad de interfaz, esto es, le envía a través del bus de direcciones una dirección que el controlador reconoce como propia, activando así su operación. Además el CPU debe enviar al controlador DMA la dirección de memoria de donde debe tomar los bits a escribir o en donde debe almacenar los bits leídos, la cantidad de palabras de memoria a transferir (total de palabras del bloque a transferir), una orden de lectura o escritura (según sea el caso) y un comando que se denomina inicialización para que el DMA comience la transferencia. Una vez enviada toda esta información la CPU se desentiende del la E/S, dejando al programa que estaba ejecutando en suspenso y comenzando a procesar otra tarea si la hay.
Relación CPU-DMA durante la transferencia:
El DMA consulta el estado del periférico. Cuando el periférico esta disponible le envía al DMA una señal de “disponible”. El DMA envía a la CPU una señal que “solicita” el uso del bus común. Cuando la CPU termina la instrucción en curso atiende la señal colocando las líneas del bus en alta impedancia, es decir, que la CPU se desconecta del bus, dejándolo a disposición del DMA y envía al DMA una señal de “bus disponible”. A partir de este momento, el bus es controlado por el DMA
...