SlideShare una empresa de Scribd logo
1 de 104
Descargar para leer sin conexión
QUINTO NIVEL
    “B”
Facultad de Ciencias
               Informáticas
          Misión                          Visión
  Formar profesionales           Ser una unidad con alto
 eficientes en el campo de las     prestigio académico con
  Ciencias Informáticas, que      eficiencia, transparencia y
  con honestidad, equidad y        calidad en la educación,
 solidaridad, den respuesta a          organizada en sus
     las necesidades de la       actividades, protagonista del
sociedad elevando su nivel de    proceso regional y nacional.
             vida.
REFLEXIÓN




   En ocasiones tendrás que ayudar a los
 demás y otras veces recibirás ayuda. Pero
entiende y aplica bien la palabra ayuda, pues
 es fácil crear vicios de tanto “ayudar” o caer
       en ellos de tanto recibir “ayuda”.
Jonathan Oswaldo Urdánigo Vinces




             PARTE 3
ADMINISTRACIÓN DEL ALMACENAMIENTO
ADMINISTRACIÓN DEL
         ALMACENAMIENTO
                            Para mejorar la     Debido a que la
El propósito principal     utilización de los   memoria      principal
de un sistema de         CPU como velocidad     resulta pequeña para
computo es ejecutar       de respuestas a los   acomodar todos los
programas,       estos        usuario , la      datos y programas de
juntos con los datos,     computadora debe      manera permanente
deben estar en la          mantener varios      el     sistema     de
memoria      principal       procesos en la     computo          debe
durante             la         memoria.         proporcionar        un
ejecución.                                      almacenamiento
                                                secundario.
Leidy marianela macías macías




             CAPÍTULO 9
ADMINISTRACIÓN DE LA MEMORIA
9.1 ANTECEDENTES
ADMINISTRACIÓN DE LA MEMORIA


 Los algoritmos de administración de memoria varían desde:


 Un enfoque               A nivel de          Hasta estrategias
                                                                     Y segmentación
  primitivo               máquina              de paginación


                                               Cada enfoque tiene sus propias
                                                   ventajas y desventajas.

     La selección de un método de
 administración de la memoria para un
sistema específico depende de muchos
                factores.
                          Especialmente del diseño
                          del hardware del sistema




                    MUCHOS ALGORITMOS REQUIEREN
                       SOPORTE DEL HARDWARE
ADMINISTRACIÓN DE LA MEMORIA
9.1
ANTECEDENTES
      La memoria es un componente central para la operación de un sistema de cómputo
       moderno, la cual consiste en un gran arreglo de palabras o bytes, cada uno con su
     propia dirección. La CPU acude por instrucciones a la memoria de acuerdo con el valor
        del contador de programa. Estas instrucciones pueden originar, a su vez, carga y
                 almacenamiento de y hacia direcciones específicas de memoria


Contador de instrucción,
  índice, indirección,
  direcciones literales
                           La unidad de memoria solo ve un flujo de
                           direcciones de memoria; no sabe cómo se
                                     generan ni lo que son.

 Instrucciones o Datos




             Entonces, podemos ignorar cómo un programa genera una dirección de
            memoria. Ya que sólo nos interesa la secuencia de direcciones de memoria
                       generadas por el programa que está en ejecución.
CARLOS JAVIER SORNOZA VÁSQUEZ




9.1.1 VINCULACIÓN DE DIRECCIONES
9.1.1 VINCULACIÓN DE DIRECCIONES


Es un conjunto de procesos que están en el disco y esperando ser llevados a la
memoria para su ejecución.

 PROCESO
     PROCESO
   PROCESO
        PROCESO




           Las direcciones pueden representarse de diferentes formas
            durante estos pasos, que por lo general son simbólicas ..
9.1.1 VINCULACIÓN DE DIRECCIONES
                Procesamiento de pasos múltiples de un programa de usuario
                                                        Progra
                                                          ma
Si se conoce al momento de la                           fuente
compilación en donde residirá el
proceso en la memoria, entonces se                  Compilador o      Tiempo de compilación
puede generar un código absoluto.                   ensamblador


                                      Otros
                                      módul            Módulo
                                                       Objeto
                                        os
                                      objeto
Si no se conoce al momento de la
compilación en donde residirá el
proceso en la memoria, entonces el                 Editor de enlace

compilador debe generar un código
relocalizable                         Biblioteca
                                          del          Módulo
                                       sistema
                                                         de            Tiempo de carga
                                                        Carga


Si el proceso puede moverse durante
su ejecucion de un segmento de                        Cargador
memoria a otro, entonces la
                                      Biblioteca
vinculacion debe ser demorada hasta       del        Imagen de        Tiempo de ejecución
el momento de ejecución.               sistema     memoria binaria
                                                                      (tiempo de corrida)
                                       cargada      en memoria
                                      dinamica
                                        mente
KARINA JESSENIA HIDROVO AVELLÁN




9.1.2 ESPACIO DE DIRECCIONES LÓGICAS
            CONTRA FÍSICAS
Los métodos de
                      vinculación de
                     direcciones en el
                      momento de la
                     compilación y en
                     el de la carga dan
                     por resultado un
                        ambiente en
                         donde las
                        direcciones
                     lógicas y físicas
                     son las mismas.




  El esquema de
  vinculación de
direcciones da por
   resultado un
  ambiente en el
      que las
   direcciones
 lógicas y físicas
     difieren.
El conjunto de
todas las
direcciones
lógicas generadas   El conjunto de
por un programa     todas las             Por lo tanto, en el
es un espacio de    direcciones físicas   esquema de
direcciones         correspondientes      vinculación de
lógicas.            a estas               direcciones en el
                    direcciones           tiempo de
                    lógicas es el         ejecución, los
                    espacio de            espacios de
                    direcciones           direcciones
                    físicas.              lógicas y físicas
                                          difieren.
El mapeo en tiempo de ejecución de direcciones virtuales (direcciones lógicas) en direcciones
físicas es realizado por la unidad de administración de memoria(memory-management-unit,
MMU) que es un dispositivo de hardware. Realizaremos este mapeo con un esquema simple de
MMU, que es una generalización del esquema de registros base.

                                                                    Como podemos observar en la figura
                                                                    este método requiere un soporte de
                                                                    hardware. El registro base ahora se
                       registro de                                  llama registro de relocalización, el
                     relocalización                                 valor en este registro se agrega a cada
                         14000                                      dirección generada por un proceso de
        dirección                       dirección                   usuario en el momento en que se envía
          lógica                          física
CPU                        +                          memoria       a la memoria.
           346                          14346
                                                                    Por ejemplo, si la base se encuentra en
                                                                    14000, el intento por parte del usuario
                                                                    de direccionar la localidad 0 se
                         MMU                                        relocaliza dinámicamente en la
                                                                    localidad 14000; un acceso a la
  Relocalización dinámica empleando un registro de relocalización   localidad 346 se mapea en la localidad
                                                                    14346.
El programa de usuario nunca ve las direcciones físicas reales.


                                          El programa puede crear un apuntador a
                                          la localidad 346, almacenarlo en
                                          memoria, manipularlo, compararlo con
                                          otras direcciones (todo ello como el
                                          número 346).
                                          Sólo cuando este número se utiliza como
                                          una dirección de memoria se relocaliza
                                          con relación al registro base.



                                          El programa de usuario maneja
                                          direcciones lógicas.
                                          El hardware de mapeo de memoria
                                          convierte las direcciones lógicas en
                                          direcciones físicas antes de ser utilizadas.
JEAN CARLOS MACÍAS ALCIVAR




   9.1.3 CARGA DINÁMICA
9.1.3 CARGA DINÁMICA

El tamaño de un proceso está limitado por el tamaño de la memoria
física. Para conseguir una mejor utilización del espacio de memoria,
podemos emplear la carga dinámica.

            Con la carga dinámica una rutina
            no se carga sino hasta que sea
            llamada.


            Todas las rutinas se mantienen en
            el disco en un formato de carga
            re localizable.



            El programa principal se carga en
            la memoria y se ejecuta.
9.1.3 CARGA DINÁMICA
JONATHAN ZAMORA




9.1.4 ENLACE DINÁMICO Y BIBLIOTECAS
           COMPARTIDAS
9.1.4 ENLACE DINÁMICO Y BIBLIOTECAS COMPARTIDAS


  El concepto de enlaces dinámicos es similar al de carga dinámica . En lugar de
                  posponer la carga es el enlace el que se pospone.
                                             El enlace dinámico incluye un stub en la
Característica usada con bibliotecas del
                                              imagen por cada referencia a la rutina
                sistema.
                                                          de la biblioteca.



  El stub es un pequeño código que indica como localizar la rutina de biblioteca
                            apropiada en memoria.
    El stub verifica si la rutina ya se       El stub se sustituye así mismo con la
         encuentra en memoria.              dirección de la rutina y ejecuta la rutina.



Una biblioteca puede ser reemplazada por una nueva versión, y los programas que
             hacen referencia a la biblioteca usaran la nueva versión.
  La información de la nueva versión se incluye tanto en el programa como en la
                                   biblioteca.
JOSÉ GABRIEL MOREIRA VÉLEZ




9.1.5 SUPERPOSICIONES (OVERLAYS)
9.1.5



S
             La idea de las superposiciones
U
                consiste en mantener en
P
                 memoria solo aquellas
E
              instrucciones y datos que se
    (




R
    O       necesitan en un momento dado.
    V
P
    E
O
    R
S
    L
I
    A
C
    Y
I
    S           Cuando se necesitan otras
O
    )




N           instrucciones, éstas se cargan en
E            el espacio que estaba ocupado
S                  previamente por las
                instrucciones que ya no se
                        necesitan.
CÉSAR STALIN VILLAVICENCIO PALACIOS
         YORDY EDWIN ALMEIDA LOOR




9.2 INTERCAMBIO (SWAPPING)
9.2 INTERCAMBIO (SWAPPING)




     Un proceso necesita
    estar en memoria para
       ser ejecutado. Sin
     embargo, un proceso
    puede intercambiarse
     temporalmente de la
         memoria a un
     almacén de respaldo.
9.2 INTERCAMBIO (SWAPPING)
Intercambio de dos procesos utilizando un disco como almacén de respaldo.


       Sistema
      Operativo
                            Intercambio
                                hacia
                            1                Proceso
                               afuera

                            Intercambio
                            2 hacia                          Proceso
                              adentro

      Espacio de
       usuario

                                             Almacén de respaldo


Mientras tanto, el planificador de la CPU asignará una porción de tiempo a
algún otro proceso en memoria.
9.2 INTERCAMBIO (SWAPPING)

Una variante de esta política de intercambio se emplea para los
algoritmos de planificación con base de prioridades.




Si llega un proceso de mayor prioridad y quiere servicio, el
administrador de la memoria puede intercambiar fuera de la memoria
el proceso de menor prioridad de manera que pueda cargar u ejecutar
el proceso de mayor prioridad




