Monografias.com > Computación > General
Descargar Imprimir Comentar Ver trabajos relacionados

Gestión de memoria




Enviado por danielleromero



    Indice
    1.
    Introducción

    2. Aspectos Generales

    3.
    Intercambio

    4. Fragmentación

    5.
    Paginación

    6. Segmentación

    7.
    Segmentación paginada

    8. Conclusiones
    9. Bibliografía

    1.
    Introducción

    La memoria es uno de
    los principales recursos de
    la
    computadora, la cual debe de administrarse con mucho cuidado.
    Aunque actualmente la mayoría de los sistemas de
    cómputo cuentan con una alta capacidad de memoria, de
    igual manera las aplicaciones actuales tienen también
    altos requerimientos de memoria, lo que sigue generando escasez
    de memoria en los sistemas multitarea y/o multiusuario.
    La parte del sistema operativo
    que administra la memoria se
    llama administrador de
    memoria y su labor consiste en llevar un registro de las
    partes de memoria que se estén utilizando y aquellas que
    no, con el fin de asignar espacio en memoria a los procesos
    cuando éstos la necesiten y liberándola cuando
    terminen, así como administrar el intercambio entre la
    memoria principal y el disco en los casos en los que la memoria
    principal no le pueda dar capacidad a todos los procesos que
    tienen necesidad de ella.

    Los sistemas de administración de memoria se pueden
    clasificar en dos tipos: los que desplazan los procesos de la
    memoria principal al disco y viceversa durante la
    ejecución y los que no.
    El propósito principal de una computadora es
    el de ejecutar programas, estos
    programas, junto con la información que accesan deben de estar en
    la memoria principal (al menos parcialmente) durante la
    ejecución.
    Para optimizar el uso del CPU y de la
    memoria, el sistema operativo
    debe de tener varios procesos a la vez en la memoria principal,
    para lo cual dispone de varias opciones de administración
    tanto del procesador como
    de la memoria. La selección
    de uno de ellos depende principalmente del diseño
    del hardware para
    el sistema. A continuación se observarán los puntos
    correspondientes a la
    administración de la memoria.

    2. Aspectos generales

    Memoria real
    La memoria real o principal es en donde son ejecutados los
    programas y procesos de una computadora y es el espacio real que
    existe en memoria para que se ejecuten los procesos. Por lo
    general esta memoria es de mayor costo que la
    memoria secundaria, pero el acceso a la información
    contenida en ella es de más rápido acceso. Solo la
    memoria cache
    es más rápida que la principal, pero su costo es a
    su vez mayor.

    Memoria virtual
    El termino memoria
    virtual se asocia a dos conceptos que normalmente a parecen
    unidos:

    1. El uso de almacenamiento secundario para ofrecer al
      conjunto de las aplicaciones la ilusión de tener mas
      memoria RAM
      de la que realmente hay en el sistema. Esta ilusión de
      existe tanto a nivel del sistema, es decir, teniendo en
      ejecución mas aplicaciones de las que realmente caben en
      la memoria principal, sin que por ello cada aplicación
      individual pueda usar mas memoria de la que realmente hay o
      incluso de forma mas general, ofreciendo a cada
      aplicación mas memoria de la que existe
      físicamente en la maquina.
    2. Ofrecer a las aplicaciones la ilusión de que
      están solas en el sistema, y que por lo tanto, pueden
      usar el espacio de direcciones completo. Esta técnica
      facilita enormemente la generación de código, puesto que el compilador no tiene
      porque preocuparse sobre dónde residirá la
      aplicación cuando se ejecute.

    Espacio De Direcciones
    Los espacios de direcciones involucrados en el manejo de la
    memoria son de tres tipos:

    • Direcciones físicas: son aquellas que
      referencian alguna posicion en la memoria física.
    • Direcciones lógicas : son las direcciones
      utilizadas por los procesos. Sufren una serie de
      transformaciones , realizadas por el procesador (la MMU), antes
      de convertirse en direcciones físicas.
    • Direcciones lineales: direcciones lineales se
      obtienen a partir de direcciones logicas tras haber aplicado
      una transformación dependiente de la arquitectura.

    Los programas de usuario siempre tratan con direcciones
    virtuales ; nunca ven las direcciones fisicas reales..

    Unidad De Manejo De Memoria
    La unidad de manejo de memoria (MMU) es parte del procesador. Sus
    funciones
    son:

    • Convertir las direcciones lógicas emitidas por
      los procesos en direcciones físicas.
    • Comprobar que la conversión se puede realizar.
      La dirección lógica podría no tener un
      dirección física asociada. Por ejemplo, la pagina
      correspondiente a una dirección se puede haber
      trasladado a una zona de almacenamiento secundario
      temporalmente.
    • Comprobar que el proceso que
      intenta acceder a una cierta direccion de memoria tiene
      permisos para ello.
    • La MMU se Inicializa para cada proceso del sistema.
      Esto permite que cada procesop pueda usar el rango completo de
      direcciones lógicas (memoria virtual), ya que las
      conversiones de estas direcciones serán distintas para
      cada proceso.
    • En todos los procesos se configura la MMU para que la
      zona del núcleo solo se pueda acceder en modo
      privilegiado del procesador.
    • La configuración correspondiente al espacio de
      memoria del núcleo es idéntica en todos los
      procesos.

    3.
    Intercambio

    El objetivo del
    intercambio es dar cabida a la ejecución de mas
    aplicaciones de las que pueden residir simultáneamente en
    la memoria del sistema:
    Consiste en trasladar el código y los datos de un
    proceso completo de memoria al sistema de almacenamiento
    secundario , para cargar otro previamente almacenado, no permite
    a un proceso utilizar mas memoria RAM de la que
    realmente existe en el sistema. Esta técnica puede ser
    ineficiente ya que se tiene que hacer el intercambio completo del
    proceso, aunque éste solo vaya a ejecutar una
    pequeña porción del código.
    Durante el intercambio un proceso puede ser sacado temporalmente
    de memoria y llevado a un lugar especial del disco y
    posteriormente vuelto a memoria y continuada su
    ejecución..
    El lugar de almacenamiento temporal suele ser un espacio
    suficientemente grande como para acomodar copias de las imágenes
    de meoria de todos los usuarios.

    Asignacion Contigua
    La memoria principal normalmente se divide en dos
    particiones:

    • Sistema operativo residente, normalmente en la parte
      baja de memoria con los vectores de
      interrupción.
    • Procesos de usuario en la parte alta.

    Asignación de partición simple:
    Puede utilizarse un esquema de registro de relocalización
    y limite para proteger un proceso de usuario de otro y de cambios
    del código y datos del sistema operativo .
    El registro de relocalización contiene la dirección
    contiene la dirección física mas pequeña; el
    registro limite contiene el rango de las direcciones
    lógicas cada dirección lógica debe ser menor
    al registro limite

    Asignación de particiones múltiples:
    Bloques de distintos tamaños están distribuidos en
    memoria , cuando llega un proceso se le asigna un hueco
    suficientemente grande para acomodarle.
    El sistema operativo debe tener información
    sobre:

    1. Particiones asignadas
    2. Particiones libres (huecos)

    Asignación de partición
    dinámica
    El proceso de compactación es una instancia particular del
    problema de asignación de memoria dinámica, el cual es el cómo
    satisfacer una necesidad de tamaño n con una lista de
    huecos libres. Existen muchas soluciones
    para el problema. El conjunto de huecos es analizado para
    determinar cuál hueco es el más indicado para
    asignarse. Las estrategias
    más comunes para asignar algún hueco de la tabla
    son:

    • Primer ajuste: Consiste en asignar el primer hueco
      con capacidad suficiente. La búsqueda puede iniciar ya
      sea al inicio o al final del conjunto de huecos o en donde
      terminó la última búsqueda. La
      búsqueda termina al encontrar un hueco lo
      suficientemente grande.
    • Mejor ajuste: Busca asignar el espacio más
      pequeño de los espacios con capacidad suficiente. La
      búsqueda se debe de realizar en toda la tabla, a menos
      que la tabla esté ordenada por tamaño. Esta
      estrategia
      produce el menor desperdicio de memoria posible.
    • Peor ajuste: Asigna el hueco más grande. Una
      vez más, se debe de buscar en toda la tabla de huecos a
      menos que esté organizada por tamaño. Esta
      estrategia produce los huecos de sobra más grandes, los
      cuales pudieran ser de más uso si llegan procesos de
      tamaño mediano que quepan en ellos.

    Se ha demostrado mediante simulacros que tanto el primer
    y el mejor ajuste son mejores que el peor ajuste en cuanto a
    minimizar tanto el tiempo del
    almacenamiento. Ni el primer o el mejor ajuste es claramente el
    mejor en términos de uso de espacio, pero por lo general
    el primer ajuste es más rápido.

    Problema: La fragmentación.

    4.
    Fragmentación

    La fragmentación es la memoria que queda
    desperdiciada al usar los métodos de
    gestión
    de memoria que se vieron en los métodos anteriores. Tanto
    el primer ajuste, como el mejor y el peor producen
    fragmentación externa.
    La fragmentación es generada cuando durante el reemplazo
    de procesos quedan huecos entre dos o más procesos de
    manera no contigua y cada hueco no es capaz de soportar
    ningún proceso de la lista de espera.

    La fragmentación puede ser:

    • Fragmentación Externa: existe el espacio total
      de memoria para satisfacer un requerimiento, pero no es
      contigua.
    • Fragmentación Interna: la memoria asignada
      puede ser ligeramente mayor que la requerida; esta referencia
      es interna a la partición, pero no se
      utiliza.

    La fragmentación externa se puede reducir
    mediante la compactación para colocar toda la memoria
    libre en un solo gran bloque, pero est a solo es posible si la
    relocalización es dinámica y se hace en tiempo de
    ejecución.

    5.
    Paginación

    Es una técnica de manejo de memoria, en la cual
    el espacio de memoria se divide en secciones físicas de
    igual tamaño, denominadas marcos de página. Los
    programas se dividen en unidades lógicas, denominadas
    páginas, que tienen el mismo tamaño que los marcos
    de páginas. De esta forma, se puede cargar una
    página de información en cualquier marco de
    página.
    Las páginas sirven como unidad de almacenamiento de
    información y de transferencia entre memoria principal y
    memoria auxiliar o secundaria. Cada marco se identifica por la
    dirección de marco, que esta en la posición
    física de la primera palabra en el marco de
    página.
    Las páginas de un programa
    necesitan estar contiguamente en memoria, aunque el programador
    lo observe de esta forma. Los mecanismos de paginación
    permiten la correspondencia correcta entre las direcciones
    virtuales (dadas por los programas) y las direcciones reales de
    la memoria que se reverencien.
    Cada pagina consiste en z palabras contiguas; un espacio de
    direcciones N de un programa consiste de n paginas
    (0,1,2,3…n-1) (n*z direcciones virtuales) y el espacio de
    memoria consiste de m marcos de paginas
    (0,z,2z,…,(m-1)z)(m*z posiciones). Una dirección
    virtual a es equivalente a una dirección dada como una
    dupla (p, d), en la cual p es el número de la
    página y d el número de la palabra dentro de la
    página, de acuerdo con la relación:
    a=p*z+d (0<=d<z)
    p=(a/z) (parte entera de la division)
    d=a mod z (resto de divisor a/z)

    En las maquinas que usan aritmética binaria, el
    calculo de (p, d) es trivial, si z es potencia de 2.
    Por ejemplo, si el campo de direcciones de la instrucción
    es de m bits (m>6), los cuatro bits mas significativos indican
    el numero de la pagina y los m-4 bits restantes, el
    desplazamiento.

    Para tener el control de las
    páginas, debe mantenerse una tabla en memoria que se
    denomina tabla de Mapas de Pagina
    (PMT) para cada uno de los procesos.
    Hasta ahora, los métodos que hemos visto de la
    administración de la memoria principal, nos han dejado con
    un problema: fragmentación, (huecos en la memoria que no
    pueden usarse debido a lo pequeño de su espacio) lo que
    nos provoca un desperdicio de memoria principal.
    Una posible solución para la fragmentación externa
    es permitir que espacio de direcciones lógicas lleve a
    cabo un proceso en direcciones no contiguas, así
    permitiendo al proceso ubicarse en cualquier espacio de memoria
    física que esté disponible, aunque esté
    dividida. Una forma de implementar esta solución es a
    través del uso de un esquema de paginación. La
    paginación evita el considerable problema de ajustar los
    pedazos de memoria de tamaños variables que
    han sufrido los esquemas de manejo de memoria anteriores. Dado a
    sus ventajas sobre los métodos previos, la
    paginación, en sus diversas formas, es usada en muchos
    sistemas
    operativos.
    Al utilizar la memoria virtual, las direcciones no pasan en forma
    directa al bus de memoria, sino que van
    a una unidad administradora de la memoria (MMU –Memory
    Management Unit). Estas direcciones generadas por los programas
    se llaman direcciones virtuales y conforman el hueco de
    direcciones virtuales. Este hueco se divide en unidades llamadas
    páginas. Las unidades correspondientes en la memoria
    física se llaman marcos para página o frames. Las
    páginas y los frames tienen siempre el mismo
    tamaño.

    Tablas de páginas
    Cada página tiene un número que se utiliza como
    índice en la tabla de páginas, lo que da por
    resultado el número del marco correspondiente a esa
    página virtual. Si el bit presente / ausente es 0, se
    provoca un señalamiento (trap) hacia el sistema operativo.
    Si el bit es 1, el número de marco que aparece en la tabla
    de páginas se copia en los bits de mayor orden del
    registro de salida, junto con el ajuste (offset) de 12 bits, el
    cual se copia sin modificaciones de la dirección virtual
    de entrada. Juntos forman una dirección física de
    15 bits. El registro de salida se coloca entonces en el bus de la
    memoria como la dirección en la memoria física.
    En teoría,
    la asociación de las direcciones virtuales con las
    físicas se efectúa según lo descrito. El
    número de página virtual se divide en un
    número de página virtual (los bits superiores)y un
    ajuste (los bits inferiores). El número de página
    virtual se utiliza como un índice en la tabla de
    páginas para encontrar la entrada de esa página
    virtual. El número de marco (si existe) se determina a
    partir de la tabla de páginas. El número de marco
    se asocia al extremo superior del ajuste y reemplaza al
    número de página virtual para formar una
    dirección física que se puede enviar a la
    memoria.
    La finalidad de la tabla de páginas es asociar las
    páginas virtuales con los marcos. En términos
    matemáticos, la tabla de páginas es una función,
    cuyo argumento es el número de página virtual y
    como resultado el número del marco físico. Mediante
    el resultado de esta función, se puede reemplazar el campo
    de la página virtual de una dirección virtual por
    un campo de marco, lo que produce una dirección en la
    memoria física. Sin embargo hay que enfrentar dos aspectos
    fundamentales:

    1. La tabla de páginas puede ser demasiado
      grande.
    2. La asociación debe ser
      rápida.

    El primer punto proviene del hecho de que las computadoras
    modernas utilizan direcciones virtuales de al menos 32 bits. Por
    ejemplo, si el tamaño de página es de 4K, un hueco
    de direcciones de 32 bits tiene un millón de
    páginas; en el caso de un hueco de direcciones de 64 bits,
    se tendría más información de la que uno
    quisiera contemplar.
    El segundo punto es consecuencia del hecho de que la
    asociación virtual – física debe hacerse en
    cada referencia a la memoria. Una instrucción común
    tiene una palabra de instrucción y también un
    operando de memoria. Entonces es necesario hacer una, dos o
    más referencias a la tabla de páginas por cada
    instrucción.

    Características de la
    paginación:

    • El espacio de direcciones lógico de un proceso
      puede ser no contiguo.
    • Se divide la memoria física en bloques de
      tamaño fijo llamados marcos (frames).
    • Se divide la memoria en bloques de tamaño
      llamados paginas.
    • Se mantiene información en los marcos
      libres.
    • Para correr un programa de n paginas de
      tamaño, se necesitan encontrara n marcos y cargar el
      programa.
    • Se establece una tabla de paginas para trasladar las
      direcciones lógicas a físicas.
    • Se produce fragmentación interna.

    Ventajas de la paginación

    1. Es posible comenzar a ejecutar un programa, cargando
      solo una parte del mismo en memoria, y el resto se cargara bajo
      la solicitud.
    2. No es necesario que las paginas estén
      contiguas en memoria, por lo que no se necesitan procesos de
      compactación cuando existen marcos de paginas libres
      dispersos en la memoria.
    3. Es fácil controlar todas las páginas,
      ya que tienen el mismo tamaño.
    4. El mecanismo de traducción de direcciones
      (DAT) permite separar los conceptos de espacio de direcciones y
      espacios de memoria. Todo el mecanismo es transparente al
      usuario.
    5. Se libera al programador de la restricción de
      programar para un tamaño físico de memoria, con
      lo que s e aumenta su productividad.
      Se puede programar en función de una memoria mucho
      más grande a la existente.
    6. Al no necesitarse cargar un programa completo en
      memoria para su ejecución, se puede aumentar el numero
      de programas multiprogramándose.
    7. Se elimina el problema de fragmentación
      externa.

    Desventajas de la paginación

    1. El costo de hardware y software se
      incrementa, por la nueva información que debe manejarse
      y el mecanismo de traducción de direcciones necesario.
      Se consume mucho mas recursos de memoria, tiempo en el CPU para
      su implantación.
    2. Se deben reservar áreas de memoria para las
      PMT de los procesos. Al no ser fija el tamaño de estas,
      se crea un problema semejante al de los programas (como asignar
      un tamaño óptimo sin desperdicio de memoria, u
      "ovearhead" del procesador).
    3. Aparece el problema de fragmentación interna.
      Así, si se requieren 5K para un programa, pero las
      paginas son de 4K, deberán asignárseles 2 paginas
      (8k), con lo que quedan 3K sin utilizar. La suma de los
      espacios libres dejados de esta forma puede ser mayor que el de
      varias paginas, pero no podrá ser utilizados. Debe
      asignarse un tamaño promedio a las páginas,
      evitando que si son muy pequeñas, se necesiten TABLAS
      BMT y PMT muy grandes, y si son muy grandes, se incremente el
      grado de fragmentación interna.

    Traducción de Direcciones
    La dirección generada por la CPU se divide en:

    • Numero de pagina (p): utilizado como indice en la
      tabla de pagins que contiene la dirección base de cada
      pagina en la memoria fisica.
    • Offset de la pagina (d): combinado con la
      dirección base dfine la direccion fisica que será
      enviada a la unidad de memoria.

    Ejemplo de paginación:

    6.
    Segmentación

    Es un esquema de manejo de memoria mediante el cual la
    estructura del
    programa refleja su división lógica;
    llevándose a cabo una agrupación lógica de
    la información en bloques de tamaño variable
    denominados segmentos. Cada uno de ellos tienen
    información lógica del programa: subrutina,
    arreglo, etc. Luego, cada espacio de direcciones de programa
    consiste de una colección de segmentos, que generalmente
    reflejan la división lógica del programa.
    La segmentación permite alcanzar los
    siguientes objetivos:

    1. Modularidad de programas: cada rutina del programa
      puede ser un bloque sujeto a cambios y recopilaciones, sin
      afectar por ello al resto del programa.
    2. Estructuras de datos de largo variable: ejm. Stack,
      donde cada estructura tiene su propio tamaño y este
      puede variar.
    3. Protección: se puede proteger los
      módulos del segmento contra accesos no
      autorizados.
    4. Comparición: dos o más procesos pueden
      ser un mismo segmento, bajo reglas de protección; aunque
      no sean propietarios de los mismos.
    5. Enlace dinámico entre segmentos: puede
      evitarse realizar todo el proceso de enlace antes de comenzar a
      ejecutar un programa. Los enlaces se establecerán solo
      cuando sea necesario.

    Ventajas de la segmentación
    El esquema de segmentación ofrece las siguientes
    ventajas:

    • El programador puede conocer las unidades
      lógicas de su programa, dándoles un tratamiento
      particular.
    • Es posible compilar módulos separados como
      segmentos el enlace entre los segmentos puede suponer hasta
      tanto se haga una referencia entre segmentos.
    • Debido a que es posible separar los módulos se
      hace más fácil la modificación de los
      mismos. Cambios dentro de un modulo no afecta al resto de los
      módulos.
    • Es fácil el compartir segmentos.
    • Es posible que los segmentos crezcan
      dinámicamente según las necesidades del programa
      en ejecución.
    • Existe la posibilidad de definir segmentos que aun no
      existan. Así, no se asignara memoria, sino a partir del
      momento que sea necesario hacer usos del segmento. Un ejemplo
      de esto, serian los arreglos cuya dimensión no se conoce
      hasta tanto no se comienza a ejecutar el programa. En algunos
      casos, incluso podría retardar la asignación de
      memoria hasta el momento en el cual se referencia el arreglo u
      otra estructura de dato por primera vez.

    Desventajas de la segmentación

    • Hay un incremento en los costos de
      hardware y de software para llevar a cabo la
      implantación, así como un mayor consumo de
      recursos: memoria, tiempo de CPU, etc.
    • Debido a que los segmentos tienen un tamaño
      variable se pueden presentar problemas de
      fragmentación externas, lo que puede ameritar un
      plan de
      reubicación de segmentos en memoria
      principal.
    • Se complica el manejo de memoria virtual, ya que los
      discos almacenan la información en bloques de
      tamaños fijos, mientras los segmentos son de
      tamaño variable. Esto hace necesaria la existencia de
      mecanismos más costosos que los existentes para
      paginación.
    • Al permitir que los segmentos varíen de
      tamaño, puede ser necesarios planes de
      reubicación a nivel de los discos, si los segmentos son
      devueltos a dicho dispositivo; lo que conlleva a nuevos
      costos.
    • No se puede garantizar, que al salir un segmento de
      la memoria, este pueda ser traído fácilmente de
      nuevo, ya que será necesario encontrar nuevamente un
      área de memoria libre ajustada a su
      tamaño.
    • La comparticion de segmentos permite ahorrar memoria,
      pero requiere de mecanismos adicionales da hardware y
      software.

    Estas desventajas tratan de ser minimizadas, bajo la
    técnica conocida como Segmentación
    paginada.

    7. Segmentación
    Paginada

    Paginación y segmentación son técnicas
    diferentes, cada una de las cuales busca brindar las ventajas
    enunciadas anteriormente.
    Para la segmentación se necesita que estén cargadas
    en memoria, áreas de tamaños variables. Si se
    requiere cargar un segmento en memoria; que antes estuvo en ella
    y fue removido a memoria secundaria; se necesita encontrar una
    región de la memoria lo suficientemente grande para
    contenerlo, lo cual no es siempre factible; en cambio
    "recargar" una pagina implica solo encontrar un merco de pagina
    disponible.
    A nivel de paginación, si quiere referenciar en forma
    cíclicas n paginas, estas deberán ser cargadas una
    a una generándose varias interrupciones por fallas de
    paginas; bajo segmentación, esta pagina podría
    conformar un solo segmento, ocurriendo una sola
    interrupción, por falla de segmento. No obstante, si bajo
    segmentación, se desea acceder un área muy
    pequeña dentro de un segmento muy grande, este
    deberá cargarse completamente en memoria,
    desperdiciándose memoria; bajo paginación solo se
    cargara la página que contiene los ítems
    referenciados.
    Puede hacerse una combinación de segmentación y
    paginación para obtener las ventajas de ambas. En lugar de
    tratar un segmento como una unidad contigua, este puede dividirse
    en páginas. Cada segmento puede ser descrito por su propia
    tabla de páginas.
    Los segmentos son usualmente múltiplos de páginas
    en tamaño, y no es necesario que todas las páginas
    se encuentren en memoria principal a la vez; además las
    páginas de un mismo segmento, aunque se encuentren
    contiguas en memoria virtual; no necesitan estarlo en memoria
    real.
    Las direcciones tienen tres componentes: (s, p,d), donde la
    primera indica el numero del segmento, la segunda el numero de la
    pagina dentro del segmento y la tercera el desplazamiento dentro
    de la pagina. Se deberán usar varias tablas:

    • SMT (tabla de mapas de segmentos): una para cada
      proceso. En cada entrada de la SMT se almacena la
      información descrita bajo segmentación pura, pero
      en el campo de dirección se indicara la dirección
      de la PMT (tabla de mapas de páginas) que describe a las
      diferentes páginas de cada segmento.
    • PMT (tabla de mapas de páginas): una por
      segmento; cada entrada de la PMT describe una página de
      un segmento; en la forma que se presento la pagina
      pura.
    • TBM (tabla de bloques de memoria): para controlar
      asignación de páginas por parte del sistema
      operativo.
    • JT (tabla de Jobs): que contiene las direcciones de
      comienzo de cada una de las SMT de los procesos que se ejecutan
      en memoria.

    En el caso, de que un segmento sea de tamaño
    inferior o igual al de una pagina, no se necesita tener la
    correspondiente PMT, actuándose en igual forma que bajo
    segmentación pura; puede arreglarse un bit adicional (S) a
    cada entrada de la SMT, que indicara si el segmento esta paginado
    o no.

    Ventajas de la segmentación paginada
    El esquema de segmentación paginada tiene todas las
    ventajas de la segmentación y la
    paginación:

    • Debido a que los espacios de memorias son
      segmentados, se garantiza la facilidad de implantar la
      comparticion y enlace.
    • Como los espacios de memoria son paginados, se
      simplifican las estrategias de almacenamiento.
    • Se elimina el problema de la fragmentación
      externa y la necesidad de compactación.

    Desventajas de la segmentación
    paginada

    • Las tres componentes de la dirección y el
      proceso de formación de direcciones hace que se
      incremente el costo de su implantación. El costo es
      mayor que en el caso de de segmentación pura o
      paginación pura.
    • Se hace necesario mantener un número mayor de
      tablas en memoria, lo que implica un mayor costo de
      almacenamiento.

    Sigue existiendo el problema de fragmentación
    interna de todas- o casi- todas las páginas finales de
    cada uno de los segmentos. Bajo paginación pura se
    desperdician solo la última página asignada,
    mientras que bajo segmentación – paginada el
    desperdicio puede ocurrir en todos los segmentos
    asignados.

    8.
    Conclusiones

    Para concluir se entiende que:

    • En la memoria principal son ejecutados los programas
      y procesos de una computadora y es el espacio real que existe
      en memoria para que se ejecuten los procesos.
    • La memoria virtual es aquella que le ofrece a las
      aplicaciones la ilusión de que están solas en el
      sistema y que pueden usar el espacio de direcciones
      completo.
    • Las direcciones de memoria son de tres tipo:
      físicas, lógicas y lineales.
    • El objetivo del intercambio es dar cabida a la
      ejecución de mas aplicaciones de las que pueden residir
      simultáneamente en la memoria del sistema.
    • Las asignación consiste en determinar cual
      espacio vacío en la memoria principal es el mas indicado
      para ser asignado a un proceso.
    • Las estrategias mas comunes para asignar espacios
      vacíos (huecos) son: primer ajuste, mejor ajuste, peor
      ajuste.
    • La fragmentación es la memoria que queda
      desperdiciada al usar los métodos de gestión de
      memoria tal como la asignación.
    • La fragmentación puede ser interna o
      externa.
    • La paginación es una técnica de
      gestión de memoria en la cual el espacio de memoria se
      divide en secciones físicas de igual tamaño
      llamadas marcos de pagina, las cuales sirven como unidad de
      almacenamiento de información.
    • La segmentación es un esquema de manejo de
      memoria mediante el cual la estructura del programa refleja su
      división lógica; llevándose a cabo una
      agrupación lógica de la información en
      bloques de tamaño variable denominados
      segmentos.

    9.
    Bibliografía

    Deitel Sistemas
    Operativos
    Stallings William . Sistemas Operativos .. Editorial Prentice
    Hall
    Tanenbaum Andrew S. Sistemas Operativos Modernos .Prentice
    Hall

     

     

     

     

    Autor:

    T.S.U Danielle Romero

    Estudiante de Ingeniería en Sistemas
    Instituto Universitario Politécnico Santiago
    Mariño
    Barcelona, Edo. Anzoategui Venezuela
    Mayo de 2003

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter