Directorio de artículos
1. Introducción
"La Doctrina del Medio" dice: "La plataforma de nueve pisos se eleva desde la base de la tierra." ¡Lo mismo es cierto para aquellos de nosotros que nos dedicamos a la tecnología!
Se puede decir que nunca ha prestado atención a Linux
la gestión de la memoria, pero existe en todos los aspectos de nuestro desarrollo diario. Los archivos que abre, las variables que crea y los programas que ejecuta se basan en esto. ser la operación La piedra angular del sistema; es solo que la capa inferior está tan bien encapsulada que no necesitamos preocuparnos demasiado durante el proceso de desarrollo. No hay años tranquilos, es solo que algunas personas llevan la carga hacia adelante. .
Aunque hay relativamente pocos involucrados en el desarrollo diario, como Linux
desarrollador calificado, es fundamental comprender la administración de la memoria y también será de gran beneficio para el desarrollo integrado. Hoy hablaremos sobre la administración de la memoria en detalle.
Hay muchos artículos muy buenos sobre este tema en Internet, pero 100 personas tienen 100 formas de comprensión y diferentes personas tienen diferentes fundamentos y diferentes capacidades de comprensión, por lo que tiene más sentido para mí escribir esta serie de artículos.
2. El origen de la gestión de la memoria.
¿Por qué necesitamos este concepto?
- En primer lugar, la gestión de la memoria, ¿qué se gestiona?
Lo que se administra en realidad es nuestra memoria física, es decir, nuestro RAM
espacio. En la computadora, está representado por los módulos de memoria que instalamos. Algunas personas instalan 4G
, 8G
o incluso 64G
. Estos son los tamaños reales del espacio físico, que es nuestro de real recursos de hardware.
- ¿Por qué gestionar?
C51
Cualquiera que realice trabajos integrados sabe que, al igual que los microcontroladores y los microcontroladores con los que acabamos de empezar a jugar STM32
, después de grabar el programa en Flash
el medio, después de iniciar, el programa CPU
se Flash
cargará en RAM
el medio, que es nuestra memoria física, y luego todo Nuestras operaciones se basarán todas en esta memoria física.
Entonces en este momento :
- ¿Qué debemos hacer si queremos volver a ejecutar un programa idéntico?
- Incluso si se ejecuta, ¿qué debo hacer si los dos programas operan la misma variable al mismo tiempo y el valor se modifica incorrectamente?
Esto es Linux
lo que hace la gestión de la memoria.
Por cierto, me gustaría presentarles mi círculo: un lugar de reunión para ingenieros experimentados . Espero que todos se unan a mí.
3. Ideas de gestión de memoria de Linux
Para resolver algunos de los problemas anteriores, Linux
se utiliza tecnología de gestión de memoria virtual.
Linux
El sistema operativo abstrae el concepto de un espacio de direcciones virtuales para que lo utilicen los usuarios de nivel superior, con el propósito de hacer que múltiples procesos de usuario piensen que tienen espacio de memoria exclusivo.- La relación correspondiente entre el espacio de direcciones virtuales y el espacio de direcciones físicas se deja a cargo de una
MMU(Memory Managerment Unit)
persona especial para que la administre, quien es el principal responsable de asignar el espacio de memoria virtual al espacio de direcciones físicas reales.
El objetivo principal de hacer esto es:
- Deje que cada proceso tenga el mismo tamaño de espacio de direcciones virtuales
- Evitar que los usuarios accedan directamente a la memoria física, provocando fallos del sistema
De esta forma ejecutamos múltiples procesos al mismo tiempo, aunque parece que las operaciones de direcciones virtuales son las mismas, luego de pasarlas se MMU
asignan a diferentes espacios de direcciones físicas, solucionando así el problema anterior.
4. Resumen
Familiarizados con el origen y las ideas de la gestión de la memoria, podemos ver que la gestión de la memoria del sistema operativo se divide principalmente en los siguientes aspectos:
- Gestión del espacio de memoria virtual : ¿Cómo utilizar y gestionar el espacio de direcciones virtuales que abstrajimos?
- Gestión del espacio de memoria física : una vez asignada la dirección virtual al espacio de memoria física, ¿cómo administrarla y cómo asignarla?
- Cómo mapear : ¿Cómo se mapea la memoria virtual a la memoria física? ¿Cómo funciona? ¿Cuáles son los métodos de mapeo?
Exploremos cada uno de ellos en detalle a continuación.
Me gusta + seguir, nunca te pierdas