La asignación de memoria está dividida en dos tipos: memoria estática y memoria 

La memoria estática se asigna en tiempo de compilación con un tamaño fijo, mientras que la memoria dinámica se asigna durante la ejecución del programa, permitiendo la solicitud y liberación de memoria según sea necesario. La segmentación divide la memoria en segmentos de tamaño variable para diferentes partes del programa, facilitando la protección y aislamiento de componentes, pero puede causar fragmentación externa. Por otro lado, la paginación divide la memoria en bloques de tamaño fijo llamados páginas, eliminando la fragmentación externa y permitiendo la implementación de la memoria virtual.dinámica.



La gestión del espacio de direcciones incluye el espacio de direcciones físicas y virtuales. 
El primero corresponde a la memoria RAM real en el hardware de la computadora, donde cada proceso debe ser asignado a una región específica para evitar conflictos. 
El espacio de direcciones virtuales permite a los procesos trabajar como si tuvieran acceso exclusivo a la memoria, incluso compartiéndola físicamente con otros procesos. 
El sistema operativo utiliza tablas de páginas para traducir las direcciones virtuales a direcciones físicas en tiempo real, permitiendo la ejecución de programas más grandes en sistemas con memoria limitada mediante técnicas como la paginación y el swapping.


¿QUÉ ES EL SWAPPING?

Swapping es un proceso en el cual los procesos se mueven entre la memoria RAM y el disco duro cuando la memoria física se agota. 

El sistema operativo intercambia procesos completos o páginas de procesos inactivos a un archivo de intercambio o partición de intercambio en el disco duro para liberar memoria física. Sin embargo, el acceso al disco es más lento que a la RAM, por lo que un uso excesivo de swapping puede disminuir significativamente el rendimiento, conocido como "thrashing".


La Fragmentación de Memoria puede ser interna o externa. 
La interna ocurre cuando el tamaño de asignación de memoria no coincide con las necesidades de un proceso, dejando espacio desperdiciado. La externa es cuando hay espacio libre disperso en bloques pequeños no contiguos que no se pueden utilizar, principalmente en sistemas de segmentación.

La Protección de Memoria es crucial para la estabilidad y seguridad del sistema, evitando que un proceso acceda a la memoria asignada a otro. 
Se implementa mediante tablas de páginas y segmentos para controlar el acceso a diferentes regiones de la memoria. Por ejemplo, las direcciones de memoria pueden ser marcadas como de solo lectura, escritura prohibida o no ejecutable. 
Si se intenta un acceso no permitido, el sistema operativo genera una interrupción y puede terminar el proceso para evitar la corrupción de datos.