La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

1 Tema 13: Lectura y Escritura Sistemas Operativos (Tema 10 en apuntes prof. Rovayo)

Presentaciones similares


Presentación del tema: "1 Tema 13: Lectura y Escritura Sistemas Operativos (Tema 10 en apuntes prof. Rovayo)"— Transcripción de la presentación:

1 1 Tema 13: Lectura y Escritura Sistemas Operativos (Tema 10 en apuntes prof. Rovayo)

2 2 Índice: 1.Dispositivos de L/E 2.Controladores de dispositivos 3.Modos de realizar las operaciones de L/E 4.Principios de diseño del software de L/E 5.Diseño modular del sistema de L/E 2 Tema 13: Lectura y Escritura

3 3 Índice: 1.Dispositivos de L/E 2.Controladores de dispositivos 3.Modos de realizar las operaciones de L/E 4.Principios de diseño del software de L/E 5.Diseño modular del sistema de L/E 3 Tema 13: Lectura y Escritura

4 44 1. Dispositivos de L/E Tema 13: Lectura y Escritura  Para SO son cajas negras capaces de:  Recibir órdenes  Transferir información  Informar sobre su estado  Clasificaciones:  Según forma de acceso: De acceso secuencial De acceso directo  Por la forma de intercambiar información: Dispositivos de bloque Dispositivos de caracteres

5 5 Índice: 1.Dispositivos de L/E 2.Controladores de dispositivos 3.Modos de realizar las operaciones de L/E 4.Principios de diseño del software de L/E 5.Diseño modular del sistema de L/E 5 Tema 13: Lectura y Escritura

6 6 2. Controladores de dispositivos Tema 13: Lectura y Escritura 1.Controladores y adaptadores 2.Concepto de canal 3.Controladores múltiples 4.Estructura lógica de un controlador 5.Acceso directo a memoria (DMA)

7 7 2. Controladores de dispositivos Tema 13: Lectura y Escritura 1.Controladores y adaptadores 2.Concepto de canal 3.Controladores múltiples 4.Estructura lógica de un controlador 5.Acceso directo a memoria (DMA)

8 88 2.1 Controladores y adaptadores Tema 13: Lectura y Escritura  Controlador:  Interfaz electrónica del dispositivo  Gobierna el funcionamiento del dispositivo  Recibe órdenes del procesador  En sistemas más simples: específico para ordenador y dispositivo procesador BUS controlador electromecánica

9 9 2.1 Controladores y adaptadores Tema 13: Lectura y Escritura  Inconveniente:  Dispositivo sólo compatible con sistema para el que está diseñado  Alternativa: interfaz estándar, que normaliza:  características mecánicas  características eléctricas  protocolos BUS adaptador electromecánica adaptadorcontrol ordenador interfaz dispositivo

10 10 2. Controladores de dispositivos Tema 13: Lectura y Escritura 1.Controladores y adaptadores 2.Concepto de canal 3.Controladores múltiples 4.Estructura lógica de un controlador 5.Acceso directo a memoria (DMA)

11 11 2.2 Concepto de canal Tema 13: Lectura y Escritura  Canal de L/E: subsistema hardware especializado en gestión de lectura/escritura  Adaptadores se conectan a canal  Basados en procesador especializado  Son capaces de procesar listas de órdenes de “alto nivel”  Simplifican en gran medida SO pues: abstraen gran parte de la gestión de los dispositivos homogeinizan los dispositivos conectados BUS canal de L/E adaptador controlador … … …

12 12 2. Controladores de dispositivos Tema 13: Lectura y Escritura 1.Controladores y adaptadores 2.Concepto de canal 3.Controladores múltiples 4.Estructura lógica de un controlador 5.Acceso directo a memoria (DMA)

13 13 2.3 Controladores múltiples Tema 13: Lectura y Escritura  Gobiernan varios dispositivos del mismo tipo  Formas de conexión:  Conexión directa (multiplexor)  Conexión en cadena  Conexión en bus Conexión directa (multiplexor)  Circuitos independientes por dispositivo controlador Dispositivo 1 Dispositivo 2 Dispositivo n …

14 14 2.3 Controladores múltiples Tema 13: Lectura y Escritura Conexión directa (cont.)  Ventajas:  Posibilidad de simultanear transferencias  Fallo en un dispositivo no afecta a los demás  Inconvenientes:  Complejidad del hardware (coste)  Nº de dispositivos limitado por controlador

15 15 2.3 Controladores múltiples Tema 13: Lectura y Escritura Conexión en cadena  Sólo un dispositivo se conecta a controlador  Demás dispositivos se conectan entre sí en cadena  Ventajas:  Hardware se simplifica mucho (más barato) controlador Dispositivo 1 Dispositivo 2 Dispositivo n …  Inconvenientes:  Baja fiabilidad: si un dispositivo falla, incomunica a los que le siguen en la cadena  Transferencia simultánea: imposible.

