- El sistema operativo divide la memoria física en páginas y asigna a cada página una dirección única en la memoria virtual.
- Cuando un proceso necesita memoria, el sistema operativo le asigna un rango de direcciones virtuales. Si no hay suficiente memoria física disponible, el sistema operativo mueve algunas páginas de la memoria física a la del disco (lo que se conoce como paginación). ), liberando espacio para nuevas páginas.
2. Algoritmos de reemplazo de página:
- Para gestionar el reemplazo de páginas de forma eficaz, el sistema operativo utiliza diferentes algoritmos. Los más comunes incluyen:
- Usado menos recientemente (LRU): Reemplaza la página que ha estado inactiva (sin usar) durante más tiempo.
- Primero en entrar, primero en salir (FIFO): Reemplaza la página más antigua, independientemente del uso.
- Segunda oportunidad: Variante de FIFO que da a las páginas una "segunda oportunidad" si han sido referenciadas recientemente.
3. Paginación por demanda:
- El sistema operativo introduce una página en la memoria física sólo cuando realmente es necesaria. Esto reduce el uso de memoria y acelera la ejecución al evitar cargas de páginas innecesarias.
4. Métodos de asignación de memoria:
- Asignación fija: Divide la memoria en particiones de tamaño fijo, que los procesos pueden utilizar exclusivamente.
- Asignación variable: Asigna cantidades variables de memoria según las necesidades específicas de cada proceso. Esto optimiza el uso de la memoria, evitando la fragmentación y el desperdicio de espacio.
5. Intercambio:
- Cuando toda la memoria física se agota y se necesita más, el sistema operativo puede mover procesos completos de la memoria física al almacenamiento en disco (espacio de intercambio ) mediante un proceso llamado intercambio.
- Los procesos intercambiados se restauran a la memoria física cuando necesitan ejecutarse nuevamente.
6. Memoria caché:
- La CPU utiliza una memoria pequeña y rápida llamada caché para almacenar datos usados recientemente e instrucciones para un acceso rápido.
- Diferentes niveles de caché operan cerca de la CPU con velocidad creciente y tamaño decreciente.
7. Protección de memoria:
- El sistema operativo emplea técnicas de protección de la memoria para evitar que los procesos accedan a áreas de memoria restringidas o se sobrescriban entre sí.
- Esto garantiza la integridad de los datos y mejora la seguridad.
8. Segmentación:
- Un enfoque alternativo a la gestión de la memoria donde la memoria se divide en segmentos según la funcionalidad lógica, en lugar de páginas de tamaño fijo.
9. Asignación de memoria de amigos:
- Una estrategia de asignación de memoria que divide la memoria en bloques del mismo tamaño, que se pueden subdividir según sea necesario.
10. Tablas de páginas y tablas de páginas invertidas:
- Las tablas de páginas son estructuras de datos que asignan direcciones de memoria virtual a direcciones de memoria física, lo que permite que el sistema operativo administre de manera eficiente los reemplazos de páginas y el acceso a la memoria.
- Las tablas de páginas invertidas almacenan asignaciones entre direcciones de memoria física y direcciones de memoria virtual, lo que mejora la eficiencia de las operaciones de administración de memoria.
Estas técnicas y algoritmos evolucionan continuamente a medida que los sistemas informáticos se esfuerzan por mejorar la eficiencia y el rendimiento de la gestión de la memoria.