Cuando termine el proceso de mayor prioridad , el proceso de menor
prioridad puede ser intercambiado de regreso a la memoria y continuar.
Esta variante del intercambio también se conoce como desenrollar,
enrollar.
9.2 INTERCAMBIO (SWAPPING)



   • Debe quedar claro que el tiempo de conmutación de contexto
     en un sistema de intercambio es de tipo bastante elevado
   • Para la utilización eficiente de la CPU queremos que el tiempo de
     ejecución para cada proceso sea largo con relación al tiempo de
     intercambio




   • El tiempo de transferencia es directamente proporcional a la
     cantidad de memoria intercambiada
   • Existen otras relaciones de intercambio
HENRY ANDRÉS MENDOZA
     JAQUELINE MARIBEL INTRIAGO MACÍAS




9.3 ASIGNACIÓN DE MEMORIA CONTIGUA
Asignación de memoria contigua


Con los registros de relocalización y limite, cada dirección lógica debe ser menor que el
limite; la MMU mapea dinámicamente la dirección lógica agregando el valor del registro de
relocalización y esta dirección mapeada se envía a la memoria

                           REGISTRO                     REGISTRO DE
                            LIMITE                    RELOCALIZACION




                                         SI                                    MEMORIA
       CPU                      <                           +
               Dirección
                 lógica                                            Dirección
                                                                      física
                                    NO



                 trampa (trap);error de direccionamiento

       Cuando el planificador de la CPU selecciona un proceso para su ejecución, el
  despachador caga los registros de relocalización y limites con los valores correctos como
                          parte de la comunicación en contexto.
Asignación de memoria contigua



 Uno de los métodos mas sencillos
es dividir la memoria en particiones
   de tamaño fijo. Cada partición
  puede contener un proceso. De
 esta forma la multiprogramación
 queda limitado por el numero de
              particiones
                                         El sistema operativo contiene una
                                         tabla que indica que partes necesita
                                          Cuando llega un proceso y de la
                                           memoria,están libresun cuales lo
                                            memoria buscamos y bloque
                                           suficientemente grande para este
                                           ocupadas. Inicialmente toda la
                                         memoria esta disponible para los le
                                           proceso, si encontramos alguno
                                            asignamos tanta memoriaes
                                             procesos de usuario, que como
                                        consideradoel resto queda disponible
                                          necesite y como hueco que es un
                                           para satisfacer solicitudes futuras
                                             espacio grande de memoria
                                                     disponible.
9.3 ASIGNACIÓN DE MEMORIA CONTIGUA



Esto es un caso particular al del problema de asignación dinámica de
  almacenamiento que consiste en como satisfacer una solicitud de
           tamaño n a partir de una lista de huecos libres.



                     Existen varias soluciones a esto:


          Se hace una búsqueda en el conjunto de huecos
          para determinar cual es el mejor hueco para asignar.


Las estrategias del primer ajuste, el mejor ajuste y el peor ajuste son las
    que se emplean comúnmente para seleccionar huecos libre del
                     conjunto de huecos disponibles.
9.3 ASIGNACIÓN DE MEMORIA CONTIGUA


   Primer ajuste: asigna el primer hueco que sea suficientemente grande.
  La búsqueda puede comenzar ya sea al principio del conjunto de huecos o
            donde termino la búsqueda previa de primer ajuste.


   Mejor ajuste: asigna el hueco mas pequeño que sea suficientemente
grande. Debemos hacer la búsqueda en toda la lista o puede que la lista ya
                      este ordenada por su tamaño.



                Peor ajuste: asigna el hueco mas grande.
                  Se hace la búsqueda de toda la lista.



Se ha demostrado que tanto el primer ajuste como el mejor ajuste son mejores
 que el peor ajuste con respecto a su reducción de tiempo y a su utilización de
                               almacenamiento.
9.3 ASIGNACIÓN DE MEMORIA CONTIGUA
        Los algoritmos que se acaban de presentar de una fragmentación externa.


La fragmentación externa ocurre cuando existe suficiente espacio de
memoria total para satisfacer una solicitud, pero no es contigua; el
almacenamiento se fragmenta en un gran numero de huecos pequeños.


                  Este problema de fragmentación puede ser grave. En el peor de los casos
                            podría tener un bloque de memoria libre entre cada procesos.

Una solución al problema de la fragmentación es la compactación.
La meta es reorganizar los contenidos de la memoria para colocar
junta toda la memoria libre en un bloque grande.


              Otra solución es permitir que el espacio de direcciones lógicas de un proceso
                    no sea contiguo para dejar que a un proceso se le asigne memoria física
                                                           siempre que esta este disponible
GEMA PATRICIA CALDERÓN PAREDES
   JESÚS ALBERTO CEDEÑO NAVIA
 MARÍA FERNANDA ARÉVALO PINCAY




   9.4 PAGINACIÓN
9.4.1 MÉTODO BÁSICO
9.4.1 MÉTODO BÁSICO


 La memoria física se                          La memoria lógica se
   descompone en:                                descompone en:

                                Su tamaño
                                es definido
                                   por el
                                hardware.

Bloques de tamaño fijo                          Bloques del mismo
 denominados marcos                           tamaño denominados
                                                     paginas


      Cuando se ejecuta un proceso sus paginas se cargan desde el
         almacén de respaldo en cualquier marco de memoria
                              disponible.
9.4.1 MÉTODO BÁSICO
             Cada dirección
         generada por la CPU se
          divide en dos partes:



Numero de pagina      Desplazamiento de
      (p)                 pagina (d)



  Numero de Pagina    Desplazamiento de Pagina
         p                       d
        m-n                      n
9.4.1 MÉTODO BÁSICO
                                                       0

EJEMPLO DE PAGINACIÓN PARA UNA MEMORIA DE 32
BYTES CON PAGINAS DE 4 BYTES.
       0    a                   5                      4    i
                            0                               j
       1    b               1   6                           k
                                                            l
       2    c               2   1                      8    m
       3    d               3                               n
                                2                           o
       4    e                                               p

       5    f                                          12
                          Tabla de Paginas
       6    g
       7    h
                                                       16
      8     i
      9     j
      10    k                                          20   a
                                                            b
      11    l                                               c
                                                            d
      12   m                                           24   e
                                                            f
      13   n                                                g
      14   o                                                h

      15   p                                           28


    Memoria lógica                    Memoria física
9.4.1 MÉTODO BÁSICO

                  Cuando utilizamos
La Paginación                         Pero sin embargo
                   un esquema de
es la forma de                         podemos tener
                   paginación, no
                                            cierta
relocalización        tenemos
                                       fragmentación
   dinámica        fragmentación
                                           interna
                       externa




                                              Si los
                   Ya que el ultimo
                                      requerimientos de
                   marco asignado
                                        memoria de un
                    tal vez no este
                                       proceso no llegan
                   completamente
                                        a caer en limites
                         lleno.
                                           de pagina.
9.4.1 MÉTODO BÁSICO
                           Por ejemplo, si las paginas son de 2048
                         bytes, un proceso de 72.766 bytes necesita
                          35 paginas mas 1086 bytes. Se le asignara
                             36 marcos, dando por resultado una
                          fragmentación interna de 2048-1086-962
                                             bytes



Si el tamaño del
                         Existe un trabajo
proceso es
                       adicional involucrado
independiente del                                Actualmente, las
                       en cada entrada de la
tamaño de la pagina,                              paginas tienen
                        tabla de paginas, y
esperemos que la                                  típicamente un
                         este se reduce a
fragmentación                                  tamaño de entre 2 y 8
                       medida que aumenta
interna sea un                                          KB.
                         el tamaño de las
promedio de media
                              paginas.
pagina de proceso.
9.4.1 MÉTODO BÁSICO
  El sistema Operativo       Esta copia se utiliza para
mantiene una copia de la      traducir las direcciones
 tabla de paginas para          lógicas a direcciones
      cada proceso.                     físicas




 Esta define la tabla de
                              La copia también es
  pagina del Hardware
cuando se va a asignar la
                                 utilizada por el
   CPU a un proceso          despachador de la CPU




 La paginación incrementa
de esta forma el tiempo de
comunicación de contexto
9.4.1 MÉTODO BÁSICO
                       Esta información se
                            mantiene
                        generalmente en
                        una estructura de
                       datos denominada       Tiene una entrada
   Que marcos se         tabla de marcos        por cada marco
   asignan, cuales                             físico de pagina,
    marcos serán                                 indicando si el
disponibles, cuantos                         ultimo esta libre o si
marcos en total hay,                         esta asignado y , si
         etc.                                  esta asignado, a
                                              qué pagina de qué
                                             proceso o procesos
                         Debido a que el
                        sistema operativo
                               esta
                        administrando la
                          memoria física
                            debe estar
                          consiente de :
9.4.1 MÉTODO BÁSICO
  El sistema Operativo         Esta copia se utiliza
mantiene una copia de la         para traducir las
 tabla de paginas para         direcciones lógicas a
      cada proceso.             direcciones físicas




 Esta define la tabla de
                               La copia también es
  pagina del Hardware
                                  utilizada por el
 cuando se va a asignar
                              despachador de la CPU
  la CPU a un proceso




  La paginación incrementa
 de esta forma el tiempo de
 comunicación de contexto
JESSENIA CEVALLOS




9.4.2 ESTRUCTURA DE LA TABLA DE PÁGINAS
       9.4.1.2 SOPORTE DE HARDWARE
Estructura de la tabla de páginas


         Un apuntador de la tabla de
         paginas se almacena con los
         demás valores de registros en el
         boque de control de procesos




Soporte de hardware                Protección
Soporte de hardware


La tabla se implementa como
un conjunto de registros                 La PDP-11 de DEC
dedicados,     estos  deberán
construirse con una lógica de
muy alta velocidad para que la
traducción de direcciones de
pagina sea eficiente.             El uso de los registros para la
                                  tabla     de    paginas      es
En el caso de estas maquinas      satisfactorio si la tabla es
el empleo de registros rápidos    razonablemente     pequeña(256
para implementar la tabla de      entradas).
paginas no es factible, dicha
tabla se mantiene en la
memoria principal y un registro
base de tabla de paginas
apunta a ella
Dirección
           lógica
CPU   p      d


            Numero de      Numero de                 Dirección F0000..0000
             pagina         marco          Acierto de física
                                             TLB
                                                 l            d


                                                                  F1111…..1111

                        TLB
                                             --------------
                                    P
                                             --------------
      Fallo de TLB                                                 Memoria
                                                     f              física

                                             --------------
                                             --------------
                        Tabla de paginas
ANDRÉS ANTONIO DAZA ESPINALEZ
XAVIER FERNANDO CEDEÑO MOREIRA




   9.4.2.2 PROTECCIÓN
9.4.2.2 PROTECCIÓN



La protección de la memoria en un
ambiente de paginación se la realiza
mediante de los bits de protección.
Un bit puede definir que una página
sea de lectura y escritura o solo de               Cada referencia a la memoria
lectura.                                           pasa por una tabla de páginas
                                                   para encontrar el número de
                                                   marco correcto, al mismo
                                                   tiempo calcula la dirección
                                                   física.


         Los bits de protección pueden
         examinarse para verificar que no se
         esté escribiendo en una página de solo
         lectura, al intentar esto se genera una
         trampa de hardware q se comunica
         con el sistema operativo.
