Prompts Memoria Virtual
Prompts Memoria Virtual
Prompts Memoria Virtual
Página:
Marco (frame):
- Cada marco es del mismo tamaño que una página, y es el lugar en la memoria física
donde una página del proceso puede ser cargada.
- Las páginas del espacio de memoria virtual se asignan a marcos en la memoria física
cuando se necesita que el proceso las ejecute.
- Por ejemplo, si un proceso requiere una página para ejecutarse, esa página virtual se
carga en un marco físico en la RAM.
Ejemplo:
La paginación mapea las páginas a marcos para que los procesos puedan ejecutarse
utilizando la memoria física disponible.
Resumen
La paginación puede existir sin memoria virtual para gestionar la memoria física
eficientemente. Sin embargo, no se podrán aprovechar algunas ventajas de la memoria
virtual, como la posibilidad de ejecutar aplicaciones que requieren más memoria de la
disponible físicamente.
El concepto de memoria virtual permite que cada proceso piense que tiene acceso
exclusivo a una sección continua de memoria, cuando en realidad:
3. Uso eficiente de la RAM: Permite ejecutar programas que requieren más memoria de
la disponible físicamente, ya que el sistema operativo puede mover partes del proceso
entre la RAM y el disco según sea necesario (paginación).
4. Protección: El sistema operativo puede definir permisos para diferentes regiones del
espacio de direcciones virtuales, controlando el acceso a la memoria (lectura,
escritura, ejecución).
Ejemplo:
Resumen:
- Cada proceso tiene su propio espacio de direcciones virtuales (VAS - Virtual Address
Space).
- El espacio de direcciones virtuales es una vista lógica y continua de la memoria del
proceso, aunque físicamente puede estar dispersa en la RAM o incluso en el disco (en
caso de que el sistema use memoria virtual).
- Segmento de código (text): Aquí se almacenan las instrucciones del programa (es
inmutable).
- El sistema operativo, junto con la Unidad de Gestión de Memoria (MMU), traduce las
direcciones virtuales a direcciones físicas (dentro de la RAM) cuando el proceso
accede a la memoria.
- Esta traducción se realiza usando estructuras como tablas de páginas, que mapean
páginas virtuales (del proceso) a marcos físicos (en la RAM).
- Tablas de páginas: Estas estructuras de datos son utilizadas por el SO para almacenar
los mapeos de direcciones virtuales a físicas.
- Memoria virtual: Permite que el espacio de direcciones virtuales sea más grande que
la memoria física disponible, mediante el uso de swap (memoria en disco).
Ejemplo:
Resumen:
Son la estructura más básica y común utilizada por el sistema operativo para
implementar la memoria virtual basada en paginación.
- Función: La tabla de páginas contiene entradas que mapean cada página del espacio
de direcciones virtuales de un proceso a un marco de memoria física (RAM) o a una
dirección en el almacenamiento secundario (disco) en caso de paginación a disco.
- Un bit de presencia (present bit) que indica si la página está en la memoria física
(RAM) o en el disco (swap).
- Estructura simple, donde una tabla de páginas contiene una entrada por cada página
en el espacio de direcciones virtuales.
- Eficiente solo para procesos pequeños, ya que para grandes espacios de direcciones
virtuales, las tablas se vuelven muy grandes y difíciles de manejar.
- Esto permite que las tablas de páginas de niveles inferiores solo se creen cuando
realmente se necesitan, reduciendo el uso de memoria.
- Esta estructura mapea las páginas en función del marco físico, no del espacio
virtual.
- En lugar de tener una entrada para cada página virtual, tiene una entrada para cada
marco de memoria física, lo que reduce el tamaño total de la tabla de páginas.
- Sin embargo, las búsquedas son más lentas, ya que se debe buscar en toda la tabla
cada vez que se accede a una dirección virtual. Esto se mitiga mediante el uso de
hashing para acceder más rápidamente a las entradas.
- Función: Es una pequeña memoria caché en la MMU (Memory Management Unit) que
almacena las traducciones más recientes de páginas virtuales a marcos físicos.
- Uso: Cada vez que el procesador necesita traducir una dirección virtual a una física,
primero revisa el TLB. Si la traducción está ahí (TLB hit), se evita el acceso a la tabla de
páginas, lo que acelera el acceso. Si no está (TLB miss), se accede a la tabla de páginas
y luego se almacena la traducción en el TLB para futuros accesos.
- Función: Cada bit en un mapa de bits representa si un marco de memoria está libre o
en uso. Los mapas de bits ayudan al SO a asignar rápidamente marcos de memoria
cuando se necesita.
5. Listas enlazadas:
- Función: Se puede tener una lista de marcos libres para asignar nuevas páginas a los
procesos y otra lista de marcos asignados para gestionar cuáles marcos están en uso y
cuáles están listos para ser intercambiados si es necesario.
Resumen: