Clasificación de la memoria, tipos de algoritmos de administración, definición y pseudocódigos de cada algoritmo

click to edit

click to edit

Clasificación de la Memoria:

Memoria Principal:

Memoria Secundaria:

Memoria RAM (Random Access Memory): Almacena datos y programas que están siendo utilizados activamente por la CPU.

Disco duro: Almacena datos y programas de forma permanente incluso cuando el sistema está apagado.

Memoria caché: Almacena copias de datos frecuentemente utilizados para mejorar el rendimiento de la CPU.

Memoria virtual: Extensión de la memoria RAM que utiliza parte del disco duro como espacio de almacenamiento adicional.

Unidades de estado sólido (SSD): Almacenamiento de datos no volátil basado en memoria flash.

Tipos de Algoritmos de Administración de Memoria:

Algoritmo de Sustitución de Páginas (Page Replacement Algorithm):

Algoritmo de Asignación de Espacio (Space Allocation Algorithm):

Algoritmo de Reemplazo de Caché (Cache Replacement Algorithm):

Definición: Determina qué páginas de memoria se deben reemplazar cuando ocurre un fallo de página.

Definición: Decide cómo se asigna el espacio de memoria a los procesos que solicitan memoria.

Definición: Determina qué datos en caché deben ser reemplazados cuando la caché está llena y se necesita espacio para nuevos datos.

Pseudocódigo (ejemplo - algoritmo de reemplazo de página FIFO):

Pseudocódigo (ejemplo - algoritmo de asignación de espacio First Fit):

Pseudocódigo (ejemplo - algoritmo de reemplazo de caché LRU):

Cuando ocurre un fallo de página:

Obtener la página más antigua en memoria.

Reemplazar esa página con la nueva página que debe ser cargada.

Actualizar las estructuras de datos necesarias.

Cuando llega una solicitud de memoria:

Cuando se necesita espacio en la caché:

Buscar el primer bloque de memoria libre que sea lo suficientemente grande para satisfacer la solicitud.

Identificar el dato menos recientemente utilizado en la caché.

Asignar ese bloque de memoria al proceso solicitante.

Actualizar las estructuras de datos necesarias.

Reemplazar ese dato con el nuevo dato que se desea almacenar.

Actualizar las estructuras de datos necesarias.