¿Qué es la gestión de la memoria?
Gestión de la memoria el proceso de controlar y coordinar la memoria de la computadora, asignando partes llamadas bloques a varios programas en ejecución para optimizar el rendimiento general del sistema.
La función más importante de un sistema operativo es administrar la memoria primaria. Ayuda a que los procesos se muevan hacia adelante y hacia atrás entre la memoria principal y el disco de ejecución. Ayuda al sistema operativo a realizar un seguimiento de todas las ubicaciones de memoria, independientemente de si está asignada a algún proceso o si permanece libre.
En este tutorial del sistema operativo aprenderás:
¿Por qué utilizar la gestión de memoria?
A continuación, se muestran algunas razones para utilizar la gestión de memoria:
- Le permite verificar la cantidad de memoria requerida para asignar a los procesos que determina qué procesador debe recibir memoria a la vez.
- Realiza un seguimiento cada vez que se libera o asigna un inventario. Según él, actualizará el estado.
- Asigna espacio a las rutinas de la aplicación.
- También asegura que estas aplicaciones no interfieran entre sí.
- Ayuda a proteger diferentes procesos entre sí.
- Recuerda a los programas para que la memoria se utilice por completo.
Técnicas de gestión de la memoria
Estas son algunas de las técnicas de administración de memoria más importantes:
Asignación táctil única
Es la técnica de gestión de memoria más sencilla. En este modo, toda la memoria de la computadora reservada para el sistema operativo, excepto una pequeña parte, está disponible para una aplicación. Por ejemplo, un sistema operativo MS-DOS asigna memoria de esta manera. Un sistema integrado también se ejecuta en una aplicación.
Asignación de segmentos
Divide la memoria primaria en diferentes particiones de memoria, que en su mayoría son áreas de memoria táctil. Cada partición almacena toda la información para una tarea o trabajo específico. Este método consiste en asignar una partición a un trabajo cuando se inicia y no en asignarlo cuando finaliza.
Gestión de memoria paginada
Este método divide la memoria principal de la computadora en unidades de tamaño fijo llamadas marcos de página. Esta unidad de gestión de memoria de hardware mapea páginas en marcos que deben asignarse por página.
Gestión de memoria segmentada
La memoria particionada es el único método de administración de memoria que no proporciona un espacio de direcciones lineal tangencial para el programa de usuario.
Los segmentos necesitan soporte de hardware en forma de tabla de segmentos. La dirección física de la pieza está contenida en la memoria, tamaño y otros datos como bits y estado de protección de acceso.
¿Qué es un Swap?
El intercambio es un método en el que el proceso debe cambiarse temporalmente de la memoria principal al repositorio de soporte. Se recordará más adelante para continuar con su ejecución.
El repositorio de respaldo es un disco duro o algún otro dispositivo de almacenamiento secundario que debe ser lo suficientemente grande para proporcionar copias de todas las imágenes de la memoria a cada usuario. Puede ofrecer acceso directo a estas imágenes de la memoria.
Ventajas de intercambio
Estos son algunos de los principales beneficios del intercambio:
- Ofrece un mayor nivel de multiprogramación.
- Permite la reubicación dinámica. Por ejemplo, si se utilizan direcciones que son vinculantes en el momento de la ejecución, los procesos se pueden intercambiar en diferentes lugares. De lo contrario, para compilar y cargar conexiones de tiempo, los procesos deben moverse al mismo lugar.
- Ayuda a hacer un mejor uso de la memoria.
- Mínimo desperdicio de tiempo de CPU al finalizar, de modo que se pueda implementar fácilmente en un modo de programación basado en prioridades para mejorar su rendimiento.
¿Qué es la asignación de memoria?
La asignación de memoria es un proceso mediante el cual se asigna memoria o espacio a programas de computadora.
Aquí, la memoria principal se divide en dos tipos de particiones.
- Memoria baja – El sistema operativo tiene este tipo de memoria.
- Memoria alta– Se mantiene una gran memoria en los procesos del usuario.
Asignación de particiones
La memoria se divide en varios bloques o particiones. Cada proceso se asigna según el requisito. La asignación de particiones es un gran método para evitar la fragmentación interna.
Los siguientes son los diversos esquemas de asignación segregada:
- Primera instalación: En este tipo de ajuste, se asigna la partición, que es el primer bloque adecuado desde el inicio de la memoria principal.
- Mejor ajuste: Asigna el proceso a la partición que es la primera partición más pequeña entre las particiones libres.
- Peor ajuste: Asigna el proceso a la partición, que es la partición más disponible en la memoria principal.
- Siguiente ajuste: Es muy similar al primer ajuste, pero este ajuste busca la primera partición adecuada desde el último punto de asignación.
¿Qué es la paginación?
La paginación es un mecanismo de almacenamiento que le permite a su sistema operativo recuperar procesos del almacenamiento secundario a la memoria principal en forma de página. En el método de Paginación, la memoria principal se divide en pequeños bloques de memoria física de tamaño fijo, llamados marcos. El tamaño del marco debe mantenerse igual que el tamaño de la página para aprovechar al máximo la memoria principal y evitar la fragmentación externa. La paginación se utiliza para obtener un acceso más rápido a los datos y es un concepto lógico.
¿Qué es la fragmentación?
Los procesos se almacenan y eliminan de la memoria, creando espacio de memoria libre, que es demasiado pequeño para ser utilizado por otros procesos.
Después de horas, los procesos que no pueden asignarse a bloques de memoria se denominan fragmentación porque su pequeño tamaño y los bloques de memoria no se utilizan. Este tipo de problema ocurre durante los sistemas de asignación de memoria dinámica cuando los bloques libres son relativamente pequeños, por lo que no puede cumplir con ninguna solicitud.
Hay dos tipos de métodos de fragmentación:
- Fragmentación externa
- Fragmentación interna
- La fragmentación externa se puede reducir reorganizando el contenido de la memoria para combinar toda la memoria libre en un solo bloque.
- La fragmentación interna se puede reducir asignando la partición más pequeña, que aún es lo suficientemente buena para hacer todo el proceso.
¿Qué es una partición?
El método de segmentación funciona casi igual que la paginación. La única diferencia entre los dos es que las secciones son de longitud variable, pero, en el modo de paginación, las páginas son siempre de tamaño fijo.
El segmento de programación incluye la función principal del programa, estructuras de datos, funciones de utilidad, etc. El SO mantiene una tabla de mapas segmentados para todos los procesos. También incluye una lista de bloques de memoria libres junto con su tamaño, números de segmento y sus ubicaciones de memoria en la memoria principal o virtual.
¿Qué es la carga dinámica?
La carga dinámica es una rutina de un programa que no se carga hasta que el programa la solicita. Todas las rutinas deben estar en disco en un formato de carga reubicable. El programa principal se cargará en la memoria y se ejecutará. La carga dinámica también proporciona una mejor utilización del espacio de memoria.
¿Qué es la conexión dinámica?
La vinculación es un método que ayuda al sistema operativo a recopilar y fusionar varios módulos de código y datos en un solo archivo ejecutable. El archivo se puede cargar en la memoria y ejecutar. El sistema operativo puede conectar bibliotecas de nivel de sistema a un programa que combina las bibliotecas en el momento de la carga. En el modo de vinculación dinámica, las bibliotecas se vinculan en el momento de la ejecución, por lo que el tamaño del código del programa puede permanecer pequeño.
Diferencia entre carga estática y dinámica
Carga estática | Carga dinámica |
La carga estática se utiliza cuando desea cargar su programa de forma estática. Luego, en la compilación, todo el programa se vinculará y compilará sin ninguna dependencia de un módulo o programa externo. | En un programa cargado dinámicamente, se proporcionarán testimonios y la carga se ejecutará en la ejecución. |
En el momento de la carga, todo el programa se carga en la memoria y comienza a ejecutarse. | Las rutinas de la biblioteca se cargan en la memoria solo cuando el programa lo requiere. |
Diferencia entre enlaces estáticos y dinámicos
Estas son las principales diferencias entre enlaces estáticos y dinámicos:
Enlace estático | Vinculación dinámica |
La vinculación estática se utiliza para combinar todos los demás módulos, que requieren un programa, en un solo código ejecutable. Esto ayuda al sistema operativo a prevenir cualquier dependencia del tiempo de ejecución. | Cuando se utiliza una conexión dinámica, no es necesario conectar el módulo o biblioteca real al programa. En su lugar, utilice una referencia al módulo dinámico proporcionado en el momento de la compilación y el enlace. |
Resumen:
- La gestión de la memoria es el proceso de controlar y coordinar la memoria de la computadora, asignando partes llamadas bloques a varios programas en ejecución para optimizar el rendimiento general del sistema.
- Le permite verificar la cantidad de memoria requerida para asignar a los procesos que determina qué procesador debe recibir memoria a la vez.
- En la asignación táctil única, todo menos una pequeña parte de la memoria de la computadora reservada para el sistema operativo está disponible para una aplicación.
- El método de asignación de particiones divide la memoria primaria en diferentes particiones de memoria, que son principalmente áreas de memoria contiguas
- El método de administración de memoria paginada divide la memoria principal de la computadora en unidades de tamaño fijo llamadas marcos de página
- La memoria particionada es el único método de administración de memoria que no proporciona un espacio de direcciones lineal tangencial para el programa de usuario.
- El intercambio es un método en el que el proceso debe cambiarse temporalmente de la memoria principal al repositorio de soporte. Se recordará más adelante para continuar con su ejecución.
- La asignación de memoria es un proceso mediante el cual se asigna memoria o espacio a programas de computadora.
- La paginación es un mecanismo de almacenamiento que permite al sistema operativo recuperar procesos del almacenamiento secundario a la memoria principal en forma de página.
- La fragmentación se refiere al estado de un disco en el que los archivos se dividen en partes esparcidas por el disco.
- El método de segmentación funciona casi igual que la paginación. La única diferencia entre los dos es que las secciones son de longitud variable, pero, en el modo de paginación, las páginas son siempre de tamaño fijo.
- La carga dinámica es una rutina de un programa que no se carga hasta que el programa la solicita.
- La vinculación es un método que ayuda al sistema operativo a recopilar y fusionar varios módulos de código y datos en un solo archivo ejecutable.