Red de conocimiento informático - Aprendizaje de programación - Trasplante del sistema Linux

Trasplante del sistema Linux

Linux utiliza administración de memoria virtual, y el kernel y la MMU de hardware administran la memoria física juntos

4 GB es el límite de direccionamiento de sistemas de 32 bits (2 elevado a 32 potencia) y admite Física PAE La CPU de 32 bits con extensión de dirección utiliza direccionamiento de hardware de 36 bits, por lo que puede usar hasta 64 G de memoria. El sistema operativo de 32 bits puede admitir hasta 64 G de memoria con las modificaciones adecuadas para admitir PAE, pero cada una. El proceso de 32 bits todavía solo puede direccionar 4 GB en Windows. Algunos programas como MSSQL pueden usar indirectamente más memoria a través de la expansión de la ventana de direcciones AWE.

En Linux de 32 bits, como máximo cada proceso cree que tiene 4G de direccionamiento. espacio, de los cuales el 1G más alto está en el estado del kernel. El 3G bajo es el modo de usuario, lo que significa que el proceso en sí puede usar hasta 3 GB de espacio, pero es solo memoria virtual. Este espacio de memoria lineal continuo se divide en varios segmentos. , cada segmento almacena contenido diferente, como instrucciones, pilas, datos, etc. Espere, cada segmento se divide en páginas unitarias más pequeñas (páginas) y la MMU divide la memoria física en muchas páginas (páginas). mapee la asignación de memoria física Las páginas virtuales en el proceso necesitan almacenar datos. La MMU asigna memoria física solo cuando ocurre una interrupción por falla de página. Después de asignar la memoria física, el sistema utilizará el algoritmo utilizado menos recientemente. para seleccionar páginas inactivas y colocarlas en el espacio de intercambio (SWAP), liberando memoria física para asignar nuevas solicitudes de asignación. Si se consume toda la memoria física y el espacio de intercambio disponibles, el kernel también puede eliminar algunos procesos de acuerdo con reglas predeterminadas. liberar memoria En este momento, la aplicación puede verse afectada

Para aplicaciones de alto nivel, el bit 1G es para el sistema y los bits bajos 0-3G son el rango del usuario. El proceso del usuario solo puede operar el espacio de usuario de 3 GB. Muchas operaciones, como la lectura de archivos, requieren llamadas al sistema. En este momento, el proceso se transfiere al estado del núcleo para la confiabilidad del sistema. , esta parte del código la proporciona el sistema operativo. Se ejecuta en el nivel de privilegio de la CPU y puede operar directamente el hardware. Una vez que se completa la llamada al sistema, el proceso vuelve al nivel normal de la CPU para ejecutarse.