Segmentación
Soporta mejor la
visión de memoria del usuario:un programa es una colección de unidades lógicas segmentos:
procedimientos,
funciones, pila, tabla de símbolos, matrices,
etc.
Memoria virtual.
Memoria virtual es ...
Gestión automática del almacenamiento,
que determina: qué almacenar en memoria
principal, dónde almacenarlo y cuando
cargarlo/descargarlo.
MV simplifica la programación:
Elimina la necesidad de gestión manual.
Maneja las ligaduras.
Gestiona la compartición de memoria.
Abstrae los detalles de memoria física.
MV es el gestor de la memoria principal
Modelo de memoria de un proceso
MODELO DE MEMORIA DE UN PROCESO
Generación de un Ejecutable
Bibliotecas
Formato del ejecutable
Colección de Objetos interrelacionados en el sistema se encuentran conjuntos de bibliotecas predefinidas que proporcionan servicios a las Aplicaciones incluyen lenguajes de alto nivel API del lenguaje y/o API del sistema Operativo.
Cualquier usuario puede crear sus bibliotecas para organizar mejor los módulos de cada aplicación facilitando que las aplicaciones compartan módulos.
Generación de un Ejecutable
Desarrollo de aplicaciones con lenguaje de alto nivel compuesta por modulos de código fuente procesados para obtener ejecutables, consta de dos fases:
Fase 1 Compilación :
1. Generación de código fuente.
2. Asignación de dirección a símbolos de modulo.
3. Sin Modulo espera fase 2.
Para acceder a una variable del modulo , la instrucción debe contener la dirección que se asigno en el espacio de memoria
Fase 2. Montaje:
genera un ejecutable agrupando todos los ficheros objeto y resolviendo las referencias entre módulos y a símbolos de bibliotecas .
Hiperpaginación
Hiperpaginación Si un proceso no tiene “suficientes” páginas, la tasa de faltas es alta → baja uso de la CPU → el SO incrementa el grado de multiprogramación → más faltas de páginas → ... Hiperpaginación = sistema ocupado en traer/sacar páginas. Grado de multiprogramación Producción Conducta real Conducta esperada SOI
¿ A qué se debe ?
Según el modelo de localidad: Los procesos migran de una localidad a otra. Las localidades pueden solaparse.
La hiperpaginación se produce cuando la suma de los tamaños de todas las localidades es mayor que el tamaño total de memoria. Se puede limitar con algoritmos de sustitución locales (o por prioridad).
Paginación
Sólo traeremos una página a memoria
cuando se necesite. Las ventajas son:
menos E/S.
menos memoria.
respuesta más rápida.
más usuarios.
Problema: el rendimiento
¿cuándo se necesita? cuando se referencia
Referencia es inválida ⇒ se aborta.
Si es válida ⇒ se trae pág. a memoria
Intercambio
Intercambio (swapping) ¿Qué ocurre si la memoria esta ocupada totalmente? Intercambiar procesos entre memoria principal y secundaria (un disco rápido que alberga las imágenes de memoria de los procesos de usuario, y suministra acceso directo a esas imágenes). Disco Memoria Pi Pi j Poner (swap in) Quitar (swap out) 34 SOI Intecambio (y ii) Aconsejable en sists. de tiempo compartido: usuarios conectados al sistema alternan periodos de trabajo e inactividad. Un proceso se sacará de memoria: Si va a estar cierto tiempo bloqueado Necesitamos compartir CPU y memoria El factor principal en el tiempo de intercam bio es el tiempo de transferencia, que es proporcional a la memoria intercambiada. Se usa en UNIX, Windows, etc.
Objetivos del sistema de gestión de memoria
En sistemas con multiproceso, el S.O. debe “repartir” los recursos entre los procesos existentes: – Reparto de procesador: Gestión de procesos – Reparto de memoria: Gestión de memoria Objetivos del Gestor de Memoria 1.Espacios lógicos independientes 2.Protección entre procesos 3.Compartición de Memoria (procesos ligeros) 4.Soporte a las regiones del proceso 5.Maximizar el grado de multiprogramación 6.Mapas de memoria de un tamaño adecuado (normalmente grandes)