• No se han encontrado resultados

Tema 4 1.Problematica de los dispositivos de ES Aspectos en los que pueden diferir los dispositivos de ES

N/A
N/A
Protected

Academic year: 2019

Share "Tema 4 1.Problematica de los dispositivos de ES Aspectos en los que pueden diferir los dispositivos de ES"

Copied!
5
0
0

Texto completo

(1)

Tema 4

1.Problematica de los dispositivos de E/S

Aspectos en los que pueden diferir los dispositivos de E/S La diferencia de velocidad: de los perifericos frente a la CPU

Unidad de transferencia: unidad de info con la q trabaja. En DD se trabaja a nivel de bloques, pero con el teclado se trabaja con bytes.

Codigo que usan para representar los datos: no todos los dispositivos usan el mismo codigo.

ASCII EBCDIC FIEIDATA....

Operaciones permitidas: hay dispositivos q pueden realizar operaciones de entrada, o solo de salida (pantalla).

Condiciones de error: va depender sobre el dispositivo q se lleve a cabo.

2.Objetivos generales del soft. de E/S ● Independencia del periferico:

○ Un programa se puede ejecutar independienteme del modelo, del tipo de periferico q se le asigne. (Da igual el tipo de impresora que le conectes)

○ Un programa q solicite E/S indiferentemente del tipo de dispositivo (si se solicita entrada , le dara igual si teclado o DD)

● Eficiencia

● Tratamiento uniforme del os perifericos

○ Independencia del codigo de los caracteres: No se sabe el codigo con el q está echo un periferico,

○ Los programadores trabajan con dispositivos virtuales (ficheros o stream). ■ Lista de descriptores de streams:

● fopen(“datos”,rb)=> apertura de un stream ● fclose => Cierre de un sitema

○ El sistema de E/S se debe construir de forma que las caracteristicas de los perifericos esten ligadoas a ellos, en vez de a las rutinas que los gestiona.

■ La rutina q trata por ejem, un teclado , internamente , cuando veamos el codigo sea mas o menos similar, ese codigo no tendra porq saber las caracteristicas propias del teclado, esas carateristicas estan en los descriptores de los dispositivos. Información que contiene la tabla de descriptores de perifericos:

● Identificación del periferico ● Instrucciones con las que actua

● Punteros a las tablas para al traducion de los caracteres ● Estado actual

(2)

Principios hardware de E/S

1. Tipos de dispositivos de E/S

a. dispositivos de bloques: almacenan la info en bloques de tam. fijo. b. dispositivos de caracteres: producen o aceptan flujos. Da igual cuantos

caraceteres componen ese flujo.

2. Controlador del dispositivo: parte q controla el dispositivo (seria la parte interna de dentro del puerto paralelo.)

a. Lo que hay en el controlador: hay una serie de puertos

i. Puertos de comandos u ordenes: ordenees q el controlador va tener q llevar a cabo

ii. Puertos de parametros. como va funcionar esa operacion

iii. Puertos de datos: si es una operacion de salida, esos datos, los tiene q escribir el soft, de E/S

b. El SO escribe en estes puertos c. Estos puertos son el software de E/S

3. Detectar cuando una operacion de E/S ha finalizado: i. Operacion de E/S controlada por programa:

1. una vez iniciada la operacion, la cpu solo se usa para ver si la operacion ha finalizado o no, es un timpo inutil porq esta comprobando lo mismo.

2. Realizar una operacion de entrada: Es una operacion peligrosa 3. Cuando se genera la llamada, aparece el soft de E/S porq tiene

una petición

4. Se comprueba la disponibilidad del dispositivo 5. Si esta disponible, lo lleva a un estado inicial

6. Escribe en los puerto desl controlado para llevar a cabo las ordenes

7.

ii. Operacion de E/S controlada por interrupcion

1. La CPU esta acupada en otra operacion mientras se realiza la operacion E/S.

2. No hay un bucle q estea siempre comprobando si acabó o no la operacion.

2. Estructura del software de E/S

Objetivos:

1. Independencia del dispositivo:

2. Manejo de errores: cuanto mas bajo sea el nivel donde se trate los errores, mejor.

3. Tipo de transferencia:

(3)

Niveles de software

a. Soft de E/S a nivel usuario: no forma parte del SO.

b. Software de E/S indenpendiente del dispositivo: si forma parte del SO c. soft E/S dependiente del dispositivo-->device driver

d. Manejadores de interrupciones ● Software de E/S a nivel usuario

Contiene librerias a traves del cual se realizan las llamadas al SO, ,no forma parte del SO

Funciones

■ Invoca al siguiente nivel, colocando parametros determinados (tam del bloque...)

■ No todo el soft de E/S lo hace. Las librecias de C lo hacen. Funcion de Formatear (interpreta la info que se recibe o se manda)

Printf y scanf => devuelven un entero q es el numero de datos q ha podido leer correctamente.

Informar del error en caso de que se haya producido al realizar la oepracion de E/S

Software de E/S independiente del dispositivo ○ Pertenecce al SO,

■ implementa las operaciones de E/S que son comunes a todos los dispositivos y presenta una interfaz uniforme a lso programas de usuario ■ Se encarga de la apertura y cierre del stream

■ Protege los dispositivos por parte de los usuarios q no tienen permiso ○ Hacer transparente el tamaño del sector del disco, para ello da al usuario un

bloque logico con un tam.

○ gestionar la memoria donde temporalmente se van almacenar los datos ○ gestionar la asignacion de espacio en dispositivos en bloques.

■ el algoritmo de busqueda de bloques libres lo hace este nivel ○ Gestionar los dispositivos no compartibles

○ Realizar un tratamiento del error independiente del dispositivo

Software E/S dependiente del dispositivo(manejador de dispositivo, gestor de periferico, Device Driver)

○ Traduce la peticion de los terminos abstractos a otros mas concretos ■ Cuando recibe la peticion de un nivel superior, coje la peticion de

terminos abstrato y lo traduce a otros mas concretos ○ Escribe esas operaciones en los puertos del controlador.

■ Va escribir eses datos para q el contralor lo ejecute en el orden en el q se ha especificado

○ Detectar cuando la operacion ha finalizado: si es controlada por interrupcion, el manejador se bloquea hasta que la reciba,y si es controlada por programa(esta en bucle esperando a que finalice la operación) el manejador no se bloquea. ○ Comprobar si esa operacion se ha llevado a cabo con exito no, en caso de q se

(4)

■ Las peticiones cuando llegan y se esta tratando otra, se quedan en cola, de forma q cuando el gestor de perifericos, acaba de atender una, coje una peticion de la cola...

Manejadores de interrupcines

○ Subconjunto de subrutinas q tratan las interrupciones.

Si la E/S es controlada por programa, no existe el 4º nivel = manejador de interrupciones.

Diapositiva : 2.2 Ejemplo del funcionamiento

● Manejador de interrupciones, es el único q se q ejecuta en modo supervisor ○ Modo: la operacion q quiere realizar

○ cantidad: num entero q indica el num de bytes q quiere leer o escribir ○ destino/fuente: argumneto q contiene direccion de memoria(puntero)

■ Si la operacion es de lectura: es el destino

■ Si la operacion es de escritura: osea de salida: es la fuente

○ Direccion de peticion servida: se inicializa a 0, se crea cuando se comprueba la posicion de error.

● Gestor de periféricos: ejecución en nivel usuario

○ La espera de petición y espera de operación completa es un bucle(while) ○ El informe de peticion: se usan semaforos

○ Rutina de E/S: mira cual es el dispositivo fisico asociado al dispositivo logico ■ Necesita el pcb de su propio proceso, para saber q dispositivo fisico esta

asociado con el stream que se pasa como argumento. ■ Identifica el periferico

■ Comprobar que los parametros q le pasamos son correctos, y se puede hacer.

■ IORB: reg q contiene toda la informacion sobre esa operacion de E/S (peticion en terminos abstractor)

● Coloca el IORB en la cola de peticion de periferico

● Cada gestor de periferico tiene su propia cola de gestor de periferico

● El descriptor de perifericos tiene un puntero a esa cola.(asi sabe donde colocarlo en la cola)

■ Semaforo: peticion servida(informe): en el ultimo IORB guarda la peticion de salida.

● Esperar peticion: Peticion pendiente(esta en el descriptor de periferico) , como sabe donde esta la variable(semaforo) l a incrementa cuando se añadde un IORB mas a la cola.

● Soft. independiente del dispositivo: ejecución en nivel usuario ○ El informe de peticion: se usan semaforos

(5)

en terminos abstracto)

○ Inicia E/S: la peticion en terminos abstractos, lo traduce a terminos concretos. ○ Se va estado bloqueado asta q la operacion estea completa.

● Soft a nivel usuario : ejecución en nivel usuario ○ El informe de peticion se usan semaforos ○ Desbloque el proceso

Buffering:

pretende evitar perdidas de tiempo llevando a cabo la transferencia de E/S antes de que el proceso realice las peticiones.

ES mas rapido leer de la memoria q leer del dispositov: por eso se usa buffering. La rutina de E/S(soft. independiente del dispositivo) es la que cambia, ésta solo creara el IORB cuando elbufer de entrada eestea vacion o cuando el buffer de salida estea lleno.

No siempre es util usar buffering.Solo sera util cuando los procesos soliciten operaciones de E/S en menor frecuencia.

Spooling:

Los dispositivos no comparptibles, puede ocurrir q en intervalos de tiempo no se use, y en otros sea muy requrida.

PAra evitar q un proceso tenga q esperar por el uso de un recurso no compartido, surge el spooling, consite en q cuando un proceso soicita el recurso no compartible, el soft de entrada salida, independiente, crea en memporia secundaria un fichero, q se va comportar para el proceso como si fuera la impresora (impresora virtual) de esta forma el proceso no se detiene.

Cuando ese proceso termina de escribir en esa impresora virtual, el fichero se cierra. Esa lista la gestiona un proceso, Spooler.

La rutina de E/S es la q creaa ese fichero.

El fichero cerrado lo coloca en una lista de elementos, q son las salidas de distintos procesos para el mismo recurso.

Esa lista la contrala el spooler, q es un soft asociado al dispositivo en si.

Referencias

Documento similar

You may wish to take a note of your Organisation ID, which, in addition to the organisation name, can be used to search for an organisation you will need to affiliate with when you

Where possible, the EU IG and more specifically the data fields and associated business rules present in Chapter 2 –Data elements for the electronic submission of information

The 'On-boarding of users to Substance, Product, Organisation and Referentials (SPOR) data services' document must be considered the reference guidance, as this document includes the

In medicinal products containing more than one manufactured item (e.g., contraceptive having different strengths and fixed dose combination as part of the same medicinal

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

This section provides guidance with examples on encoding medicinal product packaging information, together with the relationship between Pack Size, Package Item (container)

Package Item (Container) Type : Vial (100000073563) Quantity Operator: equal to (100000000049) Package Item (Container) Quantity : 1 Material : Glass type I (200000003204)