Conocimiento de gestión de memoria de Linux

  
 

P1. ¿Por qué dividir el espacio de direcciones del proceso en " espacio de kernel " y " espacio de usuario "

A: El tamaño del espacio de direcciones virtuales de Linux es de 4 GB. El kernel divide el espacio de 4GB en dos partes. El kernel utiliza el 1GB más alto (dirección virtual 0xC0000000 a 0xFFFFFFFF), llamado "espacio del kernel". "; y los 3GB inferiores (dirección virtual 0x00000000 a 0xBFFFFFFF) para cada proceso, llamado "espacio de usuario", porque cada proceso puede ingresar al kernel a través de llamadas al sistema, por lo que el espacio del kernel es todos los procesos dentro del sistema Compartir, por lo tanto, desde la perspectiva del proceso, cada proceso puede tener 4 GB de espacio de direcciones virtuales (también conocido como memoria virtual).


Q2. ¿Cómo implementa Linux " solicita la paginación?

A:

1) Si la página a la que se accede no está en la memoria, es decir, la página no se ha almacenado en ninguna de las páginas físicas, entonces el kernel asigna una nueva página y Inicializarlo correctamente, esta técnica se llama "solicitud de paginación";

2) " solicitud de paginación es una tecnología de asignación de memoria dinámica que retrasa la asignación de páginas a Después de la demora, es decir, hasta que la página a la que accede el proceso no esté en la memoria física, lo que provoca una excepción de fallo de página; la introducción de esta tecnología se debe principalmente a que el proceso no accede a todo su espacio de direcciones cuando comienza a ejecutarse. Direccion

Copyright © Conocimiento de Windows All Rights Reserved