SlideShare una empresa de Scribd logo
1 de 17
Descargar para leer sin conexión
Sistemas Operativos




                                                                                         Organización de la Memoria



                                                                                          Memoria Real                                           Memoria Virtual
                                       Sistemas Operativos               Profesor:
        Your picture here                                                                Un solo         Multiprogramación
                                            Ciclo 2012-1            Diaz Muñante Jorge   proceso

                                                                                                                                                 Multiprogramación
                                                                                                                                Particiones
                                                                                                      Particiones fijas
                                                                                                                                 variables



                                                                                                                                                                              Segmentada
             Administración de la Memoria Virtual                                                   1 Colas
                                                                                                                    Varias
                                                                                                                    colas
                                                                                                                                                 Paginada        Segmentada   + Paginada




       Antecedentes                                                                      Actividad de los procesos



                 Particiones                         Particiones                              Manejo de errores
                    Fijas                             Variables
                                Fragmentación                      Fragmentación               ::   ::        ::      ::       ::                     ::    ::     ::    ::   ::
                                Interna                            Externa
                                                                                              E1 E2 E3 E4 E5                                         E1 E2 E3 E4 E5

                                Tamaño del                         Tamaño del
                                                                                              E6 E7 E8 E9 E10                                        E6 E7 E8 E9 E10
                                proceso limitado                   proceso limitado
                                por el tamaño de                   por el tamaño de          E11 E12 E13 ::                    ::                    E11 E12 E13 ::           ::
                                la partición                       la memoria real
                                                                                               ::   ::        ::      ::       ::                     ::    ::     ::    ::   ::


                                        Asignación de Memoria
                                                                                             En la practica rara vez se presentan todos los
                                        Tamaño total del proceso
                                                                                             errores en una misma ejecución.
                                                                                                                                                 4




       Actividad de los procesos                                                         Actividad de los procesos


            Manejo de tablas, vectores u otra estructura de datos
                                                                                         Software base: Editor de texto
            ::      ::     ::     ::   ::             ::    ::     ::   ::   ::
                                                                                                               ::         ::        ::   :: ::
            V1 V2 V3 V4 V5                           V1 V2 V3 V4 V5
                                                                                                                    Conversión de
            V6 V7 V8 V9 V10                          V6 V7 V8 V9 V10                                                Minusculas a
           V11 V12 V13 V14V15                       V11 V12 V13 V14V15                                              Mayusculas

            ::      ::     ::     ::   ::             ::    ::     ::   ::   ::
                                                                                                               ::         ::        ::   :: ::

           En la practica solo usamos pocos elementos de las
                                                                                         En la practica usamos rara vez esta opción
           estructuras de datos.
           Ejm: Vector (100x100) y usamos solo (10x10)
                                                      5                                                                                          6




Diaz Muñante Jorge                                                                                                                                                                         1
Sistemas Operativos




       Principio de localidad                                                                     Premisa

        Referencias repetidas                                                                      No se requiere que un proceso este almacenado en la memoria principal
              initializacion             Inicio del      Fin del                                   en forma completa
                                                                    Cod. 1       Cod. 2   datos
                  datos                   codigo         codigo                                    Ventajas
        Saltos esporadicos
                                                                                                   – No hay limite para el tamaño de los procesos
        working set: Fase inicial del                   Fase final del           Fase Principal
                        proceso                           proceso                 del proceso      – Aumenta el numero de procesos en memoria
                                                                                                   – Disminución de las Operaciones e/s
       Dening
       – Principio de localidad
       – Las referencias de los procesos tienden agruparse en
         zonas pequeñas del espacio direccionable. Estas
         zonas ademas tienden a cambiar en forma
         intermitente.
                                                                7                                                                                                      8




       Memoria Virtual                                                                            Jerarquía de Memoria


         Es la separación de la memoria lógica del usuario de la memoria física                       Memoria Cache:                           Memoria real                        Memoria Virtual
                                                                                                      Ilusion de una                           Costo razonable                     Ilusion de una memoria
                                                                                                      memoria muy                              pero velocidad                      de gran tamaño
                                                                                                      rapida                                   intermedia
            • Una gran memoria virtual cuando solo se dispone de una                                                                                                                       Virtual
                                                                                                                                                                                          memory
              memoria física mas pequeña
                                                                                                                                                      Main memory

                                                                                                                               Cache
                                                                                                        Registers



                                                                                                               Words
                                                                                                                                            Lines
                                                                                                             (transferred                                           Pages
                                                                                                               explicitly                 (transferred
                                                                                                            via load/store)              automatically            (transferred
                                                                                                                                       upon cache miss)          automatically
                                                                                                                                                                upon page fault)




                                                                9                                                                                                    10




       La memoria virtual                                                                         La paginación
       La ilusión de la memoria infinita


                                                                                                     - Consiste en dividir el espacio de direcciones virtual en unidades de
                                                                                                     tamaño invariante llamadas páginas.


                  ∞
                                   TLB




                                                                                                                              Proceso A                                    Proceso A


                                      Tabla
                                      Pagina
                                                      Memoria            Disco
               Memoria                                                   500GB                       - Los marcos de página son la correspondencia de una página en la
                                                       Fisica
               Virtual                                 1 GB                                          memoria física, es decir, el espacio en la RAM donde realmente esta
                4 GB                                                                                 la página, teniendo ambos el mismo tamaño. De esta forma, todas
                                                                                                     las unidades de transferencia de datos desde y hacia la RAM se
                                                                                                     hacen en el tamaño de una página.
                                   Paginada           Segmentada    Segmentada                                                                                                           Marco de
                                                                    + Paginada                                                                                                           Página
                                                                                                                         Proceso A                                                 RAM

                                                                                                                              Página




Diaz Muñante Jorge                                                                                                                                                                                          2
Sistemas Operativos




       Memoria Virtual con paginas                                             Configuracion de la memoria virtual

                                              Continuidad Artificial

                     Pag 0                              Marco 0
                     Pag 1                              Marco 1
                     Pag 2                              Marco 2      Memoria
      Memoria                                                        real
      Virtual        Pag 3                              Marco 3
                     Pag 4                              Marco 4
                     Pag 5                              Marco 5
                     Pag 6
                                                    Espacio de direcciones
                     Pag 7               4k         reales
        Espacio de direccionamiento
        lógico                                 13                                                                                                                        14




       Memoria Virtual Estatica / Dinamica                                     Tabla de Paginas
                                                                                      Memoria Secundaria
                                                                                     Principal (Disco Duro)                                     Memoria
                                                                                                                                               Virtual de   Sistema Operativo
                                                                                                                                               Proceso P
                                                                                                                                                                   Tabla de
                                                                                                                                               Página 0          Páginas de P                                               Memoria Física
                                                                                                                                               Página 1       Página 0       Marco 2                                        Principal (RAM)
                                                                                0         1        2          3
                                                                                                                                               Página 2       Página 1       Marco 0
                                                                                                                                               Página 3       Página 2                                                           Sistema
                                                                                                                                                                             No está
                                                                                                                                                                                                                                Operativo
                                                                                4         5        6          7                                    …          Página 3       No está
                                                                                         P0        P1         P2                                              Página 4       Marco 6                                  Marco 0    Página 1

                                                                                                                       (direcciones lógicas)
                                                                                8         9        10         11                                                 …             No                                     Marco 1     Libre
                                                                                                                                                                              están                                   Marco 2    Página 0
                                                                                P3       P4        P5         P6




                                                                                                                                                                                              (direcciones Físicas)
                                                                                                                                                                                                                      Marco 3     Libre
                                                                                                                                                             Página n- Marco 5
                                                                                               .                                                                 1                                                    Marco 4    Página n
                                                                                               .
                                                                                                                                                              Página n       Marco 4                                  Marco 5   Página n-1
                                                                                               .
                                                                                                                                                                  Lista de                                            Marco 6    Página 4
                                                                                32       33        34         35                                                Marcos Libres
                                                                                                                                                                                                                        …         Libres
                                                                               Pn-1      Pn                                                                          Marco 1
                                                                                               .                                                                     Marco 3
                                                                                                                                                                                                                      Marco m     Libre
                                                                                               .
                                                                                                                                                                     Marco 7
                                                                                               .
                                                                                …         …        D-1        D                                Página n                  …
                                                                                                                                                                     Marco m




                                               15                                                                                                                        16




       Fallo o falta de pagina                                                 Falla o falta de Pagina
                                                                                                                                                                                           La pagina esta en
        El proceso trata de usar una pagina que no esta en memoria real.                                                                             Sistema                          3    memoria auxiliar
        Pasos:                                                                                                                                      operativo
        – 1. Referencia a una pagina, verifica su bit de
                                                                                                                                                                      2 Trampa
          validez (esta invalida = i)
                                                                                     Cargar                        1
                                                                                                                                               Referencia                             Memoria
        – 2. Ocurre una trampa                                                         M
                                                                                                                                                                                       Física
        – 3. SO busca un marco libre
                                                                                                                                                                  i
        – 4. Lleva la pagina del disco a la memoria
                                                                                6 Reinicia la                                                                                             libre
        – 5. Actualiza la tabla de paginas                                        instrucción                                                          Tabla de
                                                                                                                                                       paginas                                                                  4 Carga la
        – 6. Reinicia la operación                                                                                                                                                                                                 pagina
                                                                                                                                                     5 Restablece
                                               17                                                                                                     tabla de pag.
                                                                                                                                                             18




