INTEGRANTESAna PomaEdgar PautaCristian VillamaguaASIGNACION DE MEMORIA CONTINUA
Asignación de memoria contiguaEn un esquema de asignación de memoria contigua un proceso se ubica en su totalidad en posiciones consecutivas de memoria. Un ejemplo de este tipo de asignación es el utilizado en los sistemas de monoprogramación.
Mapeo de memoria y protecciónPodemos utilizar estas características un registro de reubicación, con un registro limite.El registro de la reubicación contiene el valor de la dirección física mas pequeña, mientras que el registro limite contiene el rango de las direcciones lógicas(por ejemplo, reubicación = 100040 y limite = 74600).Con los registro de reubicación y de limite, cada dirección lógica debe ser inferior al valor contenido en el valor limite.
Mapeo de memoria y protecciónLa MMU la dirección lógica dinámicamente sumándole el valor contenido en el registro de reubicación. Esta dirección es la que se envía a la memoria.Interrupción: error de direccionamientoRegistro limiteRegistro de reubicaciónmemoriasiDirección lógicaDirección físicaCPU+no
Mapeo de memoria y protecciónCuando el planificador de la CPU selecciona un proceso para su ejecución, el despachador carga en los registros de reubicación y de limite los valores correctos, como parte del proceso de cambio de contexto.Puesto que todas las direcciones generadas por la CPU se comparan con estos registro. Este mecanismo nos permite proteger al sistema operativo.
Múltiples ParticionesMultiprogramación  Necesidad de varios procesos en memoria simultáneamenteDos modos de asignación: Particiones fijas y VariablesParticiones fijasDivisión de la memoria en varios trozos (particiones) Tamaño diferente de las particionesTamaño fijo de las particiones (inamovible)Único proceso por partición con tamaño  particiónEstructuras de datos para la gestión de particiones fijasTabla de descripción de particionesEstado (libre/asignada)Base de la particiónTamaño de la partición
Múltiples ParticionesEstrategia de asignaciónPrimer ajuste, Mejor ajuste, Peor ajusteQué hacer si no hay particiones libresEsperar a la finalización de algún procesoIntercambioProtección entre procesosA través de registro base y límiteComprobación en cada acceso a memoria
Múltiples ParticionesGrado de multiprogramación. Limitado al número de particionesFragmentación Interna Dentro de cada partición queda una zona de memoria no aprovechable	El proceso es más pequeño que la partición	No se puede asignar a ningún otro procesoEs posible que procesos esperando entrar en memoria no tengan partición a pesar de haber espacio libre para ellosEjemploOS/MFT (Multiprogramación con nº fijo de tareas)
Múltiples Particiones
Particiones variablesLas particiones son variables en número y longitudInicialmente la memoria sólo contiene el sistema operativoA cada proceso se le asigna la memoria que necesita exactamenteEstructuras de datos para gestionar la memoriaMapa de bitsDivisión de memoria en pequeñas unidades libres u ocupadasLista de procesos y huecosLista únicaLista de procesos y lista de huecosSistema de los asociados (Knuth 1973)División de memoria en bloques potencia de 2Se compactan 2 bloques adyacentes del mismo tamañoAgiliza la fusión de huecos
Particiones variablesAlgoritmos de asignación de particionesPrimer ajuste, Mejor ajuste y Peor ajusteQué hacer si no hay particiones libresEsperar a la finalización de algún procesoIntercambio
Ejemplo
Condensación de huecosUnión de huecos adyacentes al liberar un procesoCompactaciónMovimiento de procesos en la memoria para unir huecos dispersos y crear huecos de mayor tamañoFragmentación externaFragmentación interna, sólo si existe limitación en el tamaño mínimo de las particionesEjemploOS/MVT (Multiprogramación con nº variable de tareas)Antiguo S.O. de grandes ordenadores IBM OS/360Actualmente en desuso