16 16 2.3 Controladores múltiples Tema 13: Lectura y Escritura Conexión en bus  Todos los dispositivos comparten conexión a controlador  Ventajas:  Hardware se simplifica mucho (más barato)  Fallo de un dispositivo no necesariamente afecta a otros controlador Dispositivo 1 Dispositivo 2 Dispositivo n …  Inconvenientes:  No se puede garantizar que fallo en un dispositivo no pueda afectar a otros (ejemplo: cortocircuito en bus)  Transferencia simultánea: imposible.

17 17 2. Controladores de dispositivos Tema 13: Lectura y Escritura 1.Controladores y adaptadores 2.Concepto de canal 3.Controladores múltiples 4.Estructura lógica de un controlador 5.Acceso directo a memoria (DMA)

18 18 2.4 Estructura lógica de un controlador Tema 13: Lectura y Escritura  Arquitectura en tres niveles:  interfaz al bus (hardware)  registros (software)  interfaz al dispositivo (hardware) controlador BUS interfaz al bus registros interfaz a disp.  Registros de órdenes  de configuración (selección de modo)  de comandos  Registros de estado  Registros de lectura/escritura

19 19 2.4 Estructura lógica de un controlador Tema 13: Lectura y Escritura  Acceso a registros:  Mapeados en memoria: Acceso mediante cualquier instrucción con operandos en memoria Protección: mediante mecanismos de protección de memoria  Mapeados en espacio de lectura/escritura Algunos procesadores (ej. Intel) disponen de espacio de direcciones separado para lectura/escritura Acceso mediante instrucciones especiales: IN, OUT, etc.

20 20 2. Controladores de dispositivos Tema 13: Lectura y Escritura 1.Controladores y adaptadores 2.Concepto de canal 3.Controladores múltiples 4.Estructura lógica de un controlador 5.Acceso directo a memoria (DMA)

21 21 2.5 Acceso directo a memoria (DMA) Tema 13: Lectura y Escritura  DMA: dispositivo capaz de transferir bloques de datos entre memoria y dispositivo  Es programado por procesador con:  dirección del registro del dispositivo  dirección inicial del bloque  nº de bytes/palabras a transferir  cuando termina transferencia: interrupción BUS procesador DMADispositivoMemoria

22 22 2.5 Acceso directo a memoria (DMA) Tema 13: Lectura y Escritura  Puede estar integrado en:  Chipset del sistema: de propósito general, asignable a cualquier dispositivo  En el controlador de un dispositivo: de uso dedicado a dicho dispositivo  Controladores de DMA de propósito general: frecuentemente son multicanal (múltiples transferencias en curso)  Algunos controladores de DMA soportan transferencias de memoria a memoria

23 23 Índice: 1.Dispositivos de L/E 2.Controladores de dispositivos 3.Modos de realizar las operaciones de L/E 4.Principios de diseño del software de L/E 5.Diseño modular del sistema de L/E 23 Tema 13: Lectura y Escritura

24 24 3. Modos de realizar las operaciones de L/E Tema 13: Lectura y Escritura  Dos formas:  Por programa  Por interrupciones L/E guiada por programa  La CPU programa las operaciones y monitoriza el estado del dispositivo mediante sondeo  Ejemplo de lectura de un único dispositivo: configurar_dispositivo(); while(!fin_lectura()) { programar_lectura(); while (!dato_recibido()); leer_dato(); }

25 25 3. Modos de realizar las operaciones de L/E Tema 13: Lectura y Escritura L/E guiada por programa  Si hay que gestionar varios dispositivos: while(!fin_transferencias()) { if (dispositivo_preparado(DISP1)) atender_dispositivo(DISP1); if (dispositivo_preparado(DISP2)) atender_dispositivo(DISP2); … if (dispositivo_preprado(DISPN)) atender_dispositivo(DISPN); } Prioridad Uniforme while(!fin_transferencias()) { if (dispositivo_preparado(DISP1)) atender_dispositivo(DISP1); else if (dispositivo_preparado(DISP2)) atender_dispositivo(DISP2); … else if (dispositivo_preprado(DISPN)) atender_dispositivo(DISPN); } Prioridad Escalonada

26 26 3. Modos de realizar las operaciones de L/E Tema 13: Lectura y Escritura L/E guiada por programa  Prioridad uniforme vs prioridad escalonada. Comparación en base a:  Tiempo de respuesta al dispositivo: tiempo que transcurre desde que el dispositivo requiere atención hasta que es tratado.  Ancho de banda (BW): número de transmisiones por unidad de tiempo Suposición: n dispositivos, T= tiempo de transferencia para cualquiera de ellos Tiempo resp. BW Prior. Escal. Prior. Unif. ¡Solo para dispositivo 1! ¡Para todo dispositivo!

