¿Qué es la memoria virtual? ¿Cuál es su principio?
La memoria virtual es una tecnología para la gestión de la memoria del sistema informático. Hace que la aplicación piense que tiene memoria disponible contigua (un espacio de direcciones completo y continuo), pero de hecho, generalmente se divide en múltiples fragmentos de memoria física y algunos se almacenan temporalmente en un disco externo cuando es necesario.
Principio:
①La dirección lógica del procesador central que accede a la memoria principal se descompone en un número de grupo a y una dirección intragrupo b, y realiza la transformación de dirección en el número de grupo. a, es decir, el número de grupo lógico a se utiliza como índice para verificar la tabla de traducción de direcciones para determinar si el conjunto de información está almacenado en la memoria principal. ?
②Si el número de grupo ya está en la memoria principal, ejecute en su lugar, si el número de grupo no está en la memoria principal, verifique si hay un área libre en la memoria principal. cierto El grupo no utilizado temporalmente se transfiere al almacenamiento auxiliar para que este grupo de información pueda transferirse a la memoria principal. ?
③Lea el grupo requerido del almacenamiento auxiliar y envíelo al área libre de la memoria principal, y luego registre el número de grupo físico libre a y el número de grupo lógico a en la tabla de traducción de direcciones. ?
④Lea el número de grupo físico a correspondiente al número de grupo lógico a de la tabla de traducción de direcciones.
⑤ Obtenga la dirección física del número de grupo físico a y la dirección de byte b dentro del grupo.
⑥Accede a la información necesaria desde la memoria principal según la dirección física.
Información ampliada:
Cuestiones clave de la memoria virtual:
(1) Problema de programación: decidir qué programas y datos deben transferirse a la memoria principal.
(2) Problema de asignación de direcciones: al acceder a la memoria principal, la dirección virtual se cambia a la dirección física de la memoria principal (este proceso se denomina conversión de dirección interna cuando se accede a la memoria auxiliar); la dirección virtual se cambia a la memoria auxiliar. La dirección física de la memoria (este proceso se llama traducción de dirección externa) para el cambio de página. Además, se deben resolver cuestiones como la asignación de la memoria principal, la protección del almacenamiento y la reubicación de programas. ?
(3) Problema de reemplazo: decida qué programas y datos deben transferirse fuera de la memoria principal. ?
(4) Pregunta de actualización: Garantizar la coherencia entre la memoria principal y la memoria auxiliar.
Bajo el control del sistema operativo, el hardware y el software del sistema resuelven los problemas anteriores para los usuarios, simplificando así enormemente la programación de aplicaciones.
Enciclopedia Baidu-Memoria virtual