Asignación de memoria continua

  • 1.
    INTEGRANTESAna PomaEdgar PautaCristianVillamaguaASIGNACION DE MEMORIA CONTINUA
  • 2.
    Asignación de memoriacontiguaEn un esquema de asignación de memoria contigua un proceso se ubica en su totalidad en posiciones consecutivas de memoria. Un ejemplo de este tipo de asignación es el utilizado en los sistemas de monoprogramación.
  • 3.
    Mapeo de memoriay protecciónPodemos utilizar estas características un registro de reubicación, con un registro limite.El registro de la reubicación contiene el valor de la dirección física mas pequeña, mientras que el registro limite contiene el rango de las direcciones lógicas(por ejemplo, reubicación = 100040 y limite = 74600).Con los registro de reubicación y de limite, cada dirección lógica debe ser inferior al valor contenido en el valor limite.
  • 4.
    Mapeo de memoriay protecciónLa MMU la dirección lógica dinámicamente sumándole el valor contenido en el registro de reubicación. Esta dirección es la que se envía a la memoria.Interrupción: error de direccionamientoRegistro limiteRegistro de reubicaciónmemoriasiDirección lógicaDirección físicaCPU+no
  • 5.
    Mapeo de memoriay protecciónCuando el planificador de la CPU selecciona un proceso para su ejecución, el despachador carga en los registros de reubicación y de limite los valores correctos, como parte del proceso de cambio de contexto.Puesto que todas las direcciones generadas por la CPU se comparan con estos registro. Este mecanismo nos permite proteger al sistema operativo.
  • 6.
    Múltiples ParticionesMultiprogramación Necesidad de varios procesos en memoria simultáneamenteDos modos de asignación: Particiones fijas y VariablesParticiones fijasDivisión de la memoria en varios trozos (particiones) Tamaño diferente de las particionesTamaño fijo de las particiones (inamovible)Único proceso por partición con tamaño  particiónEstructuras de datos para la gestión de particiones fijasTabla de descripción de particionesEstado (libre/asignada)Base de la particiónTamaño de la partición
  • 7.
    Múltiples ParticionesEstrategia deasignaciónPrimer ajuste, Mejor ajuste, Peor ajusteQué hacer si no hay particiones libresEsperar a la finalización de algún procesoIntercambioProtección entre procesosA través de registro base y límiteComprobación en cada acceso a memoria
  • 8.
    Múltiples ParticionesGrado demultiprogramación. Limitado al número de particionesFragmentación Interna Dentro de cada partición queda una zona de memoria no aprovechable El proceso es más pequeño que la partición No se puede asignar a ningún otro procesoEs posible que procesos esperando entrar en memoria no tengan partición a pesar de haber espacio libre para ellosEjemploOS/MFT (Multiprogramación con nº fijo de tareas)
  • 9.
  • 10.
    Particiones variablesLas particionesson variables en número y longitudInicialmente la memoria sólo contiene el sistema operativoA cada proceso se le asigna la memoria que necesita exactamenteEstructuras de datos para gestionar la memoriaMapa de bitsDivisión de memoria en pequeñas unidades libres u ocupadasLista de procesos y huecosLista únicaLista de procesos y lista de huecosSistema de los asociados (Knuth 1973)División de memoria en bloques potencia de 2Se compactan 2 bloques adyacentes del mismo tamañoAgiliza la fusión de huecos
  • 11.
    Particiones variablesAlgoritmos deasignación de particionesPrimer ajuste, Mejor ajuste y Peor ajusteQué hacer si no hay particiones libresEsperar a la finalización de algún procesoIntercambio
  • 12.
  • 13.
    Condensación de huecosUniónde huecos adyacentes al liberar un procesoCompactaciónMovimiento de procesos en la memoria para unir huecos dispersos y crear huecos de mayor tamañoFragmentación externaFragmentación interna, sólo si existe limitación en el tamaño mínimo de las particionesEjemploOS/MVT (Multiprogramación con nº variable de tareas)Antiguo S.O. de grandes ordenadores IBM OS/360Actualmente en desuso