SlideShare una empresa de Scribd logo
1 de 25
Descargar para leer sin conexión
Sistemas operativos
  Tema 8: Gestión de E/S
Gestión de E/S
► Un sistema de computación puede incorporar
  múltiples dispositivos de E/S:
    De interfaz de usuario: ratones, teclados, pantallas, etc.
    De almacenamiento: discos, unidades de cinta, etc.
    De comunicaciones: módems, tarjetas de red, puertos
    Firewire, etc.
► Los dispositivos de E/S son generalmente mucho
  más lentos que la CPU y la memoria       cuello de
  botella.
► Principales objetivos de la gestión de E/S:
  uniformidad y eficiencia.
Uniformidad
►   Proporcionar una interfaz
    sencilla para acceder a los                    Núcleo

    dispositivos de E/S.
       Operaciones genéricas:
                                                Subsistema E/S             SW
       abrir, leer, conectar, etc.
       Clases de dispositivos:
       E/S por bloques, flujo de       Driver         …          Driver
       bytes, sockets de red, etc.
►   Software y hardware
                                     Controlador      …      Controlador
    especializado: drivers y
                                                                           HW
    controladores.                   Dispositivo      …      Dispositivo
Eficiencia
► Gestionar el acceso a los dispositivos de E/S para
  optimizar el rendimiento global del sistema.
    Almacenamiento intermedio: buffering y spooling.
    Planificación: establecer un orden para servir las
    solicitudes a dispositivos E/S.
     ► Repartirequitativamente el acceso a dispositivos entre múltiples
       procesos.
     ► Reducir el tiempo de espera medio de E/S.
Buffering
► Uso de zonas de memoria propias del SO para
  almacenar datos mientras se transfieren entre un
  dispositivo y un proceso, o entre dos dispositivos.
► Se usan buffers para:
    Simultanear la E/S de un proceso con su ejecución.
    Maximizar la utilización de la CPU y los dispositivos de
    E/S.
Algunos usos del buffering
►   Amortiguar diferencias de velocidad entre productores y
    consumidores de información.
      Los datos de un productor lento se acumulan en un buffer para
      consumirlos posteriormente de una tacada.
►   Garantizar la semántica de copiado en operaciones de
    salida.
      Si un proceso ordena escribir los datos de una región de memoria,
      se copian en un buffer del SO.
      El proceso puede desentenderse de la operación de salida, y
      modificar los datos en cualquier momento;
      se escribirán siempre los datos originales.
►   Permitir intercambiar procesos con E/S pendiente.
Spooling
► Un    spool es un buffer de gran tamaño que se aloja
  en disco, no en memoria.
► Se suele usar para almacenar temporalmente la
  salida dirigida a dispositivos que no aceptan flujos
  de datos intercalados (e.g. impresoras).
       El SO intercepta la salida de los procesos, y la guarda
       en sucesivos ficheros.
       Un proceso residente envía ficheros al dispositivo
       cuando está disponible.
► Se utiliza un spool por dispositivo, no por cada
  proceso que ordena una operación de salida.
Planificación de discos
Discos de cabezas móviles
►   Superficies magnéticas +
    cabezas de L/E.
      Las superficies se dividen en
      pistas y sectores.
      Las cabezas se mueven al
      unísono, delimitando
      cilindros.
►   Las operaciones de L/E
    indican número de pista o
    cilindro, superficie y
    sector.
Discos de cabezas móviles
► Eltiempo que tarda en atenderse una solicitud de
  L/E se desglosa en:
       Tiempo de búsqueda, para situar las cabezas en el
       cilindro al que se desea acceder.
        ► Arranque,   desplazamiento y detención.
       Tiempo de latencia, esperando a que el sector deseado
       pase por debajo de la cabeza.
        ► Valor   promedio: medio giro.
       Tiempo de transferencia, determinado por la tasa de
       datos del disco.
       Tiempo de espera en la cola de E/S.
Planificación
► Los tiempos de búsqueda y latencia dependen de
 la última solicitud servida.
    La planificación busca un orden de servicio para reducir
    esos tiempos, sin perder de vista el de espera en cola.
    Los algoritmos más habituales (para discos de cabezas
    móviles) se centran en los tiempos de búsqueda.
