ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Entrada Y Salida

sakura_dalma23 de Marzo de 2014

12.974 Palabras (52 Páginas)275 Visitas

Página 1 de 52

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 quien ahora pude ocuparse de efectuar la transferencia del bloque, dejando a la CPU inactiva todo el tiempo que dure la transferencia completa, o bien, de realizar una transferencia elemental dejando a la CPU inactiva solo un ciclo de memoria. Esta ultima modalidad se conoce como “robo de ciclo” y posibilita la utilización del bus de datos a medida que se encuentre disponible o compartirlo entre ejecuciones de instrucciones de la CPU.

Relación Memoria-DMA-Periférico durante la transferencia:

Cuando el DMA recibe la señal “bus disponible”, entonces, el DMA envía a la memoria la dirección de la palabra involucrada a través del bus de direcciones y envía una señal al periférico de “transferencia”. En el caso de una salida el DMA envía la señal de lectura a la memoria quien responde con la palabra sobre el bus y el periférico la toma directamente. En el caso de una entrada y tras de recibir la señal de “transferencia” el periférico coloca sobre el bus de datos la palabra a escribir y luego el DMA genera la señal de “escritura” a la memoria. Por cada transferencia elemental el DMA decrementa su registro de “cantidad de palabras a transferir” e incrementa su registro de “dirección de palabra a transferir”. Luego verifica la señal “disponible” del periférico, si indica que tiene lista una nueva transferencia elemental, o la “cantidad de palabras a transferir” no llego a cero, o el DMA opera en modo “transferencia de bloque o completa” el DMA inicia la transferencia siguiente. Si opera en modo “robo de ciclo” inhabilita la señal “bus disponible” hasta que transfiere todo el bloque todo el bloque posibilitando el coloquio DMA-CPU. Cuando el periférico envía la señal “periférico disponible” el DMA vuelve a enviar la señal “solicita” y se repite el procedimiento.

Fin de la transferencia:

Cuando el registro de “cantidad de palabras a transferir” llega a cero el DMA inhabilita la señal “solicita” y genera una señal de interrupción para la CPU. Cuando la CPU recibe la señal controla el registro “cantidad de palabras transferidas”.

Procesador E/S o modo canal

El procesador de E/S es un procesador dedicado para controlar las transferencias de E/S sin intervención de la CPU en la ejecución del software de E/S. El IOP (Input-Output Procesor) realiza sus actividades en paralelo con la actividad de la CPU. Obtiene de la memoria y ejecuta las operaciones de E/S pudiendo, también, realizar cálculos, saltos y otras tareas propias del CPU pero orientadas a la gestión de E/S. Cuando la CPU esta ejecutando un proceso y descodifica una instrucción de E/S inicializa un programa para el canal (denominado programa del canal), y a partir de allí, el IOP se encarga de hacer efectiva la gestión, mientras el CPU continua con la ejecución de otro proceso. La velocidad de la transferencia depende del

...

Descargar como (para miembros actualizados) txt (68 Kb)
Leer 51 páginas más »
Disponible sólo en Clubensayos.com