9.4.2.2 PROTECCIÓN
Se puede crear un hardware para
proporcionar protección de solo lectura, de
lectura y escritura, o bien se podría usar bits
de protección por cada clase de acceso.




                                                  Generalmente se agrega
                                                  un bit más a cada entrada
                                                  de la tabla de páginas esto
                                                  genera un bit de validez-
                                                  invalidez
9.4.2.2 PROTECCIÓN
Cuando el valor de este
bit se fija en «válido» ,    Si el valor del bit se fija en
indica que la página es      «invalido» indica que la
legal o valida               página no se encuentra en
                             el espacio de direcciones
                             lógicas del proceso




Raras veces un proceso
utiliza todo su rango de        Algunos sistemas proporcionan
direcciones, de hecho           hardware, bajo la forma de
muchos procesos utilizan        registro de longitud de tabla, para
solo pequeña fracción del       indicar el tamaño de dicha tabla de
espacio de direcciones que      páginas.
tienen disponible.              Este valor se compara contra cada
                                dirección lógica para verificar que
                                la dirección se encuentra en el
                                rango valido para el proceso. Si no
                                se pasa esta prueba, se ocasiona
                                una trampa de error al sistema
                                operativo.
9.4.2.2 PROTECCIÓN
DIEGO AVILEZ MACÍAS




9.4.3. PAGINACIÓN CON NIVELES
           MÚLTIPLES
9.4.3. PAGINACIÓN CON NIVELES MÚLTIPLES




    La arquitectura VAX soporta paginación con
   dos niveles. La VAX es una maquina de 32 bits
       con un tamaño de pagina de 512 bytes.
   En el cual el espacio de direcciones lógicas de
      un proceso se divide en cuatro secciones
    iguales, cada una de las cuales consta de 230
                        bytes.
   Cada sección representa una parte diferente
      del espacio de direcciones lógicas de un
                       proceso.
9.4.3. PAGINACIÓN CON NIVELES MÚLTIPLES



                  Los primeros 2 bits de orden alto de la
              dirección lógica designan la sesión apropiada.
              Los siguientes 21 bits presentan el numero de
                                  pagina .
             Los 9 bits finales representan un deslizamiento
                           en la pagina deseada.




Al dividir la tabla de paginas de
     esta forma , el sistema
     operativo puede dejar
particiones no utilizadas hasta
que otro proceso las necesite.
9.4.3. PAGINACIÓN CON NIVELES MÚLTIPLES




                ES DECIR :



Que para un sistemas de 64 bits ya
no es apropiado usar este modelo en
dos    niveles   sino    que   debe
implementar mas niveles haciendo
mas trozos las tablas de pagina y así
abarcar con la arquitectura que se
maneja el sistema operativo.
Doris Elizabeth Solórzano Moreira




9.4.4 TABLA DE PÁGINAS INVERTIDA
9.4.4. TABLA DE PÁGINAS INVERTIDA

       TABLA DE PAGINA INVERTIDA
                              Es


Una tabla de paginación tiene una entrada por cada pagina que el proceso
esta utilizando o una ranura por cada dirección virtual independiente de la
validez de esta ultima



                               Sintaxis


   Id-proceso , numero de pagina (hace a la referencia a la memoria, parte de
   la dirección virtual )
   Id-proceso , numero de pagina , se presenta en el subsistema de la memoria
9.4.4. TABLA DE PÁGINAS INVERTIDA




                        Para poder manipular la
                        memoria de hiperpaginas
                        coger los datos o rutas
                        de memoria para ahorra
                        espacios .
                        La cpu de paginación
                        ubica la dirección de la
                        memoria donde se
                        encuentra…
                        Pasa primeramente por la
                        dirección lógica, dirección
                        física y por ultimo por la
                        memoria física
PEDRO ANDRES MUÑOZ CASTRO




9.4.5. PÁGINAS COMPARTIDAS
9.4.5. PÁGINAS COMPARTIDAS


• Considerando un sistema que soporta 40 usuarios cada uno de los cuales
  ejecuta un editor de texto.


• Si el editor de texto consta en 150k de código y 50k de espacio
  para datos se necesitan 8000k para soportar a los 40 usuarios

• El código Reentrante es un código que no puede modificarse así mismo
• Por lo tanto dos o mas procesos pueden ejecutar el mismo código al mismo
  tiempo


• Cada proceso tiene su propia copia de registros y almacenamiento
  de datos para mantener los datos para la ejecución del proceso.


• Solo se necesita mantener en memoria física una copia del editor.
9.4.5. PÁGINAS COMPARTIDAS
MARCO MERCHÁN




 9.5 SEGMENTACIÓN
9.5.1 MÉTODO BÁSICO
Un aspecto
    importante es la          La memoria es vista como
  administración de la        un conjunto de segmentos
     memoria es la               de tamaño variable
      paginación.                desordenadamente.




  La segmentación es un
                               Subrutina             pila
       esquema de
    administración de                           Tabla de
         memoria.                               símbolos
                                  sqrt
Un espacio de direcciones
    es un conjunto de                    Programa
        segmentos.                       principal
 Cada segmento tiene un
    nombre y longitud
                            Espacio de direcciones lógicas
RAFAEL ANDRÉ BASURTO ZAMBRANO




  9.5.2 HARDWARE
9.5.2 HARDWARE




Los usuarios ahora pueden hacer referencia a
los objetos en el programa mediante una
dirección bidimensional.


La física real sigue siendo, por supuesto, una
secuencia unidimensional de bytes.


Este mapeo es efectuado por una tabla de
segmentos. Cada entrada de segmentos tiene
una base de segmentos y un límite de segmento.
9.5.2 HARDWARE

 • El número de segmentos se           • El desplazamiento de la
   utiliza como un índice en la        dirección lógica debe estar
       tabla de segmentos.                entre 0 y el límite de
                                                segmento

Un número de                         Un desplazamiento
segmentos                            en dicho segmento.



• El empleo de una tabla de       • De no ser así se genera una trampa al
                                    sistema operativo.
  segmentos se ilustra en una
                                  • Si el desplazamiento es legal se agrega
  dirección lógica y consta de      a la base del segmento para producir la
  dos partes.                       dirección en la memoria física de byte
                                    deseado.
                                              Caso
      Segmento.
                                            contario
9.5.2 HARDWARE

                      Ejemplo
                 A) El sementó 2
                 tiene 400 bytes
                 de     longitud  y
                 comienza     en la
                 localidad 4300 con
                 una referencia de
                 bytes      53   el
                 segmento      2 se
                 mapea       en  la
                 longitud
                 4300+53=4353
MARCOS ANTONIO MENÉNDEZ ZAMBRANO




9.5.3 PROTECCIÓN Y COMPARTIMIENTO
PROTECCIÓN Y COMPARTIMIENTO
                         Asociación de la protección con los segmentos


Los segmentos representan una porción del programa definida semánticamente.
      Algunos segmentos son instrucciones (Lectura-Ejecución).
      Y otros segmentos son datos (Lectura-Escritura).



                     El hardware de mapeo impide un acceso ilegal a la memoria:
                          Escribir en un segmento de solo lectura.
                          Utilizar como dato un segmento de sólo ejecución.



Al colocarse un arreglo en un propio segmento el hardware de administración de la
memoria verificará que los índices sean legales y no estén fuera del límite del
arreglo.
Así muchos errores podrán ser detectados a tiempo, para que no ocasionen un daño
serio.
PROTECCIÓN Y COMPARTIMIENTO
        Otra ventaja de la segmentación implica la compartición de código o datos.




                     Editor
                                                 Límite     Base
Memoria Lógica                                                       43062
                    Segmento 0
                                            0    25286     43062
 Proceso P1
                                            1     4425     68348
                              Datos1                                          Editor
                                                Tabla de Segmentos
                            Segmento 1
                                                    Proceso P1       68348
                                                                             Datos1
                                                                     72773



                     Editor
                                                 Límite     Base     90003
Memoria Lógica
 Proceso P2         Segmento 0              0    25286     43062             Datos2
                                                                     98853
                                            1     4425     68348
                              Datos2
                                                Tabla de Segmentos
                            Segmento 1
                                                    Proceso P2
INGRID ALEJANDRA CEDEÑO BAILÓN




9.5.4 FRAGMENTACIÓN
FRAGMENTACIÓN



El planificador de largo plazo       Similar a paginación
debe   encontrar    y   asignar
memoria       a    todos    los
                                  Excepto que los segmentos
segmentos de un programa          son de longitud variable
de usuario.
                                  ESQUEMA DE PARTICIONES
                                  La asignación de memoria es
                                   un problema de asignación
                                  dinámica de almacenamiento
La segmentación puede ocasionar una fragmentación externa si todos los
 bloques de memoria libre son demasiados pequeños para acomodar a
                            un segmento.




                     EL PROCESO DEBE:
             Esperar hasta que                Hacer uso de la
             haya disponible                  compactación para
             más memoria                      crear dicho hueco.


 Si el planificador de la CPU debe esperar por un proceso, debido a la
 asignación de memoria


 Recorrer la cola de la CPU buscando un proceso más pequeño y de
 menor prioridad para su ejecución.
¿Qué tan serio es el problema de fragmentación externa para un esquema de
                              segmentación?




        En un extremo podemos
       definir cada proceso fuera
               un segmento          Cada byte podría ser colocado
                                      en su propio segmento y
                                      reubicarse por separado


    Se reduce al
    esquema de
   pariciones de
  tamaño variable                                      Elimina
                                                  completamente la
                                                   fragmentación
                                                       externa
KAROL ANDREA MANRIQUE VÉLIZ
            JOSÉ DANIEL MENDOZA LOOR




9.6 SEGMENTACIÓN CON PAGINACIÓN
SEGMENTACIÓN CON PAGINACIÓN

Microprocesadores más utilizados:


                               • Diseñada en
                  MOTOROL
                   A 68000       espacios de
                              direcciones plano



                         INTEL    • Basado en la
                         80x86      segmentación




                         PENTIU   • Basado en la
                           M        segmentación



                          • Mezcla de                 Número máximo de
                 INTEL                             segmentos: 16KB c/u 4GB
                            paginación y
                  386
                            segmentación            Tamaño de página: 4KB
SEGMENTACIÓN CON PAGINACIÓN

               Intel 386
           El espacio de direcciones lógicas de un proceso se
           divide en dos particiones.




                                      Segunda partición
 • Consta de 8K
   segmentos privados
 • Tabla local de              • Contiene de hasta 8K
   descriptores (TLD):           segmentos compartidos
   ubicación base y            • Tabla global de
   longitud de segmento.         descriptores (TGD)


          Primera partición
SEGMENTACIÓN CON PAGINACIÓN



La dirección lógica es un par (selector, desplazamiento), en
donde el selector es un número de 16 bits.




       s                      g                      p
     13                       1                      2




                La máquina tiene seis registros de
                segmentos, seis registros de 8
                bytes de microprograma para
                contener los descriptores.
SEGMENTACION CON PAGINACION
LA DIRECCION FISICA EN EL
   386 TIENE 32 BITS DE