► Ejemplo:
    Disco de 200 cilindros (200 pistas/superficie).
    Cola de solicitudes a los cilindros 98, 183, 37, 122, 14,
    124, 65 y 67.
    Cabezas inicialmente posicionadas en el cilindro 53.
Algoritmo FCFS
► FCFS   (First Come, First Served): se atienden las
 solicitudes en orden de llegada.
   Fácil de programar, y equitativo en los tiempos de
   espera en cola.
   Al no tener en cuenta la geometría del disco, se pueden
   registrar grandes desplazamientos de las cabezas.
    ► Tiempos   de espera elevados.
Ejemplo con FCFS
200
180                         183

160
140
                                       122        124
120
100              98

80
                                                        65   67
60
      53
40                                37

20                                           14
 0         Desplazamiento
            640 cilindros
Algoritmo SSTF
► SSTF   (Shortest Seek Time First): se atiende
 la solicitud con el menor tiempo de
 búsqueda desde la posición actual de las
 cabezas.
   Las peticiones de L/E en zonas alejadas pueden
   sufrir inanición.
Ejemplo con SSTF
200
180                                                         183

160
140
                                                122   124
120
100                                        98

80
                 65         67
60
      53
40                               37

20                                    14
 0         Desplazamiento
            236 cilindros
Algoritmo SSTF
► SSTF no es óptimo, en el sentido de minimizar el
 desplazamiento de las cabezas para un conjunto
 de solicitudes dado.
   El algoritmo óptimo supone un coste computacional
   excesivo, y mantiene el riesgo de inanición.
Algoritmo SCAN
► SCAN: las cabezas se mueven de un extremo a
 otro del disco, atendiendo las solicitudes que se
 van encontrando.
   Tiempos de servicio acotados, y más variables en los
   extremos que en el centro.
Ejemplo con SCAN
200
180                                                    183

160
140
                                         122     124
120
100                                98

80
                         65   67
60
      53
40         37

20              14
 0                   0              Desplazamiento
                                     236 cilindros
Algoritmo C-SCAN
► Con SCAN, al llegar a un extremo y cambiar de
 sentido, se encuentran por lo general pocas
 solicitudes.
   La mayor densidad estará en el extremo opuesto, con
   las solicitudes que llevan más tiempo esperando.
► C-SCAN   (Circular SCAN): las cabezas se mueven
 del primer cilindro al último atendiendo solicitudes,
 y retornan al principio.
   Tiempos de espera más uniformes.
   El retorno consume relativamente poco tiempo, porque
   se hace sin paradas.
Ejemplo con C-SCAN
200                      199

180                            183

160
140
                                     124   122
120
100                                               98

80
                                                            67   65
60
      53
40         37

20              14
 0                   0                     Desplazamiento
                                            386 cilindros
Algoritmos LOOK y C-LOOK
► Variantes  de SCAN y C-SCAN: las cabezas no se
  mueven hasta el extremo, sino hasta la última
  solicitud pendiente en el sentido del movimiento.
Ejemplo con LOOK
200
180                                                   183

160
140
                                       122      124
120
100                            98

80
                     65   67
60
      53
40         37

20              14
 0                                  Desplazamiento
                                     208 cilindros
Ejemplo con C-LOOK
200
180                   183

160
140
                            124   122
120
100                                        98

80
                                                    67   65
60
      53
40          37

20               14
 0                                      Desplazamiento
                                         326 cilindros
Elección del algoritmo
► Con  poca carga de E/S, todos los algoritmos
  tienen un rendimiento similar.
► En condiciones de carga elevada,
       FCFS es equitativo pero ineficiente.
       SSTF puede provocar inanición.
       (C-)SCAN tendrá un rendimiento similar a (C-)LOOK,
       porque siempre habrá solicitudes en los extremos.
► Elalgoritmo más empleado en sistemas de
  propósito general es C-SCAN.
       Sistemas de tiempo real o multimedia requieren
       soluciones específicas.
Fin

Más contenido relacionado

La actualidad más candente