27 27 3. Modos de realizar las operaciones de L/E Tema 13: Lectura y Escritura L/E guiada por programa  Si además de controlar dispositivos, hay que hacer otras cosas… void gestion_dispositivos() { if (dispositivo_preparado(DISP1)) atender_dispositivo(DISP1); if (dispositivo_preparado(DISP2)) atender_dispositivo(DISP2); … if (dispositivo_preprado(DISPN)) atender_dispositivo(DISPN); }  Esta rutina ha de ejecutarse con frecuencia suficiente para que el más rápido de los dispositivos sea siempre atendido a tiempo  ¿y eso cómo se hace?

28 28 3. Modos de realizar las operaciones de L/E Tema 13: Lectura y Escritura L/E guiada por programa  Inconvenientes:  Espera ocupada  Complicado simultanear gestión de dispositivos con otras actividades  Admisible en…  Sistemas empotrados  Procesadores dedicados  Sistemas monoprogramados  …

29 29  Dispositivos suelen disponer de alguna señal de interrupción  Esta señal de interrupción se puede conectar a entrada de interrupción de CPU  Dispositivos se puede configurar para que generen interrupción cuando requieran atención  Tratamiento del dispositivo: en subrutina de servicio de interrupción  Se ejecuta en modo supervisor de modo transparente para el resto de actividades de la CPU L/E guiada por interrupciones 3. Modos de realizar las operaciones de L/E Tema 13: Lectura y Escritura ¿Cuándo hay que atender a un dispositivo? Cuando haga falta ¿Y cómo sabemos cuándo le hace falta? Que él avise mediante una interrupción procesador

30 30 3. Modos de realizar las operaciones de L/E L/E guiada por interrupciones  Ventajas:  La gestión de los dispositivos se desacopla de las demás actividades del sistema  Si hay que gestionar múltiples dispositivos:  Una interrupción por dispositivo  Una interrupción para todos los dispositivos  Agrupar dispositivos: una interrupción por grupo procesador Dispositivo 1 Dispositivo 2 Dispositivo 3 Dispositivo 4

31 31 3. Modos de realizar las operaciones de L/E L/E guiada por interrupciones  Controladores Programables de Interrupciones (PIC):  Dispositivo al que se accede como a cualquier otro  Dispone de M entradas de interrupción y N salidas  Se puede programar un mapeo de las salidas sobre las entradas  Control sobre las interrupciones a tres niveles:  Nivel de dispositivo  Nivel de PIC  Nivel de CPU

32 32 3. Modos de realizar las operaciones de L/E  ¿L/E guiada por programa o por interrupciones? Depende de:  Carácter “asíncrono” del dispositivo  Diferencia de velocidad entre CPU y dispositivo  Dispositivos “asíncronos”: por interrupciones  De lo contrario, habría que sondearlos continuamente  Dispositivos “síncronos”: depende de diferencia de velocidad entre dispositivo y CPU:  Si CPU mucho más rápida: interrupciones  Si mismo orden de magnitud: es admisible por programa Tiempo tardado en servir una interrupción: apilar estado, determinar dirección SSI, salto a rutina, etc… se suma a latencia dispositivo Si dispositivo suficientemente rápido, espera ocupada puede ser más eficiente que interrupción

33 33 Índice: 1.Dispositivos de L/E 2.Controladores de dispositivos 3.Modos de realizar las operaciones de L/E 4.Principios de diseño del software de L/E 5.Diseño modular del sistema de L/E 33 Tema 13: Lectura y Escritura

34 34 4. Principios de diseño del software de L/E a)Diseño por estrados b)Garantizar independencia de los programas respecto a los dispositivos c)Presentar criterio uniforme de denominación de:  Dispositivos  Archivos d)Tratamiento de errores: lo más próximo posible a su origen e)Homogeneizar transferencias de bloque y de caracteres f)Igualar transmisiones para el usuario g)Considerar la naturaleza compartible o no de los dispositivos

35 35 Índice: 1.Dispositivos de L/E 2.Controladores de dispositivos 3.Modos de realizar las operaciones de L/E 4.Principios de diseño del software de L/E 5.Diseño modular del sistema de L/E 35 Tema 13: Lectura y Escritura

36 36 5. Diseño modular del sistema de L/E  Cuatro niveles software y dos hardware: Dispositivo Controlador de Dispositivo Gestor de dispositivo Software de L/E independiente de dispositivo Software de L/E en espacio de usuario SSI Software Hardware

37 37 5. Diseño modular del sistema de L/E  Ejemplo: lectura de un archivo en MINIX Tarea Floppy Núcleo Tarea HD … Tarea del Sistema Administrador de ArchivosAdministrador de Memoria Administrador de Red Proceso de usuario SSI Floppy ch= fgetc(f); READ fd, pos, tam DISK_READ fd0, bloque Controlador FLOPPY TASK_REPLY abcedefghi….

38 38


Descargar ppt "1 Tema 13: Lectura y Escritura Sistemas Operativos (Tema 10 en apuntes prof. Rovayo)"

Presentaciones similares


Anuncios Google