LONGITUD Y SE FORMA ASI

    REGISTRO DE
 SEGMENTO APUNTA A                           UNA TABLA DE PAGINAS PUEDE CONTENER
     LA ENTRADA                               HASTA 1 MILLON DE ENTRADAS
 APROPIADA EN LA LDT                         DEBIDO A ESTO CADA PROCESO PUEDE
        O GDT                                 NECESITAR HASTA 4 MEGABYTES DE ESPACIO
                                              DE DIRECCIONES FISICAS

                    LA INFORMACION DE
                   LA BASE Y LIMITE DEL
                   SEGMENTO SE EMPLEA
                    PARA GENERAR UNA
                     DIRECCION LINEAL.




                                       CADA SEGMENTO SE
                                      PAGINA Y CADA PAGINA
                                         ES DE 4 KBYTES
SEGMENTACION CON PAGINACION

                                       LIMITE




    VERIFICA VALIDEZ DE LA DIRECCION




                                                 VALIDA: VALOR DE DESPLAZAMIENTO
    NO VALIDA: GENERA UNA FALLA DE
                                                SE AGREGA AL VALOR DE LA BASE, QUE
     MEMORIA RESULTANDO EN UNA
                                                DA UNA DIRECCION LINEAL DE 32 BITS,
     TRAMPA AL SISTEMA OPERATIVO
                                                    QUE SE TRADUCE A UNA FISICA
SEGMENTACION CON PAGINACION

   LA SOLUCION DEL 386 PARA NO ASIGNAR LA TABLA DE PAGINAS
   CONTIGUAMENTE A LA MEMORIA PRINCIPAL ES:
   • USAR UN ESQUEMA DE PAGINACION CON DOS NIVELES
       • UN NUMERO DE PAGINA QUE CONSTA DE 20 BITS
       • UN DESPLAZAMIENTO DE PAGINA QUE CONSTA DE 12 BITS.
   DEBIDO A QUE PAGINAMOS LA TABLA DE PAGINAS, EL NUMERO DE
   PAGINAS SE DIVIDE A SU VEZ EN:
   • UN APUNTADOR DE DIRECTORIO DE PAGINAS DE 10 BITS
   • UN APUNTADOR DE TABLA DE PAGINAS DE 10 BITS



    NUMERO DE PAGINA   DESPLAZAMIENTO DE PAGINA
       P1       P2                    D
       10       10                    12
SEGMENTACION CON PAGINACION
JENNIFER YAHAIRA INTRIAGO HOLGUÍN




             PARTE 3
ADMINISTRACIÓN DEL ALMACENAMIENTO
PARTE 3
ADMINISTRACIÓN DEL ALMACENAMIENTO


       Ejecución de programas




                                    Los programas deben estar
                                      en la memoria principal




                                         Almacenamiento
                                        De gran capacidad
MARYURIE LÓPEZ NAVARRETE




             CAPÍTULO 9
ADMINISTRACIÓN DE LA MEMORIA
9.1 ANTECEDENTES
Los algoritmos de administración de memoria varían desde
        un enfoque primitivo, a nivel de maquina, hasta estrategias
        de paginación y segmentación.
       La selección de un método de administración de la memoria
       para un sistema especifico depende de muchos factores,
       especialmente de diseños de hardware del sistema.




La memoria es un componente central para la operación de un sistema
de computo moderno.
Consiste en un gran arreglo de palabras o bytes, cada uno con su
propia dirección.
La CPU acude por instrucciones a la memoria de acuerdo con el valor
del contador de programa.
ANA LAURA PONCE




9.1.1 VINCULACIÓN DE DIRECCIONES
Vinculación De Direcciones


El procedimiento normal consiste en seleccionar uno de los procesos de la cola de
entrada y cargarlo en la memoria. A medida que el proceso se ejecuta, accede a las
instrucciones y datos de la memoria. Con el tiempo, el proceso termina y su espacio
memoria se declara como disponible.




  La mayoría de los sistema permiten que su proceso de usuario reside en cualquier
  parte de la memoria física.
  Aunque el espacio de direcciones de la computadora comienza en 00000, la primera
  dirección del proceso de usuario no necesita ser 00000.
La vinculación de instrucciones y datos con direcciones de
memoria puede hacerse en cualquier paso durante el recorrido


                           Tiempo de compilación
                    Si se conoce al momento de la compilación en
                    donde residirá el proceso en la memoria


                                Tiempo de carga
                     Si no se conoce al momento de la compilación
                     en donde residirá el proceso en la memoria


                             Tiempo de ejecución
                    Si el proceso puede moverse durante su ejecución
                    de un segmento de memoria a otro
ESTEFANÍA DELGADO CHAVARRÍA




9.1.2 ESPACIO DE DIRECCIONES LÓGICAS
            CONTRA FÍSICAS
LUIS MIGUEL GARCÍA




9.1.3 CARGA DINÁMICA
Para conseguir una mejor utilización del espacio de
memoria podemos emplear la carga dinámica con
la carga dinámica una rutina no se carga sino hasta
que es llamada



     Cuando una rutina necesita llamar a otra rutina , la
     rutina que hace el llamado verifica primeramente si
     la otra a sido cargada.


           La ventaja de la carga dinámica es que la rutina no
           utilizada nunca se carga. Este método es útil cuando
           se necesitan grandes cantidades de código para
           manejar casos que ocurren con poca frecuencia
           como rutinas de error



                La carga dinámica no requiere un soporte especial
                del sistema operativo .
DARWIN LEONARDO CHÁVEZ LUCAS




9.1.4 ENLACE DINÁMICO Y BIBLIOTECAS
           COMPARTIDAS
ENLACE DINÁMICO Y BÍBLIOTECAS COMPARTIDAS


     El concepto de enlace dinámico es similar al de
                    carga dinámica



   En lugar de posponer la carga hasta el tiempo de
   ejecución, el enlace es el que se pospone. Esta se
   utiliza generalmente con bibliotecas del sistema
   como las bibliotecas de subrutinas de lenguaje.



   Sin este servicio , todos los programas de un sistema
   necesitan tener una copia de su biblioteca de
   lenguaje o por lo menos las rutinas a la que hace
   referencia el programa. Este requerimiento
   desperdicia espacio en en disco así como memoria
   principal.
Cuando se ejecuta
                                Este STUB es una             este STUB verifica si
     Con el enlace              pequeña pieza de            la rutina necesaria ya
  dinámico se incluye           código que indica              se encuentra en
un STUB en la imagen             como localizar la                 memoria.
 por cada referencia a         rutina de biblioteca          Si la rutina no esta
la rutina de biblioteca        apropiada residente            en memoria, el
                                   en memoria.              programa la carga en
                                                                  la misma.




En cualquier caso el STUB se sustituye a si mismo con la dirección de la rutina, y
                               ejecuta la rutina.
Se puede cargar en memoria más de una versión de una biblioteca, y cada
programa utiliza su información de versión para decidir cual copia utilizara.
Los cambios menores retienen el mismo numero de versión, en tanto los
cambios     mayores     incrementan       el   numero     de     la   misma.
Así solo los programas que se compilan con la nueva versión de biblioteca se
ven afectados por los cambios incompatibles incorporados en ella, los otros
programas que se enlazaron antes de que se instalara la nueva biblioteca
continuaran usando la versión anterior.




           Este sistema también se conoce como BIBLIOTECAS COMPARTIDAS.

           El enlace dinámico generalmente requiere ayuda del sistema operativo.
MARIO VINICIO NAULA GUZNAY




9.1.5 SUPERPOSICIONES (OVERLAYS)
Mantener en                          Ensamblador
   memoria solo                         de dos pasos
      aquellas
  instrucciones y
       datos .




                    Overlays
                               Paso 1         70K
  Definimos:
                               Paso 2         80K
Superposición A
                               Tabla de S.    20K
Superposición B
                               Rutinas C.     30K
Tabla de
                    Símbolos          20K




                    Rutinas
                   Comunes            30K



                     Manejador de
                    Superposiciones   10K


70K                                                  80K


      Paso 1                                Paso 2
                Superposiciones para un
               ensamblador de dos pasos
La construcción
                        de
                 Superposiciones
                     implica
                  algoritmos de
                 relocalización y
                     enlace.




                 Microcomp.
   Sólo           Cant. Lim.            No
  observa                           requieren
   más          Memoria física       soporte
operaciones   Carecen de soporte     especial.
                    de H.




                  Pueden ser
                 implementa
                   das por el
                    usuario.
Capitulo 9   administración del almacenamiento 23-01-2012

Más contenido relacionado

La actualidad más candente

Administración de la memoria
Administración de la memoriaAdministración de la memoria
Administración de la memoriaBeatriz Pérez
 
C2 administracion procesador_ss00_mododecompatibilidad_
C2 administracion procesador_ss00_mododecompatibilidad_C2 administracion procesador_ss00_mododecompatibilidad_
C2 administracion procesador_ss00_mododecompatibilidad_Julio Pari
 
tercera unidad :3
tercera unidad :3tercera unidad :3
tercera unidad :3irisdelc
 
SO - Administración de Memoria
SO - Administración de MemoriaSO - Administración de Memoria
SO - Administración de MemoriaLuis Eraso
 
Gestion De Memoria
Gestion De MemoriaGestion De Memoria
Gestion De Memoriaguestaff6d2
 
Trabajo de gestión de la memoria principal.
Trabajo de gestión de la memoria principal.Trabajo de gestión de la memoria principal.
Trabajo de gestión de la memoria principal.Juliannys Requena
 
S.O Una Visión Aplicada - Capitulo IV
S.O Una Visión Aplicada - Capitulo IVS.O Una Visión Aplicada - Capitulo IV
S.O Una Visión Aplicada - Capitulo IVOscar Eduardo
 
administración de memoria y archivos
administración de memoria y archivosadministración de memoria y archivos
administración de memoria y archivosSamir Barrios
 
Gestion de-memoria-copia
Gestion de-memoria-copiaGestion de-memoria-copia
Gestion de-memoria-copiaBlanca Bailon
 
C6 adm mermoria_real_ssoo_mododecompatibilidad_
C6 adm mermoria_real_ssoo_mododecompatibilidad_C6 adm mermoria_real_ssoo_mododecompatibilidad_
C6 adm mermoria_real_ssoo_mododecompatibilidad_Julio Pari
 

La actualidad más candente (20)

Administración de la memoria
Administración de la memoriaAdministración de la memoria
Administración de la memoria
 
ADMINISTRACION DE MEMORIA
ADMINISTRACION DE MEMORIAADMINISTRACION DE MEMORIA
ADMINISTRACION DE MEMORIA
 
Capitulo3
Capitulo3Capitulo3
Capitulo3
 
Tecnicas de Administracion de Memoria
Tecnicas de Administracion de MemoriaTecnicas de Administracion de Memoria
Tecnicas de Administracion de Memoria
 
C2 administracion procesador_ss00_mododecompatibilidad_
C2 administracion procesador_ss00_mododecompatibilidad_C2 administracion procesador_ss00_mododecompatibilidad_
C2 administracion procesador_ss00_mododecompatibilidad_
 
tercera unidad :3
tercera unidad :3tercera unidad :3
tercera unidad :3
 
SO - Administración de Memoria
SO - Administración de MemoriaSO - Administración de Memoria
SO - Administración de Memoria
 
Gestion De Memoria
Gestion De MemoriaGestion De Memoria
Gestion De Memoria
 