Funciones de un sistema de proteccion + matrices de acceso
Funciones de un sistema de proteccion + matrices de accesoFunciones de un sistema de proteccion + matrices de acceso
Funciones de un sistema de proteccion + matrices de acceso
Marco Lopez
 
Modelo entidad relacion(gestion de examenes)
Modelo entidad relacion(gestion de examenes)Modelo entidad relacion(gestion de examenes)
Modelo entidad relacion(gestion de examenes)
agustinbilmer
 
Lenguaje ensamblador basico
Lenguaje ensamblador basicoLenguaje ensamblador basico
Lenguaje ensamblador basico
Gustavo Davila
 
Registros de control y estados de la CPU
Registros de control y estados de la CPURegistros de control y estados de la CPU
Registros de control y estados de la CPU
Ivan Porras
 

La actualidad más candente (20)

ED Unidad 4: Estructuras de datos no lineales (árboles)
ED Unidad 4: Estructuras de datos no lineales (árboles)ED Unidad 4: Estructuras de datos no lineales (árboles)
ED Unidad 4: Estructuras de datos no lineales (árboles)
 
Funciones de un sistema de proteccion + matrices de acceso
Funciones de un sistema de proteccion + matrices de accesoFunciones de un sistema de proteccion + matrices de acceso
Funciones de un sistema de proteccion + matrices de acceso
 
Proyect cubos led 4x4x4 final
Proyect cubos led 4x4x4 finalProyect cubos led 4x4x4 final
Proyect cubos led 4x4x4 final
 
Gestion de memoria en Linux
Gestion de memoria en LinuxGestion de memoria en Linux
Gestion de memoria en Linux
 
Vhdl organización y arquitectura
Vhdl organización y arquitectura Vhdl organización y arquitectura
Vhdl organización y arquitectura
 
Ordenamiento en C++
Ordenamiento en C++Ordenamiento en C++
Ordenamiento en C++
 
Proteus
ProteusProteus
Proteus
 
Modelo entidad relacion(gestion de examenes)
Modelo entidad relacion(gestion de examenes)Modelo entidad relacion(gestion de examenes)
Modelo entidad relacion(gestion de examenes)
 
Lista de raptor sus comandos y su función
Lista de raptor sus comandos y su funciónLista de raptor sus comandos y su función
Lista de raptor sus comandos y su función
 
Lenguaje ensamblador basico
Lenguaje ensamblador basicoLenguaje ensamblador basico
Lenguaje ensamblador basico
 
Practicas IDE
Practicas IDEPracticas IDE
Practicas IDE
 
Electrónica digital: Comparadores
Electrónica digital: ComparadoresElectrónica digital: Comparadores
Electrónica digital: Comparadores
 
Sumador de 4 bits
Sumador de 4 bitsSumador de 4 bits
Sumador de 4 bits
 
Simulación - Algoritmo de productos medios
Simulación - Algoritmo de productos mediosSimulación - Algoritmo de productos medios
Simulación - Algoritmo de productos medios
 
Registros de control y estados de la CPU
Registros de control y estados de la CPURegistros de control y estados de la CPU
Registros de control y estados de la CPU
 
Electronica Digital
Electronica DigitalElectronica Digital
Electronica Digital
 
CONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINOCONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINO
 
Fagor Confort Catálogo Interacumuladores
Fagor Confort Catálogo InteracumuladoresFagor Confort Catálogo Interacumuladores
Fagor Confort Catálogo Interacumuladores
 
9 modulacion, ask, fsk, psk y qam
9  modulacion, ask, fsk, psk y qam9  modulacion, ask, fsk, psk y qam
9 modulacion, ask, fsk, psk y qam
 
Control digital
Control digitalControl digital
Control digital
 

Destacado (11)

Gestión de Entrada y Salida
Gestión de Entrada y SalidaGestión de Entrada y Salida
Gestión de Entrada y Salida
 
Sistemas Operativos Gestion de E/S y Planificacion de Disco
Sistemas Operativos Gestion de E/S y Planificacion de DiscoSistemas Operativos Gestion de E/S y Planificacion de Disco
Sistemas Operativos Gestion de E/S y Planificacion de Disco
 
