Direccionamiento de memoria Linux

  
 

Q1. ¿Qué es una dirección física? ¿Qué es una dirección virtual? ¿Qué es una dirección lineal?

A:

1) Defina el espacio de memoria proporcionado por el módulo de memoria física en la placa base como el espacio de memoria física, donde la dirección real de cada unidad de memoria es la dirección física;

2) Defina el espacio de memoria visto por el programador de aplicaciones como un espacio de direcciones virtual (o espacio de direcciones), donde la dirección se denomina una dirección virtual (o dirección virtual), generalmente en la forma de <; segment: offset " Para describir, como A815: CF2D;

3) El espacio de dirección lineal se refiere a un espacio de dirección continuo y no segmentado que va de 0 a 4 GB, una dirección lineal es una dirección absoluta del espacio de dirección lineal .


Q2. ¿Cómo convierte la MMU una dirección virtual a una dirección física en modo protegido?

A: en modo protegido, la unidad de administración de memoria (MMU) consta de uno o un grupo de chips. Su función es que la dirección virtual se asigna a una dirección física, es decir, traducción de direcciones, la MMU es un circuito de hardware. Consta de dos partes, un componente de segmentación y un componente de paginación, denominado mecanismo de segmentación y mecanismo de paginación. El mecanismo de segmentación convierte una dirección virtual en una dirección lineal. El mecanismo de paginación convierte una dirección lineal en una dirección física.


Q3. ¿Por qué usar una tabla de páginas de dos niveles para un espacio de direcciones lineal de 32 bits?

A: Una tabla de páginas es una estructura de datos que asigna una dirección lineal a una dirección física. Un espacio lineal de 4 GB se puede dividir en 1 M 4 páginas KB, y cada entrada de la tabla de páginas tiene 4 bytes. La tabla de páginas de los elementos de la tabla de páginas de 1M debe ocupar un espacio de 4 MB, y el requisito es continuo, por lo que la tabla de páginas de dos niveles se utiliza para implementar, la tabla de páginas de dos niveles es la página de la página de nuevo y el primer nivel se llama directorio de páginas. Almacena información sobre la tabla de páginas, la tabla de páginas de 4MB se pagina nuevamente y se puede dividir en páginas de 1K de tamaño de 4KB.


P4. ¿Cuál es la función del caché de la página? ¿Por qué Linux utiliza principalmente el mecanismo de paginación para implementar la gestión de almacenamiento virtual? ¿Por qué utiliza un modo de paginación de tres niveles en lugar de dos niveles?

A:

1) La memoria caché de la página retiene automáticamente las entradas de la página de 32 páginas utilizadas recientemente por el procesador, por lo que puede cubrir 128 KB de memoria;

2) Linux principalmente El mecanismo de paginación se utiliza para implementar la administración de la memoria virtual por los siguientes motivos:

A. El mecanismo de segmentación de Linux hace que todos los procesos utilicen los mismos registros de segmentos, lo que simplifica la administración de la memoria;

B. Uno de los objetivos de diseño de Linux es poder ser portado a las plataformas de procesamiento más populares, pero muchos procesadores RISC admiten una segmentación muy limitada; para garantizar la portabilidad, Linux utiliza un modo de paginación de tres niveles porque muchos Todos los procesadores utilizan una estructura de 64 bits; Linux define tres tipos de tablas de páginas: directorio de páginas (PGD), directorio intermedio (PMD) y tabla de páginas (PT).

Copyright © Conocimiento de Windows All Rights Reserved