Please enable JavaScript.
Coggle requires JavaScript to display documents.
Gestion de memoria por el sistema operativo - Coggle Diagram
Gestion de memoria por el sistema operativo
Direcciones virtuales y fisicas
Los programas se cargan en la memoria principal a partir de una posicion determinada en la misma, en funcion de zonas libres, a esta se le llama direccion base
La asignacion puede realizarse de distintas formas
Particiones estáticas
La memoria se divide en un numero determinado de particiones, cada una contiene un proceso
La dirección base de cada proceso es la dirección de inicio de cada partición
EL tamaño de las particiones es un parametro que brinda el sistema operativo
El sistema operativo cuenta con una tabla de particiones que contiene informacion como el id del proceso, su estado, y demás informacion, esta tabla tambien es utiil para hacer las transfomaciones de direcciones virtuales a físicas
Particiones dinámicas
El sistema operativo introduce los programas al inicio en posiciones consecutivas de memoria sin existir particiones predefinidas
Se realiza la gestion por medio de algunos elementos
tabla de procesos, tambien se utiliza para hacer la transformacion de direcciones
Tabla de fragmentos libres
Segmentación
Mientras mas pequeños son los procesos es mejor para la memoria
Un proceso esta compuesto por unidades que se denominan segmentos
Segmentos de codigo
Segmento de pila
Segmentos de datos
Consiste en considerar los procesos como segmentos
Permite que ciertos procesos pueda compartir datos sin necesidad de estar duplicados en la memoria principal
Paginación
Los programas se dividen en zonas consecutivas llamadas "páginas"
Cada página es de tamaño fijo
Se identifican con un numero correlativo
La memoria principal se estructura en marcos de página de la misma capacidad que las páginas del programa
Cada marco se identifica con un numero correlativo
La idea es que no sea necesario que el programa completo se almacene en posiciones consecutivas de memoria.
Memoria virtual
La dirección real donde se cargan los programas se llaman direcciones físicas
Transformar direccion virtual a física
Se puede utilizar una formula para hacer la transformacion
df= DB + dv, para todo 0<dv<n-1
Generalmente se realiza con ayuda de un registro base que se encuentra en la cpu
La Unidad de gestión de memoria se incluye en el mismo chip del microprocesador en la actualidad y permite hacer estas transformaciones que antes se hacían mediante software
Reubicación de procesos
Cuando un proceso se termina deja un espacio disponible que puede ser ocupado por otro proceso de igual tamaño o menor
Para evitar que queden muchos espacios disponibles se hace la "compactacion" para unir todos esos espacios y reubicar los programas en ejecucion
Memoria virtual
Permite contar con una memoria principal mayor que la memoria física real
Este tipo de memoria nos da algunas ventajas
Permite ejecutar programas de capacidad superior a la memoria que físicamente esta en el ordenador
Permite aumentar el número de procesos de la memoria principal en ejecución concurrente
Para implementarla se puede utilizar distintas técnicas
Gestión de memoria por páginas
Gestión de memoria segmentada
Gestion de memoria segmentada o paginada
Se mantiene en disco el proceso completo que s e consider apor la cpu troceado en páginas
Solo se cargan a la memoria principal las paginas necesarias en ese instante
Cuando un proceso necesita algun dato de una pagina que no esta cargada en la MP se le llama "fallo de página", el sistema operativo debe cargar esa página en la memioria
¿Que paginas deben estar en memoria?
Criterio de carga en memoria
Paginacion por demanda
Paginación pervia
Criterio de reemplazo
Algoritmos de sustitución de página
FIFO (First In First Out)
LRU (Least Recently Used)
NRU (Not Recently Used)
Algoritmo de reloj