Entrada/Salida de Sistemas Operativos
Entrada/Salida de Sistemas OperativosEntrada/Salida de Sistemas Operativos
Entrada/Salida de Sistemas Operativos
 
Gestion E/S Sistemas Operativos I
Gestion E/S Sistemas Operativos IGestion E/S Sistemas Operativos I
Gestion E/S Sistemas Operativos I
 
Gestion De Memoria
Gestion De MemoriaGestion De Memoria
Gestion De Memoria
 
Administración de procesos en el S.O.
Administración de procesos en el S.O.Administración de procesos en el S.O.
Administración de procesos en el S.O.
 
Administración de Memoria - Sistemas Operativos
Administración de Memoria - Sistemas OperativosAdministración de Memoria - Sistemas Operativos
Administración de Memoria - Sistemas Operativos
 
Paginación, Segmentación y Fragmentación
Paginación, Segmentación y FragmentaciónPaginación, Segmentación y Fragmentación
Paginación, Segmentación y Fragmentación
 
Gestion de Memoria
Gestion de MemoriaGestion de Memoria
Gestion de Memoria
 
PAGINACION Y SEGMENTACION DE MEMORIA
PAGINACION Y SEGMENTACION DE MEMORIAPAGINACION Y SEGMENTACION DE MEMORIA
PAGINACION Y SEGMENTACION DE MEMORIA
 
GESTION DE PROCESOS EN SISTEMAS OPERATIVOS
GESTION DE PROCESOS EN SISTEMAS OPERATIVOSGESTION DE PROCESOS EN SISTEMAS OPERATIVOS
GESTION DE PROCESOS EN SISTEMAS OPERATIVOS
 

Similar a 8

Algoritmosplanificacin
AlgoritmosplanificacinAlgoritmosplanificacin
Algoritmosplanificacin
Barbara brice?
 
Refrigeración líquida
Refrigeración líquidaRefrigeración líquida
Refrigeración líquida
michael-bios
 
Refrigeración líquida
Refrigeración líquidaRefrigeración líquida
Refrigeración líquida
michael-bio
 
Dispositivos Almacenamiento
Dispositivos AlmacenamientoDispositivos Almacenamiento
Dispositivos Almacenamiento
susitaipe
 
El Disco Duro
El Disco DuroEl Disco Duro
El Disco Duro
zdb
 
Algoritmosplanificacin
AlgoritmosplanificacinAlgoritmosplanificacin
Algoritmosplanificacin
Barbara brice?
 

Similar a 8 (20)

Disco
DiscoDisco
Disco
 
algoritmo de disco
algoritmo de disco algoritmo de disco
algoritmo de disco
 
Cap4 memorias
Cap4 memoriasCap4 memorias
Cap4 memorias
 
Algoritmosplanificacin
AlgoritmosplanificacinAlgoritmosplanificacin
Algoritmosplanificacin
 
IS277 - S7 - presentacion.pdf
IS277 - S7 - presentacion.pdfIS277 - S7 - presentacion.pdf
IS277 - S7 - presentacion.pdf
 
Refrigeración líquida
Refrigeración líquidaRefrigeración líquida
Refrigeración líquida
 
Refrigeración líquida
Refrigeración líquidaRefrigeración líquida
Refrigeración líquida
 
Dispositivos Almacenamiento
Dispositivos AlmacenamientoDispositivos Almacenamiento
Dispositivos Almacenamiento
 
Dispositivos Almacenamiento
Dispositivos AlmacenamientoDispositivos Almacenamiento
Dispositivos Almacenamiento
 
dispositivo de almacenamiento
dispositivo de almacenamientodispositivo de almacenamiento
dispositivo de almacenamiento
 
dispositivos
dispositivosdispositivos
dispositivos
 
dispositivos de almacenamiento
dispositivos de almacenamientodispositivos de almacenamiento
dispositivos de almacenamiento
 
Discos duros exponer viernes ultimo
Discos duros exponer viernes ultimoDiscos duros exponer viernes ultimo
Discos duros exponer viernes ultimo
 