Diaz Muñante Jorge                                                                                                                                                                                                                            3
Sistemas Operativos




       Estructura tabla de páginas                                                  Compartiendo paginas

                                                                                     Direcion Virtual # Pag                 Offset
           r w x v re m s c su pid           g        gd   other
                                                           otros     Marco #           (Proceso A):

                                                                                          PageTablePtrA                      pag #0        V,R
               r     Read (lectura)          s         Shared-compartida
                                                                                                                             pag #1        V,R
               w     Write (escritura)       c         caching
                                                                                                                            page #2
                                                                                                                             pag          V,R,W
               x     Execute                 su        super-pagina                                                          pag #3       V,R,W
                                                                                                                                                                Pagina
                     (ejecucion)
               v     valida                  pid       process id                                                            pag #4        N
                                                                                                                                                              compartida
               re    referenciada            g         (extended) guard                                                      pag #5       V,R,W

               m     modificada              gd        guard data                         PageTablePtrB                      pag #0        V,R

                                                                                                                             pag #1        N

           caching:         páginas asociadas a registros de dispositivos                                                    pag #2       V,R,W           Esta pagina fisica
           referenciada:           1 cuando se hace una referencia a una página                                              pag #3        N              aparece en los 2
                                                                                                                                                              procesos
                            para leer o escribir                                                                            page #4
                                                                                                                            pag            V,R
                                                                                                                                           V,R

           modificada:             recuperación marco, si página no ha sido                                                  pag #5       V,R,W

                            modificada no se escribe a disco
           Valida o :       1 entrada valida y puede ser utilizada                   Direccion Virtual: # Pag               Offset
                                                                                         Process B
           presente/ausente 0 página no cargada en memoria                                                                                  20




       Traduccion de Direcciones                                                    Traduccion de direcciones


                                                                   Memoria Real
         Pagina #                                                                     Memoria Real
                                                                                      0           1       2             3             4               5       6         7

                               Desplazamiento
                                     “d”                                                   2k                                                         d
                                                            DR instruccion                                                                Direccion Real = (5,10)
        Instruccion DV                                                                Memoria Virtual
                                         ¿?                                           0           1       2             3             4               5       6         7



                                                                                                                        d
                                                                                                              Direccion Virtual = (3,10)
        Dir.Virtual=(# pag, d) <traducir> Dir.Real =(# mar,d)
                                                 21                                                                                         22




       Traduccion de direcciones                                                    Traduccion de direcciones


            Registro base
              Tab.Pag               Dirección virtual
           a                   Pagina p Desplazamiento                             Dirección virtual
                                                 d                                   Page #           d                       marco #                 d


                                                                                                                   a
           +                a                                                                                        a
                           p                                                                                      + p                                               d       marco
               a+p                                         +             b+d
                                         b                                                                                                        b
                                                                       Dirección
                                 Tabla de                                 real                                                  Tabla de
                                 paginas                                             Programa                                   paginas                                 Memoria
                                                                                                                                                                         física
                                                 23                                                                    paginación
                                                                                                                                24




Diaz Muñante Jorge                                                                                                                                                                  4
Sistemas Operativos




       Tablas de 02 Niveles                                                        Tabla de 2 niveles
                                                                                                                          Direccion Marco
                                                                                            10 bits 10 bits     12 bits    fisica: Page #   Offset
                                                                                  Direccion P1 index P2 index   Offset
                                                                                   virtual:
                                          Dirección virtual
                                                                                                                                                 4KB
                                   p1          p2        d
                                                                                    PageTablePtr


                                                                     Dirección
                                                                        real
                                                                                                            4 bytes
                                                                          m   d
                                                                                    Arbol de tablas
                                                                                    Tablas tam. fijo (1024
                                                                                    entradas)
                                                       m

          Tabla de 1er nivel                 Tablas de 2do nivel                                                                 4 bytes
                                                 25                                                                         26




       Memoria asociativa                                                          Traduccion de direcciones

        Memoria especial - TLB
        – (Translation Look-aside Buffers)
                                                                                          Dirección lógica
        – acceso rápido: . 10-20% del tiempo de acceso a memoria
                                                                                          p   d
        – pequeño tamaño: 64-1024 entradas
                                                                                                      pagina marco
        – solo contiene parte de la Tabla de Páginas                                                                      acierto

                                                                                                                                            m    d
        Memoria de acceso por contenido
        – Se compara con todas las páginas disponibles a la vez                                                                                 Dirección
                                                                                                         TLB                                       real
        – Si la página buscada no está hay que buscarla en la Tabla de Páginas
          en memoria principal                                                                          falla
                                                                                                                                 m
        – Después del fallo se refresca la memoria asociativa
        – El método es válido en función del porcentaje de éxito
          • se basa en que casi siempre los programas acceden a direcciones                                                Tabla de
            consecutivas                          27                                                                        paginas
                                                                                                                           28




       Estrategias de Administración                                               Estrategias de Administración


        Estrategia de Obtencion: Determinan cuándo se debe cargar una página      Estrategia de Colocacion:
        en memoria

                                                                                  Determinan en donde se debe cargar una página en memoria
        – Paginación por demanda
          • Se trae una página sólo cuando se hace referencia a ella
          • El principio de cercanía reduce los fallos.
        – Paginación previa
          • Se traen a memoria varias páginas contiguas
          • Mayor eficiencia de carga desde dispositivo secundario


                                                  29                                                                        30




Diaz Muñante Jorge                                                                                                                                          5
Sistemas Operativos




       Estrategias de Administración                                               Reemplazo de Pagina

       Estrategia de Reemplazo:


       ¿ Qué página se reemplaza en memoria principal cuando                        marco b.validz                      M.Real            Sacar la pagina
                                                                                                                                             victima
       se debe cargar otra y no hay espacio para ella?                                                   Cambiar a
                                                                                                          invalido
                                                                                                     2                                 1
                                                                                      m0
                                                                                      /      vi
                                                                                             /
                                                                                                                    m
                                                                                      m       v                         victima
                                                                                                                         nueva
                                                                                                     4
                                                                                                   Cambiar la tabla                   3
                                                                                     Tabla de       para la nueva
                                                                                     paginas           pagina
                                                                                                                                    Introducir la
                                                                                                                                   pagina deseada

                                                31                                                                       32




       Algoritmo Optimo                                                            Algoritmo optimo



             Cada página se va a etiquetar con:
                  Número de instrucciones antes de hacer la
             1a. referencia a dicha página                                                         p3              p1                            p2
             Principio algoritmo:
                  eliminar página con la máxima etiqueta.                                   5 inst
                                                                                                          10 inst.
                                                                                                                                      30 inst.
            Página 1                   Página 2                      Página 3


            Etiqueta: 10               Etiqueta: 30                  Etiqueta: 5   Ejecución
                                                                                   reemplazo

                                                                                                                         34




       Algoritmo Optimo                                                            Algoritmo pésimo


                                                                                    ¿cuál pagina involucra la peor decisión de reemplazo?
              7   0   1   2   0    3    0   4   2    3   0   3   2     1   2   0



              7   7   7   2
                          7   2   2     2   2   2    2   2   2   2    2    2   2
                  0   0   0   0   0     0   4
                                            0   4    4   0
                                                         4   0   0    0    0   0
                                  Marcos de página
                      1   1   1   3
                                  1     3   3   3    3   3   3   3    3
                                                                      1    1   1

                          7       1         0            4            3
                                   8 fallos de página




                                                35                                                                       36




Diaz Muñante Jorge                                                                                                                                          6
Sistemas Operativos




       Algoritmo FIFO                                                          Algoritmo FIFO


                                                                                Principio: Los primeros en entrar, son los primeros en salir.


                                                                                S.O. tiene una lista de todas las páginas en memoria, siendo
          p3 p4                                                  p1 p2          la primera página la más antigua y la última la más reciente.


            FIFO                                                Optimo          En un fallo de página se elimina la primera página y se
      Pasado mas lejano                                    Futuro mas lejano    añade la nueva al final de la lista.


                                                                                FIFO es muy pocas veces usada en su forma más pura.
                                Ejecución
                                reemplazo

                                                37




       Algoritmo FIFO                                                          Algoritmo FIFO



                                                                                     7   0   1   2   0    3   0   4   2        3   0   3   2   1   2   0


       primera        P1         P2        P3             P4    P5
                                                                P6
                                                                                    7    7   7   2
                                                                                                 7   2   2    2   4
                                                                                                                  2   4        4   0
                                                                                                                                   4   0   0   0   0   0
        última
                                                     P3                                  0   0   0   0   3
                                                                                                         0    3   3   2
                                                                                                                      3        2   2   2   2   1
                                                                                                                                               2   1   1
                                                                                                         Marcos de página
                                                     P4                                      1   1   1   1    0
                                                                                                              1   0   0        3
                                                                                                                               0   3   3   3   3   2
                                                                                                                                                   3   2
                            siguiente                P5
                                                     P6
                                                     P1                                          7       0    1   2   3        0   4           2   3
                                                     P2
                                                                                                         12 fallos de página


                                                                                                                          40




       Algoritmo FIFO                                                          No paginado


        Por que podría ser bueno?
        – Quizás la página que entró a memoria primero ahora no
          se necesita
        Por que podría ser malo?
        – Quizás página esta en uso
          • Las primeras paginas en llegar son del sistema operativo
          • Los programas asignan los valores al inicio.
        – Podría exponer anomalía de Belady




                                                                                                                          42




Diaz Muñante Jorge                                                                                                                                         7
Sistemas Operativos




                                                                                                                                      Algoritmo de la Segunda Oportunidad




           FIFO/3                 Marco 0 1 2 3 0 1 4 0 1 2 3 4 0 1 2 3                                                                  Modificación simple de FIFO
           Marcos                      0
                                       1                                                                                                         evita deshacerse de una página de uso frecuente
                                       2
                                                                                                                                                 inspeccionando el bit R de la página más antigua.

           FIFO/4                 Marco 0 1 2 3 0 1 4 0 1 2 3 4 0 1 2 3                                                                          si (R = 0) =>                       página antigua y no utilizada
           marcos                      0                                                                                                                                             se reemplaza en forma inmediata
                                       1
                                       2                                                                                                         si (R=1)                  =>        el bit se limpia
                                       3                                                                                                                                             la página se coloca al final de la
                                                                                                                                                                                     lista, su tiempo de carga se
                                                                                                                                                                                     actualiza
                                                                           43




       Algoritmo de la Segunda Oportunidad                                                                                            Algoritmo de Reemplazo de Reloj

                       En FIFO la
                                                                                                                                         Mantener páginas en una lista circular con forma de reloj.
                   Página 1 saldría                                                                                                      Una manecilla apunta hacia la página más antigua.
                                                                                                      Orden de entrada a la memoria

                                                   0                                                                                                                    A
                              Pág 1        1           Pág 2    1      Pág 3    0         Pág 4       0        Pág 5       0                                               L                                     B
        Se mira la primera página (la más vieja).
        Tiene su bit de uso en 1, por lo tanto se le da                                                                                                    K                                                                     C
        otra oportunidad. Se setea en cero R, y se
        pasa a la cola                             0
                              Pág 2        1           Pág 3    0      Pág 4    0         Pág 5       0        Pág 1       0                      J                                                                                      D
         Idem al caso anterior
                                                                                                                                                           I                                                                     E

                              Pág 3            0       Pág 4    0      Pág 5    0         Pág 1       0        Pág 2       0
                                                                                                                                                                           H                                     F
                                                                                                                                                                                                G
         Al encontrarse una página con el bit en cero,
         se escoge para desalojo.
                                                                                                                                        Al ocurrir un fallo de página se inspecciona la página a la que apunta la
                                                                                                                                        manecilla.
         En el caso de que todas las páginas hayan
         tenido el bit de uso en cero, este algoritmo
                                                                                                                                        Si bit R = 0   => página se retira de memoria, se inserta nueva página en
         degrada en FIFO.                                                                                                                              su lugar en el reloj manecilla avanza una posición
                                                                                                                                        Esto continua hasta encontar una página con R = 0.
                                                                                                                                        Ejemplo de uso: Solaris




       Ejemplo: Algoritmo de Reemplazo de Reloj                                                                                       Ejemplo: Algoritmo de Reemplazo de Reloj

         Estado del buffer justo antes                   n                      0                                                      Estado del buffer justo antes           n                       0
         de un reemplazo                                                                                                               de un reemplazo
                                                             Pag 9        Pag 19                  1                                                                                Pag 9            Pag 19               1
                                                             uso = 1      uso = 1                                                                                                  uso = 1          uso = 1

                                                                                        Pag 1                                                                                                                  Pag 1
                                                   .                                    uso = 0                                                                        .                                       uso = 0

                                           .                                                                 2                                                     .                                                             2
                                                                    Puntero al              Pag 45                                                                                           Puntero al              Pag 45
                                                                    marco siguiente         uso = 1                                                                                          marco siguiente         uso = 0
                                       .                                                                                                                       .
                                                                                                                        Pag                                                                                                              Pag
                                 Pag 222                                                    Pag 191                     727                             Pag 222                                                      Pag 191             727
                                 uso = 0                                                    uso = 1              3                                      uso = 0                                                      uso = 1         3
                      8                                                                                                                          8

                                           Pag 33                                       Pag 556                                                                    Pag 33                                      Pag 556
                                           uso = 1                                      uso = 0                                                                    uso = 1                                     uso = 0

                                                             Pag 67      Pag 13                       4                                                                            Pag 67        Pag 13                      4
                                   7                                                                                                                      7
                                                             uso = 1     uso = 0                                                                                                   uso = 1       uso = 0

                                                         6                          5                                                                                          6                           5




Diaz Muñante Jorge                                                                                                                                                                                                                             8
Sistemas Operativos




       Ejemplo: Algoritmo de Reemplazo de Reloj                                                                                      Ejemplo: Algoritmo de Reemplazo de Reloj
             Estado del buffer justo antes            n                            0                                                  Estado del buffer                       n                          0
             de un reemplazo                                                                                                          después del reemplazo
                                                          Pag 9              Pag 19                      1                                                                        Pag 9          Pag 19                    1
                                                          uso = 1            uso = 1                                                                                              uso = 1        uso= 1

                                                                                           Pag 1                                                                                                                 Pag 1
                                              .                                            uso = 0                                                                    .                                          uso = 0

                                          .                                                                          2                                            .                                                                2
                                                                      Puntero al                     Pag 45                                                                                 Puntero al                Pag 45
                                                                      marco siguiente                uso = 0                                                                                marco siguiente           uso = 0
                                      .                                                                                                                       .
                                                                                                                             Pag
                                 Pag 222                                                             Pag 191                 727                         Pag 222                                                      Pag 191
                                 uso = 0                                                             uso = 0             3                               uso = 0                                                      uso = 0          3
                       8                                                                                                                         8

                                          Pag 33                                               Pag 556                                                            Pag 33                                         Pag 727
                                          uso = 1                                              uso = 0                                                            uso = 1                                        uso = 1

                                                          Pag 67             Pag 13                          4                                                                     Pag 67       Pag 13                         4
                                  7                                                                                                                       7
                                                          uso = 1            uso = 0                                                                                               uso = 1      uso = 0

                                                      6                                5                                                                                      6                              5




       Algoritmo del Reloj                                                                                                           Algoritmo del reloj



                        7     0       1           2       0       3     0 4            2        3      0         3       2   1   2            Ejemplo:                                   Cadena de referencia
                        0                                                                                                                    7       0   1        2       0   3      0      4   2        3       0    3    2       1       2   0

                        7    7     7          2
                                              7       2       2   2      4     4           4     4      3        3       3   3   0
                                                                                                                                             7       7   7        2
                                                                                                                                                                  7       2    2     2      4    4       4        4   3        3   3       3       0
                             0     0          0       0
                                                          Marcos de página 2
                                                           0 0 0 2 2 2                                           2       1   1   1
                                                                                                                                                     0   0        0       0    0     0      0    2       2        2   2        2   1       1       1
                                   1          1       1       3
                                                              1   3      3     3           3     0      0        0       0   2   2                                            Marcos de página
                                                                                                                                                         1        1       1    1
                                                                                                                                                                               3     3      3    3       3        0   0        0   0       2       2
                                              7               1          2     0                 3     4                 2   0   3
                                                                                                                                                                  7            1            2    0               3    4            2       0       3
                              R                 R               R                R                     R
                            7 1               7 0             7 0              7 0                   2 1                                                                                                                                             R
                                                                                                                                                                                                                                                   0 1
                            0 1               0 1             0 0              0 0                   0 0                                                                           12 fallos de página
                                                                                                                                                                                                                                                   1 1
                            1 1               1 1             1 1              1 0                   1 0
                                                                                                                                                                                                                                                   2 1

                                                                              51                                                                                                                    52




       Algoritmo según el uso no tan reciente                                                                                        NRU - Ejemplo

       - En este método cada página contiene 2 bits que permite decidir cual página desalojar:
         -    R (bit solicitado): Se enciende cuando se realiza un acceso a esta página
         -    M (bit modificado): Se enciende cuando se escribe en la página.

       - Se establecen así 4 clases de acuerdo al valor de los bits:                                                                 (0,0) (1,0) (0,1) (1,0)                                    Clase 0 = {a7,d5,a8,b4,d8}
         -    Clase 0: No solicitado, No Modificado                                                                                   a7     c2   d2    b3
         -    Clase 1: No solicitado, Modificado                                                                                                                                                Clase 1 = {d2,a3,c6}
         -    Clase 2: Solicitado, No Modificado                                                                                     (1,1) (0,0) (1,0) (1,1)
         -    Clase 3: Solicitado, Modificado                                                                                         b1    d5    a2     c4                                     Clase 2 = {c2,b3,a2,d7}
       - El algoritmo escoge una página partiendo desde las con clase menor.                                                         (0,0) (0,1) (0,0) (1,1)                                    Clase 3 = {b1,c4,d9,a5}
                                                                                                                                      a8    a3    b4    d7
       - El sistema operativo en cada interrupción de reloj cambia el estado del bit R, para poder identificar cuales
         páginas son accedidas constantemente durante el quantum.
                                                                                                                                     (1,1) (1,0) (0,1) (0,0)
                                                                                                                                      a5    d9     c6   d8


                                                                                                                                                                                                    54




Diaz Muñante Jorge                                                                                                                                                                                                                                       9
Sistemas Operativos




       Ejemplo NRU                                                                                                     Algoritmo LRU

                 Pag      Bit R      Bit M                                         Pag        Bit R      Bit M
                  0         0          0                                            0           1          1
                                                          Quantum
                  1         0          0                                            1           1          0
                  2         0          0                                            2           0          0
                  3         0          0          Durante el quantum se             3           1          1
                                                  acceden las páginas 0, 1       Estado de la tabla de páginas en t1    p3 p4                                      p3 p4                                             p1 p2
            Estado de la tabla de páginas en t0   y 3; y se escribe en las 0
                                                  y3                                      El SO apaga todos los
                                                                                          bits R para poder
                                                                                          determinar cuales de las
       Será desalojada                                                                    páginas han sido                 FIFO                        LRU                                                         Optimo
                                                                                          ocupadas
                                                         Quantum
                                                                                                                       Pasado mas                  Pasado mas                                                    Futuro mas
                 Pag      Bit R      Bit M                                         Pag         Bit R     Bit M
                  0         1          1                                             0           0         1
                                                                                                                          lejano                     reciente                                                      lejano
                  1         1          0                                             1           0         0
                  2         0          0          Durante el siguiente cuantum       2           0         0                                                               Ejecución
                  3         0          1          se hacen accesos a las             3           0         1
                                                  páginas 0 y 1, luego se pide                                                                                             reemplazo
         Estado de la tabla de páginas en t3      la página 4 que no esta        Estado de la tabla de páginas en t2
                                                  presente y se provoca un
                                                  Page Fault.
                                                                                                                                                                                                56




       Algoritmo de la menor uso reciente (LRU)                                                                        Algoritmo LRU

        Páginas uso frecuente en las últimas instrucciones se utilizan con cierta probabilidad en las
        siguientes.
        Es probable que las páginas que no hayan sido utilizadas durante mucho tiempo                                                                          Cadena de referencia
        permanezcan sin uso por bastante tiempo.
        Esto induce al siguiente algoritmo:                                                                                 7    0        1        2           0           3        0       4        2   3   0   3    2   1
        al ocurrir un fallo de página se elimina la página que no haya                   sido utilizada durante             2    0
        el tiempo más grande.
        LRU: realizable en teoría, no es barato.                                                                            7   7     7        2
                                                                                                                                               7           2           2       2        4
                                                                                                                                                                                        2   4        4   4
                                                                                                                                                                                                         0   0   0   1
                                                                                                                                                                                                                     0    1   1
                                                                                                                                0     0        0           0           0       0        0   0        3
                                                                                                                                                                                                     0   3   3   3   3    3   3
                                                                                                                                                                                                                              0
        Implementación: necesario mantener una lista de todas las páginas en memoria, en donde                                                                     Marcos de página
        la página de uso más reciente este al pri ncipio de la lista y la de uso menos reciente al final.                             1        1           1           3
                                                                                                                                                                       1       3        3   2
                                                                                                                                                                                            3        2   2   2   2   2    2   2
        Dificultad:
                 la lista debe actualizarse en cada referencia a
                                                                                                                                               7                       1                2   3        0   4           0        3
                 la memoria.
        Busqueda de la página en la lista, su eliminación y posterior traslado al frente de la misma
        NO puede ser una operación muy lenta.                                                                                                                          11 fallos de página
                                                                                                                                                                                                58




       1a. Solución: caso más sencillo                                                                                 Ejemplo solución
               Requiere de un contador de 64 bits, C, en hardware.                                                        Valor inicial cont = 0;
                      se incrementa en forma automática después                               de cada
               instrucción.
                                                                                                                                     P0        P1              P2              P3               cont = 1;
                                                                                                                                     1         0            0              0
               Cada entrada en tabla de páginas debe contener espacio
               necesario para almacenar el contador.                                                                                 P0            P1              P2              P3            cont = 2;
                                                                                                                                      1        2               0               0
               Después de cada referencia el valor actual de C se almacena en la
               entrada de la tabla de páginas correspondiente a la página a la                                                        P0           P1              P2              P3                cont = 3;
               que se hizo referencia.
                                                                                                                                          1        2               0           3

               Fallo de página:                                                                                                           P0           P1              P2           P3           cont = 4;
                      => S.O. examina todos los contadores de la tabla                                                                    1            4           0           3
                          de páginas y elige el mínimo, (i.e. página de uso más
                             reciente).                                                                                    Página más recientemente usada: P1, (cont = 4)
                                                                                                                           Página menos usada: P2 , (cont = 0)




Diaz Muñante Jorge                                                                                                                                                                                                                10
Sistemas Operativos




       2a. Solución: caso más sencillo                                                                                                Ejemplo de LRU con uso de una matriz


                                                                                                             Máquina con cuatro márcos, con referencias a las páginas en el orden:
        Máquina con n márcos para página,                                                                                0, 1, 2, 3, 2, 1, 0, 3, 2, 3
             hardware LRU puede matriz de n x n,                                                             Después hacer referencia a la página 0 tenemos la situación siguiente:
             matriz inicializada en cero.                                                                        0   1    2    3              0   1    2    3             0   1   2 3            0   1   2 3
                                                                                                             0   0   1    1    1          0   0   0    1    1        0    0   0   0 1        0   0   0   0 0
        Referencia al marco k                                                                                1   0   0    0    0          1   1   0    1    1        1    1   0   0 1        1   1   0   0 0
                                                                                                             2   0   0    0    0          2   0   0    0    0        2    1   1   0 1        2   1   1   0 0
              hardware primero activa todos los bits del renglón k                                           3   0   0   (a)
                                                                                                                          0    0          3   0   0   (b)
                                                                                                                                                       0    0        3    0   0   (d)
                                                                                                                                                                                  0 0        3   1   1   1 (d)
                                                                                                                                                                                                            0
              desactiva después todos los bits de la columna k.
                                                                                                                 0   1    2    3              0   1   2 3                 0   1   2 3            0   1   2 3
                                                                                                             0   0   0    0    0          0   0   0   0 0            0    0   1   1 1        0   0   1   1 0
        En cualquier instante:                                                                               1   1   0    0    0          1   1   0   1 1            1    0   0   1 1        1   0   0   1 0
              renglón con valor binario mínimo es de uso menos                                               2   1   1    0    1          2   1   0   0 1            2    0   0   0 1        2   0   0   0 0
               frecuente, renglón con el siguiente valor más pequeño                                         3   1   1    0
                                                                                                                         (d)   0          3   1   0   0 0
                                                                                                                                                       (f)           3    0   0   0 0
                                                                                                                                                                                  (g)        3   1   1   1 (h)
                                                                                                                                                                                                            0
               es el segundo de uso menos reciente, etc.
                                                                                                                 0   1   2 3                  0   1   2 3
                                                                                                             0   0   1   0 0              0   0   1   0 0
                                                                                                             1   0   0   0 0              1   0   0   0 0
                                                                                                             2   1   1   0 1              2   1   1   0 0
                                                                                                             3   1   1   0 0
                                                                                                                         (i)              3   1   1   1 0
                                                                                                                                                       (j)




       Bancos libres en memoria                                                                             Modelo del conjunto de trabajo

                                                                                                             •       Se basa en la localidad
        Banco (pool) de marcos libres para poder leer
        inmediatamente las paginas fallidas, antes de haber escrito a                                        •       Formado por las páginas recientemente accedidas
        disco la victima.                                                                                    •       Las páginas en uso se encuentran en el CdT
        Sustitución y mantenimiento de páginas limpias                                                       •       El conjunto de trabajo varía con el tiempo

        – Cuando el disco está inactivo                                                                                                       Número de páginas del
                                                                                                                                                 almacenamiento
        Se sustituyen las páginas limpias que no hay que escribir en                                                                          primario asignadas al proceso
        disco.
        – Periódicamente se buscan páginas para limpiar
        Utilizado en VAX-VMS como complemento al método FIFO.
        Linux desaloja paginas victimas antes de que se llene la                                                                                                                        Tiempo
        memoria real.
                                                                            63                                                                                       64




       Modelo de conjunto de trabajo                                                                        ¿Cómo determinar el CdT?
                                              Evolución del conjunto de trabajo
                                                                 Inicio nueva fase Inicio nueva fase             • El verdadero CdT lo forman las páginas que
                                                      Estabilización         Estabilización                        deben estar en el almacenamiento primario para
          nº de páginas en conjunto trabajo




                                                 Arranque en frío                                                  la ejecución eficaz del proceso
                                                                                       Estabilización

                                                                                                                                                                 w                           Tiempo de ejecución
                                                                                                                                          t-w                                              t de un proceso

                                                                                                                                          Las páginas referenciadas por el proceso
                                                                                                                                                             durante
                                                                                                                                           este intervalo constituye el conjunto de
                                                                                                                                                             trabajos
                                                                                                                                                     W(t,w), del proceso
                                                                                                        t
                                                                                                                 • W = tamaño de la ventana del CdT
                                                    Olvido de páginas de
                                                                         Olvido de páginas de                    • ¿Cómo afecta el tamaño de W?
                                                        fase anterior
                                                                             fase anterior                                                                           66




Diaz Muñante Jorge                                                                                                                                                                                                 11
Sistemas Operativos




       Ejemplo                                                                  Asignación global vs local


        Ventana de 10 referencias                                                Reemplazo global

        – Tamaño de conjunto de trabajo = 4
                                                                                 – el marco a reemplazar se selecciona entre todo el
                                                                                   conjunto de marcos
                                                                                 Reemplazo local

                 215777775162937                     WS(t1,10) = {1, 2, 5, 7}    – el marco a reemplazar se selecciona solo de su
                                                                                   propio conjunto del proceso.




                                                67                                                             68




       Desventajas global vs local                                              Asignación de marcos


        Reemplazo global
                                                                                 ¿cómo asignamos una cantidad fija de
        – un proceso no puede controlar su propia tasa de                        marcos a los distintos procesos?
          fallos de paginas.
                                                                                 Se dispone de 93 marcos y llegan 02
        – No depende solo del comportamiento del proceso
          sino de todos.                                                         procesos
        Reemplazo local                                                          –¿cuántos marcos obtiene cada proceso?
        – impide a un proceso tener acceso a otras paginas
          no usadas.
        Por lo general el global brinda una mayor productividad.



                                                69                                                             70




       Algoritmos de asignación de marcos                                       Algoritmos de asignación de marcos … cont


        Asignación equitativa                                                    Asignación proporcional

        – 93 marcos libres y llegan 05 procesos                                  – px = tamaño del proceso x
        – cada proceso recibira 18 marcos. Los 03                                – S = ∑ px
          sobrantes son deposito de libres.                                      – ml = numero de marcos libres
                                                                                 – formula mpx=px / S * ml


                                                                                 – 62 marcos libres, p1 = 10k y p2 = 127k
                                                                                 – mp1 = 10 / 137 * 62 = 4 aprox.
                                                                                 – Mp2 = 127 / 137 * 62 = 57 aprox.
                                                71                                                             72




Diaz Muñante Jorge                                                                                                                     12
Sistemas Operativos




       Algoritmos por prioridades                                                     Algoritmos de asignación de marcos

        En un esquema de asignacion proporcional por “tamaño” nos podríamos            Consideraciones
        basar en la “prioridad”.
                                                                                       – en ambas técnicas puede variar dependiendo del
        Permitir que un proceso de alta prioridad reemplace paginas de otro
        proceso de baja prioridad.                                                       nivel de multiprogramacion
        – El numero de marcos de un proceso de alta                                    – Si aumenta el nivel, cada proceso perdera algunos
          prioridad aumentaría en perjuicio de otro de baja                              marcos para proporcionar a los nuevos.
          prioridad.                                                                   – Si disminuye el nivel, los marcos liberados se
                                                                                         distribuye entre los restantes.




                                                      73                                                                           74




                                                                                                 Procesador            Tamaño             Niveles          Espacio
       Paginas Pequeñas
                                                                                                                     de página          de paginación     de usuario

                                                                Ej: Proceso de 25kb                Alpha                8 kb                 3              4 Tb
                                                                                                 ARM 26 bit         16 ó 32 Kb               2           Hasta 26 MB
        Tabla de Paginas          Pagina = 2kb             Pagina = 1kb
          Pagina = 4kb                                                                           ARM 32 bit             4 Kb                 2              3 GB
                                                                                                   IA64           4, 8, 16 ó 64Kb            3             10Exab
                                                                                                  M68000                4 Kb                 3             224MB
                                                                                                M68000 SUN3             8 Kb                 2            3,75 Mb
                                                                                                   MIPS                 4 Kb                 2              2 Gb
                                                                                                  MIPS64                4 Kb                 3             1 Petab
         T. Pag = 7 entradas     T. Pag = 13 entradas      T. Pag = 25 entradas
                                                                                      Linux       PARISC                4 Kb               2 ó 3            3 Gb

        Fragmentación interna                                                                     PowerPC               4 Kb                 2              2 Gb
                                                                                                   S390                 4 Kb                 2              2 Gb
                                  13 Páginas de 2Kb        25 Páginas de 1Kb
          7 Páginas de 4Kb
                                                                                                    SH                  4 Kb                 2            1,984 Mb
                                                                                                   Sparc                4 Kb                 3            3,75 Mb
                                                                                                 Sparc SUN4             8 kb                 3            3,75 Mb
                                                                                                  Sparc 64              8 kb                 3          16 Exab-16Gb
                                                                                                    X86                 4 Kb               2 ó 3            3 Gb
           Desperdicio: 3kb       Desperdicio: 1kb         Desperdicio: 0kb
                                                                                                                                   76




       Hiperpaginacion                                                                Hiperpaginación


        La tasa de fallos de página es tan alta que el proceso pierde más tiempo
        cargando páginas que ejecutando.
        Si se produce vapuleo en todos los procesos el sistema queda parado.                                  M.Real             Sacar la pagina
        Solución                                                                                                                    victima

        – no superar cierto grado de multiprogramación.                                                                        1
        – proporcionar a cada proceso las páginas que                                                m
          necesita en cada momento.                                                                          victima
                                                                                                              nueva
                                                                                                                                                        Es muy
                                                                                                                           2                            intensa

                                                                                                                        Introducir la
                                                                                                                       pagina deseada

                                                      77                                                                           78




Diaz Muñante Jorge                                                                                                                                                     13
Sistemas Operativos: Memoria Virtual y Organización
Sistemas Operativos: Memoria Virtual y Organización
Sistemas Operativos: Memoria Virtual y Organización
Sistemas Operativos: Memoria Virtual y Organización

Más contenido relacionado

Más de Julio Pari

Jelastic Enterprise
Jelastic EnterpriseJelastic Enterprise
Jelastic EnterpriseJulio Pari
 
Marketing Examen Parcial Profesor Osorio
Marketing Examen Parcial Profesor OsorioMarketing Examen Parcial Profesor Osorio
Marketing Examen Parcial Profesor OsorioJulio Pari
 
Ingenieria Software Examen Parcial 2013 2 Profesor Cordero
Ingenieria Software Examen Parcial 2013 2 Profesor CorderoIngenieria Software Examen Parcial 2013 2 Profesor Cordero
Ingenieria Software Examen Parcial 2013 2 Profesor CorderoJulio Pari
 
Documento de Arquitectura
Documento de ArquitecturaDocumento de Arquitectura
Documento de ArquitecturaJulio Pari
 
Solucion Examen Parcial Sistemas Digitales UNMSM FISI
Solucion Examen Parcial Sistemas Digitales UNMSM FISISolucion Examen Parcial Sistemas Digitales UNMSM FISI
Solucion Examen Parcial Sistemas Digitales UNMSM FISIJulio Pari
 
Práctica de Inventarios - Investigación Operativa II
Práctica de Inventarios - Investigación Operativa IIPráctica de Inventarios - Investigación Operativa II
Práctica de Inventarios - Investigación Operativa IIJulio Pari
 
Armas silenciosas para guerras tranquilas
Armas silenciosas para guerras tranquilasArmas silenciosas para guerras tranquilas
Armas silenciosas para guerras tranquilasJulio Pari
 
Formato de presentación de Proyecto UNMSM FISI
Formato de presentación de Proyecto UNMSM FISIFormato de presentación de Proyecto UNMSM FISI
Formato de presentación de Proyecto UNMSM FISIJulio Pari
 
Cuento para nuestro hijo y nuestra hija
Cuento para nuestro hijo y nuestra hijaCuento para nuestro hijo y nuestra hija
Cuento para nuestro hijo y nuestra hijaJulio Pari
 
Ingeniería de Software Examen Parcial
Ingeniería de Software Examen ParcialIngeniería de Software Examen Parcial
Ingeniería de Software Examen ParcialJulio Pari
 
Sistemas Distribuidos Examen Parcial
Sistemas Distribuidos Examen ParcialSistemas Distribuidos Examen Parcial
Sistemas Distribuidos Examen ParcialJulio Pari
 
Php07 consultas bd
Php07 consultas bdPhp07 consultas bd
Php07 consultas bdJulio Pari
 
Php06 instalacion my_sql
Php06 instalacion my_sqlPhp06 instalacion my_sql
Php06 instalacion my_sqlJulio Pari
 
Php05 funciones usuario
Php05 funciones usuarioPhp05 funciones usuario
Php05 funciones usuarioJulio Pari
 
Php04 estructuras control
Php04 estructuras controlPhp04 estructuras control
Php04 estructuras controlJulio Pari
 
Php03 variables externas
Php03 variables externasPhp03 variables externas
Php03 variables externasJulio Pari
 
Php02 fundamentos de php
Php02 fundamentos de phpPhp02 fundamentos de php
Php02 fundamentos de phpJulio Pari
 
Php08 mantenimiento tablas
Php08 mantenimiento tablasPhp08 mantenimiento tablas
Php08 mantenimiento tablasJulio Pari
 
Php01 instalacion de apache y php en linux
Php01 instalacion de apache y php en linuxPhp01 instalacion de apache y php en linux
Php01 instalacion de apache y php en linuxJulio Pari
 

Más de Julio Pari (20)

Jelastic Enterprise
Jelastic EnterpriseJelastic Enterprise
Jelastic Enterprise
 
Marketing Examen Parcial Profesor Osorio
Marketing Examen Parcial Profesor OsorioMarketing Examen Parcial Profesor Osorio
Marketing Examen Parcial Profesor Osorio
 
Ingenieria Software Examen Parcial 2013 2 Profesor Cordero
Ingenieria Software Examen Parcial 2013 2 Profesor CorderoIngenieria Software Examen Parcial 2013 2 Profesor Cordero
Ingenieria Software Examen Parcial 2013 2 Profesor Cordero
 
Documento de Arquitectura
Documento de ArquitecturaDocumento de Arquitectura
Documento de Arquitectura
 
Solucion Examen Parcial Sistemas Digitales UNMSM FISI
Solucion Examen Parcial Sistemas Digitales UNMSM FISISolucion Examen Parcial Sistemas Digitales UNMSM FISI
Solucion Examen Parcial Sistemas Digitales UNMSM FISI
 
Práctica de Inventarios - Investigación Operativa II
Práctica de Inventarios - Investigación Operativa IIPráctica de Inventarios - Investigación Operativa II
Práctica de Inventarios - Investigación Operativa II
 
Armas silenciosas para guerras tranquilas
Armas silenciosas para guerras tranquilasArmas silenciosas para guerras tranquilas
Armas silenciosas para guerras tranquilas
 
UML Java
UML JavaUML Java
UML Java
 
Formato de presentación de Proyecto UNMSM FISI
Formato de presentación de Proyecto UNMSM FISIFormato de presentación de Proyecto UNMSM FISI
Formato de presentación de Proyecto UNMSM FISI
 
Cuento para nuestro hijo y nuestra hija
Cuento para nuestro hijo y nuestra hijaCuento para nuestro hijo y nuestra hija
Cuento para nuestro hijo y nuestra hija
 
Ingeniería de Software Examen Parcial
Ingeniería de Software Examen ParcialIngeniería de Software Examen Parcial
Ingeniería de Software Examen Parcial
 
Sistemas Distribuidos Examen Parcial
Sistemas Distribuidos Examen ParcialSistemas Distribuidos Examen Parcial
Sistemas Distribuidos Examen Parcial
 
Php07 consultas bd
Php07 consultas bdPhp07 consultas bd
Php07 consultas bd
 
Php06 instalacion my_sql
Php06 instalacion my_sqlPhp06 instalacion my_sql
Php06 instalacion my_sql
 
Php05 funciones usuario
Php05 funciones usuarioPhp05 funciones usuario
Php05 funciones usuario
 
Php04 estructuras control
Php04 estructuras controlPhp04 estructuras control
Php04 estructuras control
 
Php03 variables externas
Php03 variables externasPhp03 variables externas
Php03 variables externas
 
Php02 fundamentos de php
Php02 fundamentos de phpPhp02 fundamentos de php
Php02 fundamentos de php
 
Php08 mantenimiento tablas
Php08 mantenimiento tablasPhp08 mantenimiento tablas
Php08 mantenimiento tablas
 
Php01 instalacion de apache y php en linux
Php01 instalacion de apache y php en linuxPhp01 instalacion de apache y php en linux
Php01 instalacion de apache y php en linux
 

Sistemas Operativos: Memoria Virtual y Organización

  • 1. Sistemas Operativos Organización de la Memoria Memoria Real Memoria Virtual Sistemas Operativos Profesor: Your picture here Un solo Multiprogramación Ciclo 2012-1 Diaz Muñante Jorge proceso Multiprogramación Particiones Particiones fijas variables Segmentada Administración de la Memoria Virtual 1 Colas Varias colas Paginada Segmentada + Paginada Antecedentes Actividad de los procesos Particiones Particiones Manejo de errores Fijas Variables Fragmentación Fragmentación :: :: :: :: :: :: :: :: :: :: Interna Externa E1 E2 E3 E4 E5 E1 E2 E3 E4 E5 Tamaño del Tamaño del E6 E7 E8 E9 E10 E6 E7 E8 E9 E10 proceso limitado proceso limitado por el tamaño de por el tamaño de E11 E12 E13 :: :: E11 E12 E13 :: :: la partición la memoria real :: :: :: :: :: :: :: :: :: :: Asignación de Memoria En la practica rara vez se presentan todos los Tamaño total del proceso errores en una misma ejecución. 4 Actividad de los procesos Actividad de los procesos Manejo de tablas, vectores u otra estructura de datos Software base: Editor de texto :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: V1 V2 V3 V4 V5 V1 V2 V3 V4 V5 Conversión de V6 V7 V8 V9 V10 V6 V7 V8 V9 V10 Minusculas a V11 V12 V13 V14V15 V11 V12 V13 V14V15 Mayusculas :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: En la practica solo usamos pocos elementos de las En la practica usamos rara vez esta opción estructuras de datos. Ejm: Vector (100x100) y usamos solo (10x10) 5 6 Diaz Muñante Jorge 1
  • 2. Sistemas Operativos Principio de localidad Premisa Referencias repetidas No se requiere que un proceso este almacenado en la memoria principal initializacion Inicio del Fin del en forma completa Cod. 1 Cod. 2 datos datos codigo codigo Ventajas Saltos esporadicos – No hay limite para el tamaño de los procesos working set: Fase inicial del Fase final del Fase Principal proceso proceso del proceso – Aumenta el numero de procesos en memoria – Disminución de las Operaciones e/s Dening – Principio de localidad – Las referencias de los procesos tienden agruparse en zonas pequeñas del espacio direccionable. Estas zonas ademas tienden a cambiar en forma intermitente. 7 8 Memoria Virtual Jerarquía de Memoria Es la separación de la memoria lógica del usuario de la memoria física Memoria Cache: Memoria real Memoria Virtual Ilusion de una Costo razonable Ilusion de una memoria memoria muy pero velocidad de gran tamaño rapida intermedia • Una gran memoria virtual cuando solo se dispone de una Virtual memory memoria física mas pequeña Main memory Cache Registers Words Lines (transferred Pages explicitly (transferred via load/store) automatically (transferred upon cache miss) automatically upon page fault) 9 10 La memoria virtual La paginación La ilusión de la memoria infinita - Consiste en dividir el espacio de direcciones virtual en unidades de tamaño invariante llamadas páginas. ∞ TLB Proceso A Proceso A Tabla Pagina Memoria Disco Memoria 500GB - Los marcos de página son la correspondencia de una página en la Fisica Virtual 1 GB memoria física, es decir, el espacio en la RAM donde realmente esta 4 GB la página, teniendo ambos el mismo tamaño. De esta forma, todas las unidades de transferencia de datos desde y hacia la RAM se hacen en el tamaño de una página. Paginada Segmentada Segmentada Marco de + Paginada Página Proceso A RAM Página Diaz Muñante Jorge 2
  • 3. Sistemas Operativos Memoria Virtual con paginas Configuracion de la memoria virtual Continuidad Artificial Pag 0 Marco 0 Pag 1 Marco 1 Pag 2 Marco 2 Memoria Memoria real Virtual Pag 3 Marco 3 Pag 4 Marco 4 Pag 5 Marco 5 Pag 6 Espacio de direcciones Pag 7 4k reales Espacio de direccionamiento lógico 13 14 Memoria Virtual Estatica / Dinamica Tabla de Paginas Memoria Secundaria Principal (Disco Duro) Memoria Virtual de Sistema Operativo Proceso P Tabla de Página 0 Páginas de P Memoria Física Página 1 Página 0 Marco 2 Principal (RAM) 0 1 2 3 Página 2 Página 1 Marco 0 Página 3 Página 2 Sistema No está Operativo 4 5 6 7 … Página 3 No está P0 P1 P2 Página 4 Marco 6 Marco 0 Página 1 (direcciones lógicas) 8 9 10 11 … No Marco 1 Libre están Marco 2 Página 0 P3 P4 P5 P6 (direcciones Físicas) Marco 3 Libre Página n- Marco 5 . 1 Marco 4 Página n . Página n Marco 4 Marco 5 Página n-1 . Lista de Marco 6 Página 4 32 33 34 35 Marcos Libres … Libres Pn-1 Pn Marco 1 . Marco 3 Marco m Libre . Marco 7 . … … D-1 D Página n … Marco m 15 16 Fallo o falta de pagina Falla o falta de Pagina La pagina esta en El proceso trata de usar una pagina que no esta en memoria real. Sistema 3 memoria auxiliar Pasos: operativo – 1. Referencia a una pagina, verifica su bit de 2 Trampa validez (esta invalida = i) Cargar 1 Referencia Memoria – 2. Ocurre una trampa M Física – 3. SO busca un marco libre i – 4. Lleva la pagina del disco a la memoria 6 Reinicia la libre – 5. Actualiza la tabla de paginas instrucción Tabla de paginas 4 Carga la – 6. Reinicia la operación pagina 5 Restablece 17 tabla de pag. 18 Diaz Muñante Jorge 3
  • 4. Sistemas Operativos Estructura tabla de páginas Compartiendo paginas Direcion Virtual # Pag Offset r w x v re m s c su pid g gd other otros Marco # (Proceso A): PageTablePtrA pag #0 V,R r Read (lectura) s Shared-compartida pag #1 V,R w Write (escritura) c caching page #2 pag V,R,W x Execute su super-pagina pag #3 V,R,W Pagina (ejecucion) v valida pid process id pag #4 N compartida re referenciada g (extended) guard pag #5 V,R,W m modificada gd guard data PageTablePtrB pag #0 V,R pag #1 N caching: páginas asociadas a registros de dispositivos pag #2 V,R,W Esta pagina fisica referenciada: 1 cuando se hace una referencia a una página pag #3 N aparece en los 2 procesos para leer o escribir page #4 pag V,R V,R modificada: recuperación marco, si página no ha sido pag #5 V,R,W modificada no se escribe a disco Valida o : 1 entrada valida y puede ser utilizada Direccion Virtual: # Pag Offset Process B presente/ausente 0 página no cargada en memoria 20 Traduccion de Direcciones Traduccion de direcciones Memoria Real Pagina # Memoria Real 0 1 2 3 4 5 6 7 Desplazamiento “d” 2k d DR instruccion Direccion Real = (5,10) Instruccion DV Memoria Virtual ¿? 0 1 2 3 4 5 6 7 d Direccion Virtual = (3,10) Dir.Virtual=(# pag, d) <traducir> Dir.Real =(# mar,d) 21 22 Traduccion de direcciones Traduccion de direcciones Registro base Tab.Pag Dirección virtual a Pagina p Desplazamiento Dirección virtual d Page # d marco # d a + a a p + p d marco a+p + b+d b b Dirección Tabla de real Tabla de paginas Programa paginas Memoria física 23 paginación 24 Diaz Muñante Jorge 4
  • 5. Sistemas Operativos Tablas de 02 Niveles Tabla de 2 niveles Direccion Marco 10 bits 10 bits 12 bits fisica: Page # Offset Direccion P1 index P2 index Offset virtual: Dirección virtual 4KB p1 p2 d PageTablePtr Dirección real 4 bytes m d Arbol de tablas Tablas tam. fijo (1024 entradas) m Tabla de 1er nivel Tablas de 2do nivel 4 bytes 25 26 Memoria asociativa Traduccion de direcciones Memoria especial - TLB – (Translation Look-aside Buffers) Dirección lógica – acceso rápido: . 10-20% del tiempo de acceso a memoria p d – pequeño tamaño: 64-1024 entradas pagina marco – solo contiene parte de la Tabla de Páginas acierto m d Memoria de acceso por contenido – Se compara con todas las páginas disponibles a la vez Dirección TLB real – Si la página buscada no está hay que buscarla en la Tabla de Páginas en memoria principal falla m – Después del fallo se refresca la memoria asociativa – El método es válido en función del porcentaje de éxito • se basa en que casi siempre los programas acceden a direcciones Tabla de consecutivas 27 paginas 28 Estrategias de Administración Estrategias de Administración Estrategia de Obtencion: Determinan cuándo se debe cargar una página Estrategia de Colocacion: en memoria Determinan en donde se debe cargar una página en memoria – Paginación por demanda • Se trae una página sólo cuando se hace referencia a ella • El principio de cercanía reduce los fallos. – Paginación previa • Se traen a memoria varias páginas contiguas • Mayor eficiencia de carga desde dispositivo secundario 29 30 Diaz Muñante Jorge 5
  • 6. Sistemas Operativos Estrategias de Administración Reemplazo de Pagina Estrategia de Reemplazo: ¿ Qué página se reemplaza en memoria principal cuando marco b.validz M.Real Sacar la pagina victima se debe cargar otra y no hay espacio para ella? Cambiar a invalido 2 1 m0 / vi / m m v victima nueva 4 Cambiar la tabla 3 Tabla de para la nueva paginas pagina Introducir la pagina deseada 31 32 Algoritmo Optimo Algoritmo optimo Cada página se va a etiquetar con: Número de instrucciones antes de hacer la 1a. referencia a dicha página p3 p1 p2 Principio algoritmo: eliminar página con la máxima etiqueta. 5 inst 10 inst. 30 inst. Página 1 Página 2 Página 3 Etiqueta: 10 Etiqueta: 30 Etiqueta: 5 Ejecución reemplazo 34 Algoritmo Optimo Algoritmo pésimo ¿cuál pagina involucra la peor decisión de reemplazo? 7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 7 7 7 2 7 2 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 4 0 4 4 0 4 0 0 0 0 0 Marcos de página 1 1 1 3 1 3 3 3 3 3 3 3 3 1 1 1 7 1 0 4 3 8 fallos de página 35 36 Diaz Muñante Jorge 6
  • 7. Sistemas Operativos Algoritmo FIFO Algoritmo FIFO Principio: Los primeros en entrar, son los primeros en salir. S.O. tiene una lista de todas las páginas en memoria, siendo p3 p4 p1 p2 la primera página la más antigua y la última la más reciente. FIFO Optimo En un fallo de página se elimina la primera página y se Pasado mas lejano Futuro mas lejano añade la nueva al final de la lista. FIFO es muy pocas veces usada en su forma más pura. Ejecución reemplazo 37 Algoritmo FIFO Algoritmo FIFO 7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 primera P1 P2 P3 P4 P5 P6 7 7 7 2 7 2 2 2 4 2 4 4 0 4 0 0 0 0 0 última P3 0 0 0 0 3 0 3 3 2 3 2 2 2 2 1 2 1 1 Marcos de página P4 1 1 1 1 0 1 0 0 3 0 3 3 3 3 2 3 2 siguiente P5 P6 P1 7 0 1 2 3 0 4 2 3 P2 12 fallos de página 40 Algoritmo FIFO No paginado Por que podría ser bueno? – Quizás la página que entró a memoria primero ahora no se necesita Por que podría ser malo? – Quizás página esta en uso • Las primeras paginas en llegar son del sistema operativo • Los programas asignan los valores al inicio. – Podría exponer anomalía de Belady 42 Diaz Muñante Jorge 7
  • 8. Sistemas Operativos Algoritmo de la Segunda Oportunidad FIFO/3 Marco 0 1 2 3 0 1 4 0 1 2 3 4 0 1 2 3 Modificación simple de FIFO Marcos 0 1 evita deshacerse de una página de uso frecuente 2 inspeccionando el bit R de la página más antigua. FIFO/4 Marco 0 1 2 3 0 1 4 0 1 2 3 4 0 1 2 3 si (R = 0) => página antigua y no utilizada marcos 0 se reemplaza en forma inmediata 1 2 si (R=1) => el bit se limpia 3 la página se coloca al final de la lista, su tiempo de carga se actualiza 43 Algoritmo de la Segunda Oportunidad Algoritmo de Reemplazo de Reloj En FIFO la Mantener páginas en una lista circular con forma de reloj. Página 1 saldría Una manecilla apunta hacia la página más antigua. Orden de entrada a la memoria 0 A Pág 1 1 Pág 2 1 Pág 3 0 Pág 4 0 Pág 5 0 L B Se mira la primera página (la más vieja). Tiene su bit de uso en 1, por lo tanto se le da K C otra oportunidad. Se setea en cero R, y se pasa a la cola 0 Pág 2 1 Pág 3 0 Pág 4 0 Pág 5 0 Pág 1 0 J D Idem al caso anterior I E Pág 3 0 Pág 4 0 Pág 5 0 Pág 1 0 Pág 2 0 H F G Al encontrarse una página con el bit en cero, se escoge para desalojo. Al ocurrir un fallo de página se inspecciona la página a la que apunta la manecilla. En el caso de que todas las páginas hayan tenido el bit de uso en cero, este algoritmo Si bit R = 0 => página se retira de memoria, se inserta nueva página en degrada en FIFO. su lugar en el reloj manecilla avanza una posición Esto continua hasta encontar una página con R = 0. Ejemplo de uso: Solaris Ejemplo: Algoritmo de Reemplazo de Reloj Ejemplo: Algoritmo de Reemplazo de Reloj Estado del buffer justo antes n 0 Estado del buffer justo antes n 0 de un reemplazo de un reemplazo Pag 9 Pag 19 1 Pag 9 Pag 19 1 uso = 1 uso = 1 uso = 1 uso = 1 Pag 1 Pag 1 . uso = 0 . uso = 0 . 2 . 2 Puntero al Pag 45 Puntero al Pag 45 marco siguiente uso = 1 marco siguiente uso = 0 . . Pag Pag Pag 222 Pag 191 727 Pag 222 Pag 191 727 uso = 0 uso = 1 3 uso = 0 uso = 1 3 8 8 Pag 33 Pag 556 Pag 33 Pag 556 uso = 1 uso = 0 uso = 1 uso = 0 Pag 67 Pag 13 4 Pag 67 Pag 13 4 7 7 uso = 1 uso = 0 uso = 1 uso = 0 6 5 6 5 Diaz Muñante Jorge 8
  • 9. Sistemas Operativos Ejemplo: Algoritmo de Reemplazo de Reloj Ejemplo: Algoritmo de Reemplazo de Reloj Estado del buffer justo antes n 0 Estado del buffer n 0 de un reemplazo después del reemplazo Pag 9 Pag 19 1 Pag 9 Pag 19 1 uso = 1 uso = 1 uso = 1 uso= 1 Pag 1 Pag 1 . uso = 0 . uso = 0 . 2 . 2 Puntero al Pag 45 Puntero al Pag 45 marco siguiente uso = 0 marco siguiente uso = 0 . . Pag Pag 222 Pag 191 727 Pag 222 Pag 191 uso = 0 uso = 0 3 uso = 0 uso = 0 3 8 8 Pag 33 Pag 556 Pag 33 Pag 727 uso = 1 uso = 0 uso = 1 uso = 1 Pag 67 Pag 13 4 Pag 67 Pag 13 4 7 7 uso = 1 uso = 0 uso = 1 uso = 0 6 5 6 5 Algoritmo del Reloj Algoritmo del reloj 7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 Ejemplo: Cadena de referencia 0 7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 7 7 7 2 7 2 2 2 4 4 4 4 3 3 3 3 0 7 7 7 2 7 2 2 2 4 4 4 4 3 3 3 3 0 0 0 0 0 Marcos de página 2 0 0 0 2 2 2 2 1 1 1 0 0 0 0 0 0 0 2 2 2 2 2 1 1 1 1 1 1 3 1 3 3 3 3 0 0 0 0 2 2 Marcos de página 1 1 1 1 3 3 3 3 3 0 0 0 0 2 2 7 1 2 0 3 4 2 0 3 7 1 2 0 3 4 2 0 3 R R R R R 7 1 7 0 7 0 7 0 2 1 R 0 1 0 1 0 1 0 0 0 0 0 0 12 fallos de página 1 1 1 1 1 1 1 1 1 0 1 0 2 1 51 52 Algoritmo según el uso no tan reciente NRU - Ejemplo - En este método cada página contiene 2 bits que permite decidir cual página desalojar: - R (bit solicitado): Se enciende cuando se realiza un acceso a esta página - M (bit modificado): Se enciende cuando se escribe en la página. - Se establecen así 4 clases de acuerdo al valor de los bits: (0,0) (1,0) (0,1) (1,0) Clase 0 = {a7,d5,a8,b4,d8} - Clase 0: No solicitado, No Modificado a7 c2 d2 b3 - Clase 1: No solicitado, Modificado Clase 1 = {d2,a3,c6} - Clase 2: Solicitado, No Modificado (1,1) (0,0) (1,0) (1,1) - Clase 3: Solicitado, Modificado b1 d5 a2 c4 Clase 2 = {c2,b3,a2,d7} - El algoritmo escoge una página partiendo desde las con clase menor. (0,0) (0,1) (0,0) (1,1) Clase 3 = {b1,c4,d9,a5} a8 a3 b4 d7 - El sistema operativo en cada interrupción de reloj cambia el estado del bit R, para poder identificar cuales páginas son accedidas constantemente durante el quantum. (1,1) (1,0) (0,1) (0,0) a5 d9 c6 d8 54 Diaz Muñante Jorge 9
  • 10. Sistemas Operativos Ejemplo NRU Algoritmo LRU Pag Bit R Bit M Pag Bit R Bit M 0 0 0 0 1 1 Quantum 1 0 0 1 1 0 2 0 0 2 0 0 3 0 0 Durante el quantum se 3 1 1 acceden las páginas 0, 1 Estado de la tabla de páginas en t1 p3 p4 p3 p4 p1 p2 Estado de la tabla de páginas en t0 y 3; y se escribe en las 0 y3 El SO apaga todos los bits R para poder determinar cuales de las Será desalojada páginas han sido FIFO LRU Optimo ocupadas Quantum Pasado mas Pasado mas Futuro mas Pag Bit R Bit M Pag Bit R Bit M 0 1 1 0 0 1 lejano reciente lejano 1 1 0 1 0 0 2 0 0 Durante el siguiente cuantum 2 0 0 Ejecución 3 0 1 se hacen accesos a las 3 0 1 páginas 0 y 1, luego se pide reemplazo Estado de la tabla de páginas en t3 la página 4 que no esta Estado de la tabla de páginas en t2 presente y se provoca un Page Fault. 56 Algoritmo de la menor uso reciente (LRU) Algoritmo LRU Páginas uso frecuente en las últimas instrucciones se utilizan con cierta probabilidad en las siguientes. Es probable que las páginas que no hayan sido utilizadas durante mucho tiempo Cadena de referencia permanezcan sin uso por bastante tiempo. Esto induce al siguiente algoritmo: 7 0 1 2 0 3 0 4 2 3 0 3 2 1 al ocurrir un fallo de página se elimina la página que no haya sido utilizada durante 2 0 el tiempo más grande. LRU: realizable en teoría, no es barato. 7 7 7 2 7 2 2 2 4 2 4 4 4 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 3 0 3 3 3 3 3 3 0 Implementación: necesario mantener una lista de todas las páginas en memoria, en donde Marcos de página la página de uso más reciente este al pri ncipio de la lista y la de uso menos reciente al final. 1 1 1 3 1 3 3 2 3 2 2 2 2 2 2 2 Dificultad: la lista debe actualizarse en cada referencia a 7 1 2 3 0 4 0 3 la memoria. Busqueda de la página en la lista, su eliminación y posterior traslado al frente de la misma NO puede ser una operación muy lenta. 11 fallos de página 58 1a. Solución: caso más sencillo Ejemplo solución Requiere de un contador de 64 bits, C, en hardware. Valor inicial cont = 0; se incrementa en forma automática después de cada instrucción. P0 P1 P2 P3 cont = 1; 1 0 0 0 Cada entrada en tabla de páginas debe contener espacio necesario para almacenar el contador. P0 P1 P2 P3 cont = 2; 1 2 0 0 Después de cada referencia el valor actual de C se almacena en la entrada de la tabla de páginas correspondiente a la página a la P0 P1 P2 P3 cont = 3; que se hizo referencia. 1 2 0 3 Fallo de página: P0 P1 P2 P3 cont = 4; => S.O. examina todos los contadores de la tabla 1 4 0 3 de páginas y elige el mínimo, (i.e. página de uso más reciente). Página más recientemente usada: P1, (cont = 4) Página menos usada: P2 , (cont = 0) Diaz Muñante Jorge 10
  • 11. Sistemas Operativos 2a. Solución: caso más sencillo Ejemplo de LRU con uso de una matriz Máquina con cuatro márcos, con referencias a las páginas en el orden: Máquina con n márcos para página, 0, 1, 2, 3, 2, 1, 0, 3, 2, 3 hardware LRU puede matriz de n x n, Después hacer referencia a la página 0 tenemos la situación siguiente: matriz inicializada en cero. 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 0 1 1 1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 Referencia al marco k 1 0 0 0 0 1 1 0 1 1 1 1 0 0 1 1 1 0 0 0 2 0 0 0 0 2 0 0 0 0 2 1 1 0 1 2 1 1 0 0 hardware primero activa todos los bits del renglón k 3 0 0 (a) 0 0 3 0 0 (b) 0 0 3 0 0 (d) 0 0 3 1 1 1 (d) 0 desactiva después todos los bits de la columna k. 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 1 0 En cualquier instante: 1 1 0 0 0 1 1 0 1 1 1 0 0 1 1 1 0 0 1 0 renglón con valor binario mínimo es de uso menos 2 1 1 0 1 2 1 0 0 1 2 0 0 0 1 2 0 0 0 0 frecuente, renglón con el siguiente valor más pequeño 3 1 1 0 (d) 0 3 1 0 0 0 (f) 3 0 0 0 0 (g) 3 1 1 1 (h) 0 es el segundo de uso menos reciente, etc. 0 1 2 3 0 1 2 3 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 2 1 1 0 1 2 1 1 0 0 3 1 1 0 0 (i) 3 1 1 1 0 (j) Bancos libres en memoria Modelo del conjunto de trabajo • Se basa en la localidad Banco (pool) de marcos libres para poder leer inmediatamente las paginas fallidas, antes de haber escrito a • Formado por las páginas recientemente accedidas disco la victima. • Las páginas en uso se encuentran en el CdT Sustitución y mantenimiento de páginas limpias • El conjunto de trabajo varía con el tiempo – Cuando el disco está inactivo Número de páginas del almacenamiento Se sustituyen las páginas limpias que no hay que escribir en primario asignadas al proceso disco. – Periódicamente se buscan páginas para limpiar Utilizado en VAX-VMS como complemento al método FIFO. Linux desaloja paginas victimas antes de que se llene la Tiempo memoria real. 63 64 Modelo de conjunto de trabajo ¿Cómo determinar el CdT? Evolución del conjunto de trabajo Inicio nueva fase Inicio nueva fase • El verdadero CdT lo forman las páginas que Estabilización Estabilización deben estar en el almacenamiento primario para nº de páginas en conjunto trabajo Arranque en frío la ejecución eficaz del proceso Estabilización w Tiempo de ejecución t-w t de un proceso Las páginas referenciadas por el proceso durante este intervalo constituye el conjunto de trabajos W(t,w), del proceso t • W = tamaño de la ventana del CdT Olvido de páginas de Olvido de páginas de • ¿Cómo afecta el tamaño de W? fase anterior fase anterior 66 Diaz Muñante Jorge 11
  • 12. Sistemas Operativos Ejemplo Asignación global vs local Ventana de 10 referencias Reemplazo global – Tamaño de conjunto de trabajo = 4 – el marco a reemplazar se selecciona entre todo el conjunto de marcos Reemplazo local 215777775162937 WS(t1,10) = {1, 2, 5, 7} – el marco a reemplazar se selecciona solo de su propio conjunto del proceso. 67 68 Desventajas global vs local Asignación de marcos Reemplazo global ¿cómo asignamos una cantidad fija de – un proceso no puede controlar su propia tasa de marcos a los distintos procesos? fallos de paginas. Se dispone de 93 marcos y llegan 02 – No depende solo del comportamiento del proceso sino de todos. procesos Reemplazo local –¿cuántos marcos obtiene cada proceso? – impide a un proceso tener acceso a otras paginas no usadas. Por lo general el global brinda una mayor productividad. 69 70 Algoritmos de asignación de marcos Algoritmos de asignación de marcos … cont Asignación equitativa Asignación proporcional – 93 marcos libres y llegan 05 procesos – px = tamaño del proceso x – cada proceso recibira 18 marcos. Los 03 – S = ∑ px sobrantes son deposito de libres. – ml = numero de marcos libres – formula mpx=px / S * ml – 62 marcos libres, p1 = 10k y p2 = 127k – mp1 = 10 / 137 * 62 = 4 aprox. – Mp2 = 127 / 137 * 62 = 57 aprox. 71 72 Diaz Muñante Jorge 12
  • 13. Sistemas Operativos Algoritmos por prioridades Algoritmos de asignación de marcos En un esquema de asignacion proporcional por “tamaño” nos podríamos Consideraciones basar en la “prioridad”. – en ambas técnicas puede variar dependiendo del Permitir que un proceso de alta prioridad reemplace paginas de otro proceso de baja prioridad. nivel de multiprogramacion – El numero de marcos de un proceso de alta – Si aumenta el nivel, cada proceso perdera algunos prioridad aumentaría en perjuicio de otro de baja marcos para proporcionar a los nuevos. prioridad. – Si disminuye el nivel, los marcos liberados se distribuye entre los restantes. 73 74 Procesador Tamaño Niveles Espacio Paginas Pequeñas de página de paginación de usuario Ej: Proceso de 25kb Alpha 8 kb 3 4 Tb ARM 26 bit 16 ó 32 Kb 2 Hasta 26 MB Tabla de Paginas Pagina = 2kb Pagina = 1kb Pagina = 4kb ARM 32 bit 4 Kb 2 3 GB IA64 4, 8, 16 ó 64Kb 3 10Exab M68000 4 Kb 3 224MB M68000 SUN3 8 Kb 2 3,75 Mb MIPS 4 Kb 2 2 Gb MIPS64 4 Kb 3 1 Petab T. Pag = 7 entradas T. Pag = 13 entradas T. Pag = 25 entradas Linux PARISC 4 Kb 2 ó 3 3 Gb Fragmentación interna PowerPC 4 Kb 2 2 Gb S390 4 Kb 2 2 Gb 13 Páginas de 2Kb 25 Páginas de 1Kb 7 Páginas de 4Kb SH 4 Kb 2 1,984 Mb Sparc 4 Kb 3 3,75 Mb Sparc SUN4 8 kb 3 3,75 Mb Sparc 64 8 kb 3 16 Exab-16Gb X86 4 Kb 2 ó 3 3 Gb Desperdicio: 3kb Desperdicio: 1kb Desperdicio: 0kb 76 Hiperpaginacion Hiperpaginación La tasa de fallos de página es tan alta que el proceso pierde más tiempo cargando páginas que ejecutando. Si se produce vapuleo en todos los procesos el sistema queda parado. M.Real Sacar la pagina Solución victima – no superar cierto grado de multiprogramación. 1 – proporcionar a cada proceso las páginas que m necesita en cada momento. victima nueva Es muy 2 intensa Introducir la pagina deseada 77 78 Diaz Muñante Jorge 13