Diferencia entre revisiones de «Diseño modular E/S»

De Wiki de Sistemas Operativos
Saltar a: navegación, buscar
(mejoras en el gráfico en ASCII)
(dibujo con flujo de datos)
Línea 2: Línea 2:
  
 
                                               \
 
                                               \
        Procesos de espacio de usuario       |
+
    -->  Procesos de espacio de usuario --    |
                                              |
+
    |                                    |    |
      --------------------------------       |
+
    |  --------------------------------   |    |
                                              |
+
    |                                    |    |
        Llamadas al sistemas                 |
+
    --    Llamadas al sistemas           |    |
         ej. open, read, write, close...      |
+
         ej. open, read, write, close   <--    |
      (Software independiente de E/S)       >  Software
+
    -->  (Software independiente de E/S)       >  Software
                                              |
+
    |                                    --    |
      --------------------------------       |
+
    |  --------------------------------   |    |
                                              |
+
    --                                  |    |
            Gestor de dispositivo             |
+
    -->                                  |    |
      -------                               |
+
    |      Gestor de dispositivo       <--    |
        SSI |                               /
+
    |  -----                                   |
      --------------------------------    
+
    --     |                            --   |
                                              \
+
    --> SSI |                             |    /
                Puerto de E/S               |
+
    |  --------------------------------   | 
                                              |
+
    |                                    |    \
      --------------------------------       >  Hardware     
+
    --          Puerto de E/S         <--    |
                                              |
+
                                              |
              Dispositivo E/S               |
+
    -->                                --    |
                                              |
+
    |  --------------------------------   |    >  Hardware     
       --------------------------------       /
+
    |                                    |    |
 +
    --        Dispositivo E/S         <--    |
 +
                                              |
 +
       --------------------------------       /
  
 
Esta abstracción permite:
 
Esta abstracción permite:

Revisión del 12:27 17 ene 2012

La idea clave de esta arquitectura en capas es hacer independiente al proceso del dispositivo. Por lo general, en ingeniería del software, la independencia del proveedor es una propiedad muy deseable.

                                             \
   -->  Procesos de espacio de usuario  --    |
   |                                     |    |
   |  --------------------------------   |    |
   |                                     |    |
   --     Llamadas al sistemas           |    |
       ej. open, read, write, close   <--     |
   -->   (Software independiente de E/S)       >  Software
   |                                    --    |
   |  --------------------------------   |    |
    --                                   |    |
   -->                                   |    |
   |       Gestor de dispositivo       <--    |
   |  -----                                   |
   --      |                            --    |
   --> SSI |                             |    /
   |  --------------------------------   |   
   |                                     |    \
   --           Puerto de E/S          <--    |
                                              |
   -->                                 --     |
   |  --------------------------------   |    >   Hardware     
   |                                     |    |
   --         Dispositivo E/S          <--    |
                                              |
      --------------------------------        /

Esta abstracción permite:

  • Hacer a los procesos independientes de los dispositivos de E/S. Esto es deseable en cuanto a que el fabricante del dispositivo podría dejar de fabricar el dispositivo, por tanto, el proceso tendría que ser reescrito para soportar el nuevo dispositivo. De igual manera, si el dispositivo para el que está diseñado el proceso que conoce los detalles de bajo nivel no está disponible en el sistema, nuestro proceso quedaría inservible.
  • Forzar a que un proceso tenga que pasar por el sistema operativo, que es quien garantiza que el reparto de recursos es equitativo. Si un proceso dispone de acceso directo a un dispositivo, podría adoptar un comportamiento abusón de manera que no permitiera a otros procesos emplearlo.