U02 - Capítulo 4 EXPOSICIÓN teorica (1).pptx
U02  -  Capítulo 4 EXPOSICIÓN teorica (1).pptxU02  -  Capítulo 4 EXPOSICIÓN teorica (1).pptx
U02 - Capítulo 4 EXPOSICIÓN teorica (1).pptx
 
Disco gabi
Disco gabiDisco gabi
Disco gabi
 
Disco gabi
Disco gabiDisco gabi
Disco gabi
 
Computador personal, partes (Parte2)
Computador personal, partes (Parte2)Computador personal, partes (Parte2)
Computador personal, partes (Parte2)
 
El Disco Duro
El Disco DuroEl Disco Duro
El Disco Duro
 
Hw2 2(el hd)(4)e
Hw2 2(el hd)(4)eHw2 2(el hd)(4)e
Hw2 2(el hd)(4)e
 
Algoritmosplanificacin
AlgoritmosplanificacinAlgoritmosplanificacin
Algoritmosplanificacin
 

8

  • 1. Sistemas operativos Tema 8: Gestión de E/S
  • 2. Gestión de E/S ► Un sistema de computación puede incorporar múltiples dispositivos de E/S: De interfaz de usuario: ratones, teclados, pantallas, etc. De almacenamiento: discos, unidades de cinta, etc. De comunicaciones: módems, tarjetas de red, puertos Firewire, etc. ► Los dispositivos de E/S son generalmente mucho más lentos que la CPU y la memoria cuello de botella. ► Principales objetivos de la gestión de E/S: uniformidad y eficiencia.
  • 3. Uniformidad ► Proporcionar una interfaz sencilla para acceder a los Núcleo dispositivos de E/S. Operaciones genéricas: Subsistema E/S SW abrir, leer, conectar, etc. Clases de dispositivos: E/S por bloques, flujo de Driver … Driver bytes, sockets de red, etc. ► Software y hardware Controlador … Controlador especializado: drivers y HW controladores. Dispositivo … Dispositivo
  • 4. Eficiencia ► Gestionar el acceso a los dispositivos de E/S para optimizar el rendimiento global del sistema. Almacenamiento intermedio: buffering y spooling. Planificación: establecer un orden para servir las solicitudes a dispositivos E/S. ► Repartirequitativamente el acceso a dispositivos entre múltiples procesos. ► Reducir el tiempo de espera medio de E/S.
  • 5. Buffering ► Uso de zonas de memoria propias del SO para almacenar datos mientras se transfieren entre un dispositivo y un proceso, o entre dos dispositivos. ► Se usan buffers para: Simultanear la E/S de un proceso con su ejecución. Maximizar la utilización de la CPU y los dispositivos de E/S.
  • 6. Algunos usos del buffering ► Amortiguar diferencias de velocidad entre productores y consumidores de información. Los datos de un productor lento se acumulan en un buffer para consumirlos posteriormente de una tacada. ► Garantizar la semántica de copiado en operaciones de salida. Si un proceso ordena escribir los datos de una región de memoria, se copian en un buffer del SO. El proceso puede desentenderse de la operación de salida, y modificar los datos en cualquier momento; se escribirán siempre los datos originales. ► Permitir intercambiar procesos con E/S pendiente.
  • 7. Spooling ► Un spool es un buffer de gran tamaño que se aloja en disco, no en memoria. ► Se suele usar para almacenar temporalmente la salida dirigida a dispositivos que no aceptan flujos de datos intercalados (e.g. impresoras). El SO intercepta la salida de los procesos, y la guarda en sucesivos ficheros. Un proceso residente envía ficheros al dispositivo cuando está disponible. ► Se utiliza un spool por dispositivo, no por cada proceso que ordena una operación de salida.
  • 9. Discos de cabezas móviles ► Superficies magnéticas + cabezas de L/E. Las superficies se dividen en pistas y sectores. Las cabezas se mueven al unísono, delimitando cilindros. ► Las operaciones de L/E indican número de pista o cilindro, superficie y sector.
  • 10. Discos de cabezas móviles ► Eltiempo que tarda en atenderse una solicitud de L/E se desglosa en: Tiempo de búsqueda, para situar las cabezas en el cilindro al que se desea acceder. ► Arranque, desplazamiento y detención. Tiempo de latencia, esperando a que el sector deseado pase por debajo de la cabeza. ► Valor promedio: medio giro. Tiempo de transferencia, determinado por la tasa de datos del disco. Tiempo de espera en la cola de E/S.
  • 11. Planificación ► Los tiempos de búsqueda y latencia dependen de la última solicitud servida. La planificación busca un orden de servicio para reducir esos tiempos, sin perder de vista el de espera en cola. Los algoritmos más habituales (para discos de cabezas móviles) se centran en los tiempos de búsqueda. ► Ejemplo: Disco de 200 cilindros (200 pistas/superficie). Cola de solicitudes a los cilindros 98, 183, 37, 122, 14, 124, 65 y 67. Cabezas inicialmente posicionadas en el cilindro 53.
  • 12. Algoritmo FCFS ► FCFS (First Come, First Served): se atienden las solicitudes en orden de llegada. Fácil de programar, y equitativo en los tiempos de espera en cola. Al no tener en cuenta la geometría del disco, se pueden registrar grandes desplazamientos de las cabezas. ► Tiempos de espera elevados.
  • 13. Ejemplo con FCFS 200 180 183 160 140 122 124 120 100 98 80 65 67 60 53 40 37 20 14 0 Desplazamiento 640 cilindros
  • 14. Algoritmo SSTF ► SSTF (Shortest Seek Time First): se atiende la solicitud con el menor tiempo de búsqueda desde la posición actual de las cabezas. Las peticiones de L/E en zonas alejadas pueden sufrir inanición.
  • 15. Ejemplo con SSTF 200 180 183 160 140 122 124 120 100 98 80 65 67 60 53 40 37 20 14 0 Desplazamiento 236 cilindros
  • 16. Algoritmo SSTF ► SSTF no es óptimo, en el sentido de minimizar el desplazamiento de las cabezas para un conjunto de solicitudes dado. El algoritmo óptimo supone un coste computacional excesivo, y mantiene el riesgo de inanición.
  • 17. Algoritmo SCAN ► SCAN: las cabezas se mueven de un extremo a otro del disco, atendiendo las solicitudes que se van encontrando. Tiempos de servicio acotados, y más variables en los extremos que en el centro.
  • 18. Ejemplo con SCAN 200 180 183 160 140 122 124 120 100 98 80 65 67 60 53 40 37 20 14 0 0 Desplazamiento 236 cilindros
  • 19. Algoritmo C-SCAN ► Con SCAN, al llegar a un extremo y cambiar de sentido, se encuentran por lo general pocas solicitudes. La mayor densidad estará en el extremo opuesto, con las solicitudes que llevan más tiempo esperando. ► C-SCAN (Circular SCAN): las cabezas se mueven del primer cilindro al último atendiendo solicitudes, y retornan al principio. Tiempos de espera más uniformes. El retorno consume relativamente poco tiempo, porque se hace sin paradas.
  • 20. Ejemplo con C-SCAN 200 199 180 183 160 140 124 122 120 100 98 80 67 65 60 53 40 37 20 14 0 0 Desplazamiento 386 cilindros
  • 21. Algoritmos LOOK y C-LOOK ► Variantes de SCAN y C-SCAN: las cabezas no se mueven hasta el extremo, sino hasta la última solicitud pendiente en el sentido del movimiento.
  • 22. Ejemplo con LOOK 200 180 183 160 140 122 124 120 100 98 80 65 67 60 53 40 37 20 14 0 Desplazamiento 208 cilindros
  • 23. Ejemplo con C-LOOK 200 180 183 160 140 124 122 120 100 98 80 67 65 60 53 40 37 20 14 0 Desplazamiento 326 cilindros
  • 24. Elección del algoritmo ► Con poca carga de E/S, todos los algoritmos tienen un rendimiento similar. ► En condiciones de carga elevada, FCFS es equitativo pero ineficiente. SSTF puede provocar inanición. (C-)SCAN tendrá un rendimiento similar a (C-)LOOK, porque siempre habrá solicitudes en los extremos. ► Elalgoritmo más empleado en sistemas de propósito general es C-SCAN. Sistemas de tiempo real o multimedia requieren soluciones específicas.
  • 25. Fin