Trabajo de gestión de la memoria principal.
Trabajo de gestión de la memoria principal.Trabajo de gestión de la memoria principal.
Trabajo de gestión de la memoria principal.
 
S.O Una Visión Aplicada - Capitulo IV
S.O Una Visión Aplicada - Capitulo IVS.O Una Visión Aplicada - Capitulo IV
S.O Una Visión Aplicada - Capitulo IV
 
Gestión de memoria
Gestión de memoriaGestión de memoria
Gestión de memoria
 
Gestion de Memoria
Gestion de MemoriaGestion de Memoria
Gestion de Memoria
 
administración de memoria y archivos
administración de memoria y archivosadministración de memoria y archivos
administración de memoria y archivos
 
Gestion-de-memoria
 Gestion-de-memoria Gestion-de-memoria
Gestion-de-memoria
 
Gestion de-memoria-copia
Gestion de-memoria-copiaGestion de-memoria-copia
Gestion de-memoria-copia
 
Administracion de Memoria
Administracion de MemoriaAdministracion de Memoria
Administracion de Memoria
 
Gestion de memoria
Gestion de memoriaGestion de memoria
Gestion de memoria
 
Administración de memoria
Administración de memoriaAdministración de memoria
Administración de memoria
 
C6 adm mermoria_real_ssoo_mododecompatibilidad_
C6 adm mermoria_real_ssoo_mododecompatibilidad_C6 adm mermoria_real_ssoo_mododecompatibilidad_
C6 adm mermoria_real_ssoo_mododecompatibilidad_
 
Tc2 paso3
Tc2 paso3Tc2 paso3
Tc2 paso3
 

Similar a Capitulo 9 administración del almacenamiento 23-01-2012

Gestion de Memoria
Gestion de MemoriaGestion de Memoria
Gestion de Memoriajhoax
 
Clase 8 de sio administracion de la memoria
Clase 8 de sio administracion de la memoriaClase 8 de sio administracion de la memoria
Clase 8 de sio administracion de la memoriaDonelly Ramos
 
Grupo1 Hhh
Grupo1 HhhGrupo1 Hhh
Grupo1 Hhhbetzi.15
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas OperativosJammil Ramos
 
Organizacion del Computador
Organizacion del ComputadorOrganizacion del Computador
Organizacion del ComputadorG Hoyos A
 
Gestión de Memoria.
Gestión de Memoria.Gestión de Memoria.
Gestión de Memoria.CinthiaLpez12
 
Actividad 3
Actividad 3Actividad 3
Actividad 3Lenidav
 
Estructura de los Sistemas Operativos 2
 Estructura de los Sistemas Operativos 2 Estructura de los Sistemas Operativos 2
Estructura de los Sistemas Operativos 2G Hoyos A
 
Trabajo grupal sistemas operativos nº 2 capítulo 3 06 11-2011
Trabajo grupal sistemas operativos nº 2 capítulo 3  06 11-2011Trabajo grupal sistemas operativos nº 2 capítulo 3  06 11-2011
Trabajo grupal sistemas operativos nº 2 capítulo 3 06 11-2011ecuatareas
 
Actividad 3
Actividad 3Actividad 3
Actividad 3Lenidav
 
trabajo de redes
trabajo de redestrabajo de redes
trabajo de redesByron Vasco
 

Similar a Capitulo 9 administración del almacenamiento 23-01-2012 (20)

Gestion de Memoria
Gestion de MemoriaGestion de Memoria
Gestion de Memoria
 
Clase 8 de sio administracion de la memoria
Clase 8 de sio administracion de la memoriaClase 8 de sio administracion de la memoria
Clase 8 de sio administracion de la memoria
 
Grupo1 Hhh
Grupo1 HhhGrupo1 Hhh
Grupo1 Hhh
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Actividad 3
Actividad 3 Actividad 3
Actividad 3
 
Actividad 3 naye
Actividad 3 nayeActividad 3 naye
Actividad 3 naye
 
Organizacion del Computador
Organizacion del ComputadorOrganizacion del Computador
Organizacion del Computador
 
Gestión de Memoria.
Gestión de Memoria.Gestión de Memoria.
Gestión de Memoria.
 
Actividad 3
Actividad 3Actividad 3
Actividad 3
 
Presentación1
Presentación1Presentación1
Presentación1
 
Trabajo tema 6 memoria
Trabajo tema 6 memoriaTrabajo tema 6 memoria
Trabajo tema 6 memoria
 
Nadia ultimo taller
Nadia ultimo tallerNadia ultimo taller
Nadia ultimo taller
 
Actividad 3
Actividad 3Actividad 3
Actividad 3
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Estructura de los Sistemas Operativos 2
 Estructura de los Sistemas Operativos 2 Estructura de los Sistemas Operativos 2
Estructura de los Sistemas Operativos 2
 
Trabajo grupal sistemas operativos nº 2 capítulo 3 06 11-2011
Trabajo grupal sistemas operativos nº 2 capítulo 3  06 11-2011Trabajo grupal sistemas operativos nº 2 capítulo 3  06 11-2011
Trabajo grupal sistemas operativos nº 2 capítulo 3 06 11-2011
 
Actividad 3
Actividad 3Actividad 3
Actividad 3
 
Redes
RedesRedes
Redes
 
trabajo de redes
trabajo de redestrabajo de redes
trabajo de redes
 
Unidad 4
Unidad 4Unidad 4
Unidad 4
 

Más de ecuatareas

Capitulo 4 grupo 4
Capitulo 4 grupo 4Capitulo 4 grupo 4
Capitulo 4 grupo 4ecuatareas
 
Capitulo 4 grupo 1
Capitulo 4 grupo 1Capitulo 4 grupo 1
Capitulo 4 grupo 1ecuatareas
 
Capitulo 4 grupo 2
Capitulo 4 grupo 2Capitulo 4 grupo 2
Capitulo 4 grupo 2ecuatareas
 
Capítulo 7 sincronización de procesos 09 01-2012
Capítulo 7 sincronización de procesos 09 01-2012Capítulo 7 sincronización de procesos 09 01-2012
Capítulo 7 sincronización de procesos 09 01-2012ecuatareas
 
Cap1 la vida en un mundo de redes
 Cap1 la vida en un mundo de redes Cap1 la vida en un mundo de redes
Cap1 la vida en un mundo de redesecuatareas
 
Trabajo de maquinas electricas
Trabajo de maquinas electricasTrabajo de maquinas electricas
Trabajo de maquinas electricasecuatareas
 
Trabajo grupal sistema operativo capítulo 2 26 10-2011
Trabajo grupal sistema operativo capítulo 2   26 10-2011Trabajo grupal sistema operativo capítulo 2   26 10-2011
Trabajo grupal sistema operativo capítulo 2 26 10-2011ecuatareas
 

Más de ecuatareas (8)

Evolucion sd
Evolucion sdEvolucion sd
Evolucion sd
 
Capitulo 4 grupo 4
Capitulo 4 grupo 4Capitulo 4 grupo 4
Capitulo 4 grupo 4
 
Capitulo 4 grupo 1
Capitulo 4 grupo 1Capitulo 4 grupo 1
Capitulo 4 grupo 1
 
Capitulo 4 grupo 2
Capitulo 4 grupo 2Capitulo 4 grupo 2
Capitulo 4 grupo 2
 
Capítulo 7 sincronización de procesos 09 01-2012
Capítulo 7 sincronización de procesos 09 01-2012Capítulo 7 sincronización de procesos 09 01-2012
Capítulo 7 sincronización de procesos 09 01-2012
 
Cap1 la vida en un mundo de redes
 Cap1 la vida en un mundo de redes Cap1 la vida en un mundo de redes
Cap1 la vida en un mundo de redes
 
Trabajo de maquinas electricas
Trabajo de maquinas electricasTrabajo de maquinas electricas
Trabajo de maquinas electricas
 
Trabajo grupal sistema operativo capítulo 2 26 10-2011
Trabajo grupal sistema operativo capítulo 2   26 10-2011Trabajo grupal sistema operativo capítulo 2   26 10-2011
Trabajo grupal sistema operativo capítulo 2 26 10-2011
 

Capitulo 9 administración del almacenamiento 23-01-2012

  • 1. QUINTO NIVEL “B”
  • 2. Facultad de Ciencias Informáticas Misión Visión  Formar profesionales  Ser una unidad con alto eficientes en el campo de las prestigio académico con Ciencias Informáticas, que eficiencia, transparencia y con honestidad, equidad y calidad en la educación, solidaridad, den respuesta a organizada en sus las necesidades de la actividades, protagonista del sociedad elevando su nivel de proceso regional y nacional. vida.
  • 3. REFLEXIÓN En ocasiones tendrás que ayudar a los demás y otras veces recibirás ayuda. Pero entiende y aplica bien la palabra ayuda, pues es fácil crear vicios de tanto “ayudar” o caer en ellos de tanto recibir “ayuda”.
  • 4. Jonathan Oswaldo Urdánigo Vinces PARTE 3 ADMINISTRACIÓN DEL ALMACENAMIENTO
  • 5. ADMINISTRACIÓN DEL ALMACENAMIENTO Para mejorar la Debido a que la El propósito principal utilización de los memoria principal de un sistema de CPU como velocidad resulta pequeña para computo es ejecutar de respuestas a los acomodar todos los programas, estos usuario , la datos y programas de juntos con los datos, computadora debe manera permanente deben estar en la mantener varios el sistema de memoria principal procesos en la computo debe durante la memoria. proporcionar un ejecución. almacenamiento secundario.
  • 6. Leidy marianela macías macías CAPÍTULO 9 ADMINISTRACIÓN DE LA MEMORIA 9.1 ANTECEDENTES
  • 7. ADMINISTRACIÓN DE LA MEMORIA Los algoritmos de administración de memoria varían desde: Un enfoque A nivel de Hasta estrategias Y segmentación primitivo máquina de paginación Cada enfoque tiene sus propias ventajas y desventajas. La selección de un método de administración de la memoria para un sistema específico depende de muchos factores. Especialmente del diseño del hardware del sistema MUCHOS ALGORITMOS REQUIEREN SOPORTE DEL HARDWARE
  • 8. ADMINISTRACIÓN DE LA MEMORIA 9.1 ANTECEDENTES La memoria es un componente central para la operación de un sistema de cómputo moderno, la cual consiste en un gran arreglo de palabras o bytes, cada uno con su propia dirección. La CPU acude por instrucciones a la memoria de acuerdo con el valor del contador de programa. Estas instrucciones pueden originar, a su vez, carga y almacenamiento de y hacia direcciones específicas de memoria Contador de instrucción, índice, indirección, direcciones literales La unidad de memoria solo ve un flujo de direcciones de memoria; no sabe cómo se generan ni lo que son. Instrucciones o Datos Entonces, podemos ignorar cómo un programa genera una dirección de memoria. Ya que sólo nos interesa la secuencia de direcciones de memoria generadas por el programa que está en ejecución.
  • 9. CARLOS JAVIER SORNOZA VÁSQUEZ 9.1.1 VINCULACIÓN DE DIRECCIONES
  • 10. 9.1.1 VINCULACIÓN DE DIRECCIONES Es un conjunto de procesos que están en el disco y esperando ser llevados a la memoria para su ejecución. PROCESO PROCESO PROCESO PROCESO Las direcciones pueden representarse de diferentes formas durante estos pasos, que por lo general son simbólicas ..
  • 11. 9.1.1 VINCULACIÓN DE DIRECCIONES Procesamiento de pasos múltiples de un programa de usuario Progra ma Si se conoce al momento de la fuente compilación en donde residirá el proceso en la memoria, entonces se Compilador o Tiempo de compilación puede generar un código absoluto. ensamblador Otros módul Módulo Objeto os objeto Si no se conoce al momento de la compilación en donde residirá el proceso en la memoria, entonces el Editor de enlace compilador debe generar un código relocalizable Biblioteca del Módulo sistema de Tiempo de carga Carga Si el proceso puede moverse durante su ejecucion de un segmento de Cargador memoria a otro, entonces la Biblioteca vinculacion debe ser demorada hasta del Imagen de Tiempo de ejecución el momento de ejecución. sistema memoria binaria (tiempo de corrida) cargada en memoria dinamica mente
  • 12. KARINA JESSENIA HIDROVO AVELLÁN 9.1.2 ESPACIO DE DIRECCIONES LÓGICAS CONTRA FÍSICAS
  • 13. Los métodos de vinculación de direcciones en el momento de la compilación y en el de la carga dan por resultado un ambiente en donde las direcciones lógicas y físicas son las mismas. El esquema de vinculación de direcciones da por resultado un ambiente en el que las direcciones lógicas y físicas difieren.
  • 14. El conjunto de todas las direcciones lógicas generadas El conjunto de por un programa todas las Por lo tanto, en el es un espacio de direcciones físicas esquema de direcciones correspondientes vinculación de lógicas. a estas direcciones en el direcciones tiempo de lógicas es el ejecución, los espacio de espacios de direcciones direcciones físicas. lógicas y físicas difieren.
  • 15. El mapeo en tiempo de ejecución de direcciones virtuales (direcciones lógicas) en direcciones físicas es realizado por la unidad de administración de memoria(memory-management-unit, MMU) que es un dispositivo de hardware. Realizaremos este mapeo con un esquema simple de MMU, que es una generalización del esquema de registros base. Como podemos observar en la figura este método requiere un soporte de hardware. El registro base ahora se registro de llama registro de relocalización, el relocalización valor en este registro se agrega a cada 14000 dirección generada por un proceso de dirección dirección usuario en el momento en que se envía lógica física CPU + memoria a la memoria. 346 14346 Por ejemplo, si la base se encuentra en 14000, el intento por parte del usuario de direccionar la localidad 0 se MMU relocaliza dinámicamente en la localidad 14000; un acceso a la Relocalización dinámica empleando un registro de relocalización localidad 346 se mapea en la localidad 14346.
  • 16. El programa de usuario nunca ve las direcciones físicas reales. El programa puede crear un apuntador a la localidad 346, almacenarlo en memoria, manipularlo, compararlo con otras direcciones (todo ello como el número 346). Sólo cuando este número se utiliza como una dirección de memoria se relocaliza con relación al registro base. El programa de usuario maneja direcciones lógicas. El hardware de mapeo de memoria convierte las direcciones lógicas en direcciones físicas antes de ser utilizadas.
  • 17. JEAN CARLOS MACÍAS ALCIVAR 9.1.3 CARGA DINÁMICA
  • 18. 9.1.3 CARGA DINÁMICA El tamaño de un proceso está limitado por el tamaño de la memoria física. Para conseguir una mejor utilización del espacio de memoria, podemos emplear la carga dinámica. Con la carga dinámica una rutina no se carga sino hasta que sea llamada. Todas las rutinas se mantienen en el disco en un formato de carga re localizable. El programa principal se carga en la memoria y se ejecuta.
  • 20. JONATHAN ZAMORA 9.1.4 ENLACE DINÁMICO Y BIBLIOTECAS COMPARTIDAS
  • 21. 9.1.4 ENLACE DINÁMICO Y BIBLIOTECAS COMPARTIDAS El concepto de enlaces dinámicos es similar al de carga dinámica . En lugar de posponer la carga es el enlace el que se pospone. El enlace dinámico incluye un stub en la Característica usada con bibliotecas del imagen por cada referencia a la rutina sistema. de la biblioteca. El stub es un pequeño código que indica como localizar la rutina de biblioteca apropiada en memoria. El stub verifica si la rutina ya se El stub se sustituye así mismo con la encuentra en memoria. dirección de la rutina y ejecuta la rutina. Una biblioteca puede ser reemplazada por una nueva versión, y los programas que hacen referencia a la biblioteca usaran la nueva versión. La información de la nueva versión se incluye tanto en el programa como en la biblioteca.
  • 22. JOSÉ GABRIEL MOREIRA VÉLEZ 9.1.5 SUPERPOSICIONES (OVERLAYS)
  • 23. 9.1.5 S La idea de las superposiciones U consiste en mantener en P memoria solo aquellas E instrucciones y datos que se ( R O necesitan en un momento dado. V P E O R S L I A C Y I S Cuando se necesitan otras O ) N instrucciones, éstas se cargan en E el espacio que estaba ocupado S previamente por las instrucciones que ya no se necesitan.
  • 24. CÉSAR STALIN VILLAVICENCIO PALACIOS YORDY EDWIN ALMEIDA LOOR 9.2 INTERCAMBIO (SWAPPING)
  • 25. 9.2 INTERCAMBIO (SWAPPING) Un proceso necesita estar en memoria para ser ejecutado. Sin embargo, un proceso puede intercambiarse temporalmente de la memoria a un almacén de respaldo.
  • 26. 9.2 INTERCAMBIO (SWAPPING) Intercambio de dos procesos utilizando un disco como almacén de respaldo. Sistema Operativo Intercambio hacia 1 Proceso afuera Intercambio 2 hacia Proceso adentro Espacio de usuario Almacén de respaldo Mientras tanto, el planificador de la CPU asignará una porción de tiempo a algún otro proceso en memoria.
  • 27. 9.2 INTERCAMBIO (SWAPPING) Una variante de esta política de intercambio se emplea para los algoritmos de planificación con base de prioridades. Si llega un proceso de mayor prioridad y quiere servicio, el administrador de la memoria puede intercambiar fuera de la memoria el proceso de menor prioridad de manera que pueda cargar u ejecutar el proceso de mayor prioridad Cuando termine el proceso de mayor prioridad , el proceso de menor prioridad puede ser intercambiado de regreso a la memoria y continuar. Esta variante del intercambio también se conoce como desenrollar, enrollar.
  • 28. 9.2 INTERCAMBIO (SWAPPING) • Debe quedar claro que el tiempo de conmutación de contexto en un sistema de intercambio es de tipo bastante elevado • Para la utilización eficiente de la CPU queremos que el tiempo de ejecución para cada proceso sea largo con relación al tiempo de intercambio • El tiempo de transferencia es directamente proporcional a la cantidad de memoria intercambiada • Existen otras relaciones de intercambio
  • 29. HENRY ANDRÉS MENDOZA JAQUELINE MARIBEL INTRIAGO MACÍAS 9.3 ASIGNACIÓN DE MEMORIA CONTIGUA
  • 30. Asignación de memoria contigua Con los registros de relocalización y limite, cada dirección lógica debe ser menor que el limite; la MMU mapea dinámicamente la dirección lógica agregando el valor del registro de relocalización y esta dirección mapeada se envía a la memoria REGISTRO REGISTRO DE LIMITE RELOCALIZACION SI MEMORIA CPU < + Dirección lógica Dirección física NO trampa (trap);error de direccionamiento Cuando el planificador de la CPU selecciona un proceso para su ejecución, el despachador caga los registros de relocalización y limites con los valores correctos como parte de la comunicación en contexto.
  • 31. Asignación de memoria contigua Uno de los métodos mas sencillos es dividir la memoria en particiones de tamaño fijo. Cada partición puede contener un proceso. De esta forma la multiprogramación queda limitado por el numero de particiones El sistema operativo contiene una tabla que indica que partes necesita Cuando llega un proceso y de la memoria,están libresun cuales lo memoria buscamos y bloque suficientemente grande para este ocupadas. Inicialmente toda la memoria esta disponible para los le proceso, si encontramos alguno asignamos tanta memoriaes procesos de usuario, que como consideradoel resto queda disponible necesite y como hueco que es un para satisfacer solicitudes futuras espacio grande de memoria disponible.
  • 32. 9.3 ASIGNACIÓN DE MEMORIA CONTIGUA Esto es un caso particular al del problema de asignación dinámica de almacenamiento que consiste en como satisfacer una solicitud de tamaño n a partir de una lista de huecos libres. Existen varias soluciones a esto: Se hace una búsqueda en el conjunto de huecos para determinar cual es el mejor hueco para asignar. Las estrategias del primer ajuste, el mejor ajuste y el peor ajuste son las que se emplean comúnmente para seleccionar huecos libre del conjunto de huecos disponibles.
  • 33. 9.3 ASIGNACIÓN DE MEMORIA CONTIGUA Primer ajuste: asigna el primer hueco que sea suficientemente grande. La búsqueda puede comenzar ya sea al principio del conjunto de huecos o donde termino la búsqueda previa de primer ajuste. Mejor ajuste: asigna el hueco mas pequeño que sea suficientemente grande. Debemos hacer la búsqueda en toda la lista o puede que la lista ya este ordenada por su tamaño. Peor ajuste: asigna el hueco mas grande. Se hace la búsqueda de toda la lista. Se ha demostrado que tanto el primer ajuste como el mejor ajuste son mejores que el peor ajuste con respecto a su reducción de tiempo y a su utilización de almacenamiento.
  • 34. 9.3 ASIGNACIÓN DE MEMORIA CONTIGUA Los algoritmos que se acaban de presentar de una fragmentación externa. La fragmentación externa ocurre cuando existe suficiente espacio de memoria total para satisfacer una solicitud, pero no es contigua; el almacenamiento se fragmenta en un gran numero de huecos pequeños. Este problema de fragmentación puede ser grave. En el peor de los casos podría tener un bloque de memoria libre entre cada procesos. Una solución al problema de la fragmentación es la compactación. La meta es reorganizar los contenidos de la memoria para colocar junta toda la memoria libre en un bloque grande. Otra solución es permitir que el espacio de direcciones lógicas de un proceso no sea contiguo para dejar que a un proceso se le asigne memoria física siempre que esta este disponible
  • 35. GEMA PATRICIA CALDERÓN PAREDES JESÚS ALBERTO CEDEÑO NAVIA MARÍA FERNANDA ARÉVALO PINCAY 9.4 PAGINACIÓN 9.4.1 MÉTODO BÁSICO
  • 36. 9.4.1 MÉTODO BÁSICO La memoria física se La memoria lógica se descompone en: descompone en: Su tamaño es definido por el hardware. Bloques de tamaño fijo Bloques del mismo denominados marcos tamaño denominados paginas Cuando se ejecuta un proceso sus paginas se cargan desde el almacén de respaldo en cualquier marco de memoria disponible.
  • 37. 9.4.1 MÉTODO BÁSICO Cada dirección generada por la CPU se divide en dos partes: Numero de pagina Desplazamiento de (p) pagina (d) Numero de Pagina Desplazamiento de Pagina p d m-n n
  • 38. 9.4.1 MÉTODO BÁSICO 0 EJEMPLO DE PAGINACIÓN PARA UNA MEMORIA DE 32 BYTES CON PAGINAS DE 4 BYTES. 0 a 5 4 i 0 j 1 b 1 6 k l 2 c 2 1 8 m 3 d 3 n 2 o 4 e p 5 f 12 Tabla de Paginas 6 g 7 h 16 8 i 9 j 10 k 20 a b 11 l c d 12 m 24 e f 13 n g 14 o h 15 p 28 Memoria lógica Memoria física
  • 39. 9.4.1 MÉTODO BÁSICO Cuando utilizamos La Paginación Pero sin embargo un esquema de es la forma de podemos tener paginación, no cierta relocalización tenemos fragmentación dinámica fragmentación interna externa Si los Ya que el ultimo requerimientos de marco asignado memoria de un tal vez no este proceso no llegan completamente a caer en limites lleno. de pagina.
  • 40. 9.4.1 MÉTODO BÁSICO Por ejemplo, si las paginas son de 2048 bytes, un proceso de 72.766 bytes necesita 35 paginas mas 1086 bytes. Se le asignara 36 marcos, dando por resultado una fragmentación interna de 2048-1086-962 bytes Si el tamaño del Existe un trabajo proceso es adicional involucrado independiente del Actualmente, las en cada entrada de la tamaño de la pagina, paginas tienen tabla de paginas, y esperemos que la típicamente un este se reduce a fragmentación tamaño de entre 2 y 8 medida que aumenta interna sea un KB. el tamaño de las promedio de media paginas. pagina de proceso.
  • 41. 9.4.1 MÉTODO BÁSICO El sistema Operativo Esta copia se utiliza para mantiene una copia de la traducir las direcciones tabla de paginas para lógicas a direcciones cada proceso. físicas Esta define la tabla de La copia también es pagina del Hardware cuando se va a asignar la utilizada por el CPU a un proceso despachador de la CPU La paginación incrementa de esta forma el tiempo de comunicación de contexto
  • 42. 9.4.1 MÉTODO BÁSICO Esta información se mantiene generalmente en una estructura de datos denominada Tiene una entrada Que marcos se tabla de marcos por cada marco asignan, cuales físico de pagina, marcos serán indicando si el disponibles, cuantos ultimo esta libre o si marcos en total hay, esta asignado y , si etc. esta asignado, a qué pagina de qué proceso o procesos Debido a que el sistema operativo esta administrando la memoria física debe estar consiente de :
  • 43. 9.4.1 MÉTODO BÁSICO El sistema Operativo Esta copia se utiliza mantiene una copia de la para traducir las tabla de paginas para direcciones lógicas a cada proceso. direcciones físicas Esta define la tabla de La copia también es pagina del Hardware utilizada por el cuando se va a asignar despachador de la CPU la CPU a un proceso La paginación incrementa de esta forma el tiempo de comunicación de contexto
  • 44. JESSENIA CEVALLOS 9.4.2 ESTRUCTURA DE LA TABLA DE PÁGINAS 9.4.1.2 SOPORTE DE HARDWARE
  • 45. Estructura de la tabla de páginas Un apuntador de la tabla de paginas se almacena con los demás valores de registros en el boque de control de procesos Soporte de hardware Protección
  • 46. Soporte de hardware La tabla se implementa como un conjunto de registros La PDP-11 de DEC dedicados, estos deberán construirse con una lógica de muy alta velocidad para que la traducción de direcciones de pagina sea eficiente. El uso de los registros para la tabla de paginas es En el caso de estas maquinas satisfactorio si la tabla es el empleo de registros rápidos razonablemente pequeña(256 para implementar la tabla de entradas). paginas no es factible, dicha tabla se mantiene en la memoria principal y un registro base de tabla de paginas apunta a ella
  • 47. Dirección lógica CPU p d Numero de Numero de Dirección F0000..0000 pagina marco Acierto de física TLB l d F1111…..1111 TLB -------------- P -------------- Fallo de TLB Memoria f física -------------- -------------- Tabla de paginas
  • 48. ANDRÉS ANTONIO DAZA ESPINALEZ XAVIER FERNANDO CEDEÑO MOREIRA 9.4.2.2 PROTECCIÓN
  • 49. 9.4.2.2 PROTECCIÓN La protección de la memoria en un ambiente de paginación se la realiza mediante de los bits de protección. Un bit puede definir que una página sea de lectura y escritura o solo de Cada referencia a la memoria lectura. pasa por una tabla de páginas para encontrar el número de marco correcto, al mismo tiempo calcula la dirección física. Los bits de protección pueden examinarse para verificar que no se esté escribiendo en una página de solo lectura, al intentar esto se genera una trampa de hardware q se comunica con el sistema operativo.
  • 50. 9.4.2.2 PROTECCIÓN Se puede crear un hardware para proporcionar protección de solo lectura, de lectura y escritura, o bien se podría usar bits de protección por cada clase de acceso. Generalmente se agrega un bit más a cada entrada de la tabla de páginas esto genera un bit de validez- invalidez
  • 51. 9.4.2.2 PROTECCIÓN Cuando el valor de este bit se fija en «válido» , Si el valor del bit se fija en indica que la página es «invalido» indica que la legal o valida página no se encuentra en el espacio de direcciones lógicas del proceso Raras veces un proceso utiliza todo su rango de Algunos sistemas proporcionan direcciones, de hecho hardware, bajo la forma de muchos procesos utilizan registro de longitud de tabla, para solo pequeña fracción del indicar el tamaño de dicha tabla de espacio de direcciones que páginas. tienen disponible. Este valor se compara contra cada dirección lógica para verificar que la dirección se encuentra en el rango valido para el proceso. Si no se pasa esta prueba, se ocasiona una trampa de error al sistema operativo.
  • 53. DIEGO AVILEZ MACÍAS 9.4.3. PAGINACIÓN CON NIVELES MÚLTIPLES
  • 54. 9.4.3. PAGINACIÓN CON NIVELES MÚLTIPLES La arquitectura VAX soporta paginación con dos niveles. La VAX es una maquina de 32 bits con un tamaño de pagina de 512 bytes. En el cual el espacio de direcciones lógicas de un proceso se divide en cuatro secciones iguales, cada una de las cuales consta de 230 bytes. Cada sección representa una parte diferente del espacio de direcciones lógicas de un proceso.
  • 55. 9.4.3. PAGINACIÓN CON NIVELES MÚLTIPLES Los primeros 2 bits de orden alto de la dirección lógica designan la sesión apropiada. Los siguientes 21 bits presentan el numero de pagina . Los 9 bits finales representan un deslizamiento en la pagina deseada. Al dividir la tabla de paginas de esta forma , el sistema operativo puede dejar particiones no utilizadas hasta que otro proceso las necesite.
  • 56. 9.4.3. PAGINACIÓN CON NIVELES MÚLTIPLES ES DECIR : Que para un sistemas de 64 bits ya no es apropiado usar este modelo en dos niveles sino que debe implementar mas niveles haciendo mas trozos las tablas de pagina y así abarcar con la arquitectura que se maneja el sistema operativo.
  • 57. Doris Elizabeth Solórzano Moreira 9.4.4 TABLA DE PÁGINAS INVERTIDA
  • 58. 9.4.4. TABLA DE PÁGINAS INVERTIDA TABLA DE PAGINA INVERTIDA Es Una tabla de paginación tiene una entrada por cada pagina que el proceso esta utilizando o una ranura por cada dirección virtual independiente de la validez de esta ultima Sintaxis Id-proceso , numero de pagina (hace a la referencia a la memoria, parte de la dirección virtual ) Id-proceso , numero de pagina , se presenta en el subsistema de la memoria
  • 59. 9.4.4. TABLA DE PÁGINAS INVERTIDA Para poder manipular la memoria de hiperpaginas coger los datos o rutas de memoria para ahorra espacios . La cpu de paginación ubica la dirección de la memoria donde se encuentra… Pasa primeramente por la dirección lógica, dirección física y por ultimo por la memoria física
  • 60. PEDRO ANDRES MUÑOZ CASTRO 9.4.5. PÁGINAS COMPARTIDAS
  • 61. 9.4.5. PÁGINAS COMPARTIDAS • Considerando un sistema que soporta 40 usuarios cada uno de los cuales ejecuta un editor de texto. • Si el editor de texto consta en 150k de código y 50k de espacio para datos se necesitan 8000k para soportar a los 40 usuarios • El código Reentrante es un código que no puede modificarse así mismo • Por lo tanto dos o mas procesos pueden ejecutar el mismo código al mismo tiempo • Cada proceso tiene su propia copia de registros y almacenamiento de datos para mantener los datos para la ejecución del proceso. • Solo se necesita mantener en memoria física una copia del editor.
  • 63. MARCO MERCHÁN 9.5 SEGMENTACIÓN 9.5.1 MÉTODO BÁSICO
  • 64. Un aspecto importante es la La memoria es vista como administración de la un conjunto de segmentos memoria es la de tamaño variable paginación. desordenadamente. La segmentación es un Subrutina pila esquema de administración de Tabla de memoria. símbolos sqrt Un espacio de direcciones es un conjunto de Programa segmentos. principal Cada segmento tiene un nombre y longitud Espacio de direcciones lógicas
  • 65. RAFAEL ANDRÉ BASURTO ZAMBRANO 9.5.2 HARDWARE
  • 66. 9.5.2 HARDWARE Los usuarios ahora pueden hacer referencia a los objetos en el programa mediante una dirección bidimensional. La física real sigue siendo, por supuesto, una secuencia unidimensional de bytes. Este mapeo es efectuado por una tabla de segmentos. Cada entrada de segmentos tiene una base de segmentos y un límite de segmento.
  • 67. 9.5.2 HARDWARE • El número de segmentos se • El desplazamiento de la utiliza como un índice en la dirección lógica debe estar tabla de segmentos. entre 0 y el límite de segmento Un número de Un desplazamiento segmentos en dicho segmento. • El empleo de una tabla de • De no ser así se genera una trampa al sistema operativo. segmentos se ilustra en una • Si el desplazamiento es legal se agrega dirección lógica y consta de a la base del segmento para producir la dos partes. dirección en la memoria física de byte deseado. Caso Segmento. contario
  • 68. 9.5.2 HARDWARE Ejemplo A) El sementó 2 tiene 400 bytes de longitud y comienza en la localidad 4300 con una referencia de bytes 53 el segmento 2 se mapea en la longitud 4300+53=4353
  • 69. MARCOS ANTONIO MENÉNDEZ ZAMBRANO 9.5.3 PROTECCIÓN Y COMPARTIMIENTO
  • 70. PROTECCIÓN Y COMPARTIMIENTO Asociación de la protección con los segmentos Los segmentos representan una porción del programa definida semánticamente.  Algunos segmentos son instrucciones (Lectura-Ejecución).  Y otros segmentos son datos (Lectura-Escritura). El hardware de mapeo impide un acceso ilegal a la memoria: Escribir en un segmento de solo lectura. Utilizar como dato un segmento de sólo ejecución. Al colocarse un arreglo en un propio segmento el hardware de administración de la memoria verificará que los índices sean legales y no estén fuera del límite del arreglo. Así muchos errores podrán ser detectados a tiempo, para que no ocasionen un daño serio.
  • 71. PROTECCIÓN Y COMPARTIMIENTO Otra ventaja de la segmentación implica la compartición de código o datos. Editor Límite Base Memoria Lógica 43062 Segmento 0 0 25286 43062 Proceso P1 1 4425 68348 Datos1 Editor Tabla de Segmentos Segmento 1 Proceso P1 68348 Datos1 72773 Editor Límite Base 90003 Memoria Lógica Proceso P2 Segmento 0 0 25286 43062 Datos2 98853 1 4425 68348 Datos2 Tabla de Segmentos Segmento 1 Proceso P2
  • 72. INGRID ALEJANDRA CEDEÑO BAILÓN 9.5.4 FRAGMENTACIÓN
  • 73. FRAGMENTACIÓN El planificador de largo plazo Similar a paginación debe encontrar y asignar memoria a todos los Excepto que los segmentos segmentos de un programa son de longitud variable de usuario. ESQUEMA DE PARTICIONES La asignación de memoria es un problema de asignación dinámica de almacenamiento
  • 74. La segmentación puede ocasionar una fragmentación externa si todos los bloques de memoria libre son demasiados pequeños para acomodar a un segmento. EL PROCESO DEBE: Esperar hasta que Hacer uso de la haya disponible compactación para más memoria crear dicho hueco. Si el planificador de la CPU debe esperar por un proceso, debido a la asignación de memoria Recorrer la cola de la CPU buscando un proceso más pequeño y de menor prioridad para su ejecución.
  • 75. ¿Qué tan serio es el problema de fragmentación externa para un esquema de segmentación? En un extremo podemos definir cada proceso fuera un segmento Cada byte podría ser colocado en su propio segmento y reubicarse por separado Se reduce al esquema de pariciones de tamaño variable Elimina completamente la fragmentación externa
  • 76. KAROL ANDREA MANRIQUE VÉLIZ JOSÉ DANIEL MENDOZA LOOR 9.6 SEGMENTACIÓN CON PAGINACIÓN
  • 77. SEGMENTACIÓN CON PAGINACIÓN Microprocesadores más utilizados: • Diseñada en MOTOROL A 68000 espacios de direcciones plano INTEL • Basado en la 80x86 segmentación PENTIU • Basado en la M segmentación • Mezcla de Número máximo de INTEL segmentos: 16KB c/u 4GB paginación y 386 segmentación Tamaño de página: 4KB
  • 78. SEGMENTACIÓN CON PAGINACIÓN Intel 386 El espacio de direcciones lógicas de un proceso se divide en dos particiones. Segunda partición • Consta de 8K segmentos privados • Tabla local de • Contiene de hasta 8K descriptores (TLD): segmentos compartidos ubicación base y • Tabla global de longitud de segmento. descriptores (TGD) Primera partición
  • 79. SEGMENTACIÓN CON PAGINACIÓN La dirección lógica es un par (selector, desplazamiento), en donde el selector es un número de 16 bits. s g p 13 1 2 La máquina tiene seis registros de segmentos, seis registros de 8 bytes de microprograma para contener los descriptores.
  • 80. SEGMENTACION CON PAGINACION LA DIRECCION FISICA EN EL 386 TIENE 32 BITS DE LONGITUD Y SE FORMA ASI REGISTRO DE SEGMENTO APUNTA A  UNA TABLA DE PAGINAS PUEDE CONTENER LA ENTRADA HASTA 1 MILLON DE ENTRADAS APROPIADA EN LA LDT  DEBIDO A ESTO CADA PROCESO PUEDE O GDT NECESITAR HASTA 4 MEGABYTES DE ESPACIO DE DIRECCIONES FISICAS LA INFORMACION DE LA BASE Y LIMITE DEL SEGMENTO SE EMPLEA PARA GENERAR UNA DIRECCION LINEAL. CADA SEGMENTO SE PAGINA Y CADA PAGINA ES DE 4 KBYTES
  • 81. SEGMENTACION CON PAGINACION LIMITE VERIFICA VALIDEZ DE LA DIRECCION VALIDA: VALOR DE DESPLAZAMIENTO NO VALIDA: GENERA UNA FALLA DE SE AGREGA AL VALOR DE LA BASE, QUE MEMORIA RESULTANDO EN UNA DA UNA DIRECCION LINEAL DE 32 BITS, TRAMPA AL SISTEMA OPERATIVO QUE SE TRADUCE A UNA FISICA
  • 82. SEGMENTACION CON PAGINACION LA SOLUCION DEL 386 PARA NO ASIGNAR LA TABLA DE PAGINAS CONTIGUAMENTE A LA MEMORIA PRINCIPAL ES: • USAR UN ESQUEMA DE PAGINACION CON DOS NIVELES • UN NUMERO DE PAGINA QUE CONSTA DE 20 BITS • UN DESPLAZAMIENTO DE PAGINA QUE CONSTA DE 12 BITS. DEBIDO A QUE PAGINAMOS LA TABLA DE PAGINAS, EL NUMERO DE PAGINAS SE DIVIDE A SU VEZ EN: • UN APUNTADOR DE DIRECTORIO DE PAGINAS DE 10 BITS • UN APUNTADOR DE TABLA DE PAGINAS DE 10 BITS NUMERO DE PAGINA DESPLAZAMIENTO DE PAGINA P1 P2 D 10 10 12
  • 84.
  • 85. JENNIFER YAHAIRA INTRIAGO HOLGUÍN PARTE 3 ADMINISTRACIÓN DEL ALMACENAMIENTO
  • 86. PARTE 3 ADMINISTRACIÓN DEL ALMACENAMIENTO Ejecución de programas Los programas deben estar en la memoria principal Almacenamiento De gran capacidad
  • 87. MARYURIE LÓPEZ NAVARRETE CAPÍTULO 9 ADMINISTRACIÓN DE LA MEMORIA 9.1 ANTECEDENTES
  • 88. Los algoritmos de administración de memoria varían desde un enfoque primitivo, a nivel de maquina, hasta estrategias de paginación y segmentación. La selección de un método de administración de la memoria para un sistema especifico depende de muchos factores, especialmente de diseños de hardware del sistema. La memoria es un componente central para la operación de un sistema de computo moderno. Consiste en un gran arreglo de palabras o bytes, cada uno con su propia dirección. La CPU acude por instrucciones a la memoria de acuerdo con el valor del contador de programa.
  • 89. ANA LAURA PONCE 9.1.1 VINCULACIÓN DE DIRECCIONES
  • 90. Vinculación De Direcciones El procedimiento normal consiste en seleccionar uno de los procesos de la cola de entrada y cargarlo en la memoria. A medida que el proceso se ejecuta, accede a las instrucciones y datos de la memoria. Con el tiempo, el proceso termina y su espacio memoria se declara como disponible. La mayoría de los sistema permiten que su proceso de usuario reside en cualquier parte de la memoria física. Aunque el espacio de direcciones de la computadora comienza en 00000, la primera dirección del proceso de usuario no necesita ser 00000.
  • 91. La vinculación de instrucciones y datos con direcciones de memoria puede hacerse en cualquier paso durante el recorrido Tiempo de compilación Si se conoce al momento de la compilación en donde residirá el proceso en la memoria Tiempo de carga Si no se conoce al momento de la compilación en donde residirá el proceso en la memoria Tiempo de ejecución Si el proceso puede moverse durante su ejecución de un segmento de memoria a otro
  • 92. ESTEFANÍA DELGADO CHAVARRÍA 9.1.2 ESPACIO DE DIRECCIONES LÓGICAS CONTRA FÍSICAS
  • 93. LUIS MIGUEL GARCÍA 9.1.3 CARGA DINÁMICA
  • 94. Para conseguir una mejor utilización del espacio de memoria podemos emplear la carga dinámica con la carga dinámica una rutina no se carga sino hasta que es llamada Cuando una rutina necesita llamar a otra rutina , la rutina que hace el llamado verifica primeramente si la otra a sido cargada. La ventaja de la carga dinámica es que la rutina no utilizada nunca se carga. Este método es útil cuando se necesitan grandes cantidades de código para manejar casos que ocurren con poca frecuencia como rutinas de error La carga dinámica no requiere un soporte especial del sistema operativo .
  • 95. DARWIN LEONARDO CHÁVEZ LUCAS 9.1.4 ENLACE DINÁMICO Y BIBLIOTECAS COMPARTIDAS
  • 96. ENLACE DINÁMICO Y BÍBLIOTECAS COMPARTIDAS El concepto de enlace dinámico es similar al de carga dinámica En lugar de posponer la carga hasta el tiempo de ejecución, el enlace es el que se pospone. Esta se utiliza generalmente con bibliotecas del sistema como las bibliotecas de subrutinas de lenguaje. Sin este servicio , todos los programas de un sistema necesitan tener una copia de su biblioteca de lenguaje o por lo menos las rutinas a la que hace referencia el programa. Este requerimiento desperdicia espacio en en disco así como memoria principal.
  • 97. Cuando se ejecuta Este STUB es una este STUB verifica si Con el enlace pequeña pieza de la rutina necesaria ya dinámico se incluye código que indica se encuentra en un STUB en la imagen como localizar la memoria. por cada referencia a rutina de biblioteca Si la rutina no esta la rutina de biblioteca apropiada residente en memoria, el en memoria. programa la carga en la misma. En cualquier caso el STUB se sustituye a si mismo con la dirección de la rutina, y ejecuta la rutina.
  • 98.
  • 99. Se puede cargar en memoria más de una versión de una biblioteca, y cada programa utiliza su información de versión para decidir cual copia utilizara. Los cambios menores retienen el mismo numero de versión, en tanto los cambios mayores incrementan el numero de la misma. Así solo los programas que se compilan con la nueva versión de biblioteca se ven afectados por los cambios incompatibles incorporados en ella, los otros programas que se enlazaron antes de que se instalara la nueva biblioteca continuaran usando la versión anterior. Este sistema también se conoce como BIBLIOTECAS COMPARTIDAS. El enlace dinámico generalmente requiere ayuda del sistema operativo.
  • 100. MARIO VINICIO NAULA GUZNAY 9.1.5 SUPERPOSICIONES (OVERLAYS)
  • 101. Mantener en Ensamblador memoria solo de dos pasos aquellas instrucciones y datos . Overlays Paso 1 70K Definimos: Paso 2 80K Superposición A Tabla de S. 20K Superposición B Rutinas C. 30K
  • 102. Tabla de Símbolos 20K Rutinas Comunes 30K Manejador de Superposiciones 10K 70K 80K Paso 1 Paso 2 Superposiciones para un ensamblador de dos pasos
  • 103. La construcción de Superposiciones implica algoritmos de relocalización y enlace. Microcomp. Sólo Cant. Lim. No observa requieren más Memoria física soporte operaciones Carecen de soporte especial. de H. Pueden ser implementa das por el usuario.