Instalación y mantenimiento de equipos y sistemas informáticos
Unidad 4
GESTIÓN DE MEMORIA
Andrés Rosique Hernández
[email protected]
Instalación y mantenimiento de equipos y sistemas informáticos
Licencia Esta obra está bajo una licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-nc-sa/3.0/es/ o envíe una carta a Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA.
U04. Gestión de memoria
2
Andrés Rosique Hernández
[email protected]
Instalación y mantenimiento de equipos y sistemas informáticos
Índice 1.Introducción 2.Objetivos 3.Tipos de asignación 1.Asignación en monoproceso 2.Asignación en multiproceso
4.Partición de la memoria 5.Paginación 6.Segementación
U04. Gestión de memoria
3
Andrés Rosique Hernández
[email protected]
Instalación y mantenimiento de equipos y sistemas informáticos
1. Introducción ●
●
La memoria es uno de los principales recursos de un ordenador y como tal debe de administrarse con mucho cuidado. Actualmente la mayoría de los ordenadores tienen una gran cantidad de memoria, sin embargo, aplicaciones actuales requieren también una gran cantidad de memoria, por lo que sigue habiendo escasez de memoria.
U04. Gestión de memoria
4
Andrés Rosique Hernández
[email protected]
Instalación y mantenimiento de equipos y sistemas informáticos
1. Introducción (2) ●
Gestión de memoria: – Consiste en la asignación de una memoria de
capacidad limitada a los diversos procesos que la soliciten. Los procesos la solicitan con objeto de activarse y entrar en ejecución. – Además, tiene que reubicar fuera de la memoria los procesos temporalmente inactivos para dejar espacio a otros procesos. ●
Administrador de memoria: parte del sistema operativo que administra la memoria.
U04. Gestión de memoria
5
Andrés Rosique Hernández
[email protected]
Instalación y mantenimiento de equipos y sistemas informáticos
1. Introducción (3) ●
Funciones del administrador de memoria: – Llevar en un registro las partes de memoria
que se están utilizando y las que no. De esta forma, reservará espacio de memoria para los nuevos procesos y liberará el espacio de los procesos que han finalizado. – Administrar el intercambio de datos entre memoria principal y disco, siempre y cuando los procesos sean tan grandes que no quepan de una sola vez en memoria.
U04. Gestión de memoria
6
Andrés Rosique Hernández
[email protected]
Instalación y mantenimiento de equipos y sistemas informáticos
1. Introducción (4) ●
Los sistemas de administración de memoria se pueden clasificar en dos grupos: – Aquellos que desplazan los procesos de
memoria principal a disco y al contrario (intercambio). – Aquellos que no realizan dicho desplazamiento.
U04. Gestión de memoria
7
Andrés Rosique Hernández
[email protected]
Instalación y mantenimiento de equipos y sistemas informáticos
2. Objetivos ●
Objetivos del administrador de memoria: – – – – –
Reubicación. Protección. Utilización compartida. Organización lógica. Organización física.
U04. Gestión de memoria
8
Andrés Rosique Hernández
[email protected]
Instalación y mantenimiento de equipos y sistemas informáticos
2. Objetivos (2) ●
Reubicación: – Consiste en transformar las direcciones usadas
por el programador (simbólicas o virtuales) en direcciones reales en las que se puede cargar físicamente el programa. – Tipos de reubicación: ▶
▶
Estática: la memoria asignada al programa es la misma durante toda la ejecución. Sólo ocurre en sistemas monoproceso. Dinámica: la memoria asignada al programa cambia durante la ejecución del mismo; por ejemplo, para compactar la memoria. Ocurre en los sistemas multiproceso.
U04. Gestión de memoria
9
Andrés Rosique Hernández
[email protected]
Instalación y mantenimiento de equipos y sistemas informáticos
2. Objetivos (3) ●
Protección: – Cada proceso debe protegerse de no interferir
con otros procesos (tanto accidental como intencionadamente). – Es decir, el código de un proceso no puede hacer referencia a posiciones de memoria de otros procesos sin permiso. – Hasta cierto punto, satisfacer las exigencias de reubicación aumenta la dificultad de satisfacción de las exigencias de protección.
U04. Gestión de memoria
10
Andrés Rosique Hernández
[email protected]
Instalación y mantenimiento de equipos y sistemas informáticos
2. Objetivos (4) ●
Utilización compartida: – Puede permitirse el acceso de varios procesos a
la misma zona de memoria. – Es mejor permitir a cada proceso (persona) acceder a la misma copia del programa, que tener una copia para cada uno. – Lo mismo ocurre con un área de datos común a varios procesos.
U04. Gestión de memoria
11
Andrés Rosique Hernández
[email protected]
Instalación y mantenimiento de equipos y sistemas informáticos
2. Objetivos (5) ●
Organización lógica: – La memoria principal se organiza como un
espacio de direcciones lineal (unidimensional). – Sin embargo, la mayoría de los programas se organizan en módulos. – Las ventajas de tratar programas y datos como módulos son: ▶
▶
▶
Los módulos pueden escribirse y compilarse independientemente. Pueden otorgarse distintos grados de protección (sólo lectura, sólo ejecución) a los módulos. Se pueden compartir módulos entre procesos.
U04. Gestión de memoria
12
Andrés Rosique Hernández
[email protected]
Instalación y mantenimiento de equipos y sistemas informáticos
2. Objetivos (6) ●
Organización física: – La memoria se organiza en al menos dos
niveles: ▶
Memoria principal: ● ● ●
▶
Acceso rápido. Cara. Volátil.
Memoria secundaria: ● ● ●
Acceso lento. Barata. No volátil.
– Por ello, la organización del flujo de información
entre la memoria principal y la secundaria tiene un gran interés para el sistema. –
U04. Gestión de memoria
13
Andrés Rosique Hernández
[email protected]
Instalación y mantenimiento de equipos y sistemas informáticos
2. Objetivos (7) ●
Organización física (cont.): – Esta responsabilidad es del sistema operativo
por dos motivos: ▶
La memoria disponible para un programa y sus datos puede ser insuficiente. ●
● ●
▶
La superposición (overlaying) permite que varios módulos sean asignados a la misma región de memoria. Un programa principal se encarga del intercambio. Esta técnica malgasta tiempo del programador.
El programador no conoce cuánto espacio habrá disponible.
U04. Gestión de memoria
14
Andrés Rosique Hernández
[email protected]
Instalación y mantenimiento de equipos y sistemas informáticos
3. Tipos de asignación ●
Existen muchos tipos de asignación pero de forma muy genérica se dividen en: – Asignación en monoproceso: ▶ Como sólo se puede ejecutar un proceso, además del sistema operativo, la memoria se divide en dos partes: zona del sistema operativo y zona del usuario. – Asignación en multiproceso: ▶ Existen muchas formas que las veremos más adelante: partición estática y dinámica, paginación, segmentación... ▶ Una de ellas consiste en dividir la memoria disponible en partes y cada parte se le asigna a un proceso.
U04. Gestión de memoria
15
Instalación y mantenimiento de equipos y sistemas informáticos
Andrés Rosique Hernández
3.1. Asignación en monoproceso ●
[email protected]
La memoria principal se divide en:
U04. Gestión de memoria
16
Instalación y mantenimiento de equipos y sistemas informáticos
Andrés Rosique Hernández
3.1. Asignación en monoproceso ●
[email protected]
La memoria principal se divide en:
Cuando se carga un proceso, el sistema operativo se asegura que sus direcciones estén dentro de los límites que corresponden a la zona del usuario. U04. Gestión de memoria
17
Instalación y mantenimiento de equipos y sistemas informáticos
Andrés Rosique Hernández
3.1. Asignación en monoproceso ●
[email protected]
La memoria principal se divide en:
Si se salen de esos límites, el sistema operativo no carga el proceso en memoria. U04. Gestión de memoria
18
Instalación y mantenimiento de equipos y sistemas informáticos
Andrés Rosique Hernández
3.1. Asignación en monoproceso (2) ●
[email protected]
Ventajas: – Tiempo de respuesta muy rápido. – Se adapta bien a los procesos en tiempo real.
●
Inconvenientes: – No permite más de un proceso.
U04. Gestión de memoria
19
Instalación y mantenimiento de equipos y sistemas informáticos
Andrés Rosique Hernández
3.2. Asignación en multiproceso ●
●
[email protected]
Incluye la partición estática y dinámica, la paginación y la segmentación. Cada una de ellas se tratará de forma independiente a continuación.
U04. Gestión de memoria
20
Andrés Rosique Hernández
[email protected]
Instalación y mantenimiento de equipos y sistemas informáticos
4. Partición de memoria ●
●
●
La partición de la memoria es una técnica de gestión de memoria hoy día obsoleta. La gestión es muy rápida por su simpleza y por eso también es muy limitada. Existen dos tipos de partición de memoria: – Estática. – Dinámica.
●
Sin embargo, la tabla de descripción de particiones es un elemento común a ambos.
U04. Gestión de memoria
21
Andrés Rosique Hernández
[email protected]
Instalación y mantenimiento de equipos y sistemas informáticos
4. Partición de memoria (2) ●
Tabla de descripción de particiones: – Controla las particiones libres y asignadas. – Cada vez que se crea una partición, se
introduce en la tabla: ▶ ▶ ▶ ▶
El número de partición. La base o la dirección de comienzo de la partición. El tamaño. Si está asignada o no.
– Cuando se deja de usar una partición, se libera
y queda como memoria libre.
U04. Gestión de memoria
22
Andrés Rosique Hernández
[email protected]
Instalación y mantenimiento de equipos y sistemas informáticos
4. Partición de memoria (3) ●
Tabla de descripción de particiones (cont.): Nº
Base
Tamaño
Estado
0
0
200
Asignado
1
200
200
Asignado
2
400
250
Libre
3
650
170
Asignado
4
820
80
Asignado
5
900
600
Libre
U04. Gestión de memoria
23
Andrés Rosique Hernández
Instalación y mantenimiento de equipos y sistemas informáticos
[email protected]
4. Partición de memoria (4) Partición estática ●
La memoria se divide en particiones fijas. – De igual tamaño:
U04. Gestión de memoria
24
Andrés Rosique Hernández
Instalación y mantenimiento de equipos y sistemas informáticos
[email protected]
4. Partición de memoria (4) Partición estática ●
La memoria se divide en particiones fijas. – De igual tamaño: – De distinto tamaño:
U04. Gestión de memoria
25
Andrés Rosique Hernández
Instalación y mantenimiento de equipos y sistemas informáticos
[email protected]
4. Partición de memoria (4) Partición estática ●
●
La memoria se divide en particiones fijas. El número de particiones se hace en función de: – La capacidad de la memoria. – El número de procesos que se
van a ejecutar a la vez.
U04. Gestión de memoria
26
Andrés Rosique Hernández
Instalación y mantenimiento de equipos y sistemas informáticos
[email protected]
4. Partición de memoria (5) Partición estática ●
●
En raras ocasiones el tamaño del proceso coincidirá con el de la partición (ya sean las particiones de igual o distinto tamaño), por lo que en cada partición sobrará un hueco que no podrá aprovechar ningún proceso. A esto se le denomina fragmentación interna.
U04. Gestión de memoria
27
Andrés Rosique Hernández
Instalación y mantenimiento de equipos y sistemas informáticos
[email protected]
4. Partición de memoria (6) Partición estática ●
Algoritmos de asignación: – Primer ajuste: se asigna al proceso la primera
partición libre de tamaño igual o mayor al requerido. – Mejor ajuste: se asigna al proceso la partición que mejor se adapte al tamaño del proceso de entre todas las libres. – Sólo el mejor ajuste: igual que el anterior pero buscando en todas las particiones (asignadas o no). Si la partición está asignada, hay que esperar a que quede libre. U04. Gestión de memoria
28
Andrés Rosique Hernández
Instalación y mantenimiento de equipos y sistemas informáticos
[email protected]
4. Partición de memoria (7) Partición estática ●
Ejemplos de algoritmos de asignación: Indica cómo se ubicarían en memoria los siguientes procesos con los algoritmos de primer ajuste, mejor ajuste y sólo mejor ajuste: Proceso 1 → 64 MB Proceso 2 → 100 MB Proceso 3 → 120 MB Proceso 4 → 30 MB
U04. Gestión de memoria
29
Andrés Rosique Hernández
Instalación y mantenimiento de equipos y sistemas informáticos
[email protected]
4. Partición de memoria (7) Partición estática ●
Ejemplos de algoritmos de asignación: Indica cómo se ubicarían en memoria los siguientes procesos con el algoritmo de primer ajuste: Proceso 1 → 64 MB Proceso 2 → 100 MB Proceso 3 → 120 MB (sin asignar) Proceso 4 → 30 MB
U04. Gestión de memoria
30
Andrés Rosique Hernández
Instalación y mantenimiento de equipos y sistemas informáticos
[email protected]
4. Partición de memoria (7) Partición estática ●
Ejemplos de algoritmos de asignación: Indica cómo se ubicarían en memoria los siguientes procesos con el algoritmo de mejor ajuste: Proceso 1 → 64 MB Proceso 2 → 100 MB Proceso 3 → 120 MB Proceso 4 → 30 MB
U04. Gestión de memoria
31
Andrés Rosique Hernández
Instalación y mantenimiento de equipos y sistemas informáticos
[email protected]
4. Partición de memoria (7) Partición estática ●
Ejemplos de algoritmos de asignación: Indica cómo se ubicarían en memoria los siguientes procesos con el algoritmo de sólo el mejor ajuste: Proceso 1 → 64 MB Proceso 2 → 100 MB Proceso 3 → 120 MB Proceso 4 → 30 MB
U04. Gestión de memoria
32
Andrés Rosique Hernández
Instalación y mantenimiento de equipos y sistemas informáticos
[email protected]
4. Partición de memoria (8) Partición estática ●
Ventajas: – El sistema de gestión de memoria más simple
para multiprogramación. – Ideal para procesos de tamaños y características conocidas. ●
Desventajas: – Inflexible para procesos que requieren de más
memoria durante su ejecución. – La fragmentación interna puede ser muy alta → se desaprovecha mucho la memoria.
U04. Gestión de memoria
33
Andrés Rosique Hernández
Instalación y mantenimiento de equipos y sistemas informáticos
[email protected]
4. Partición de memoria (9) Partición dinámica ●
●
La memoria se divide en particiones variables en número y tamaño. Al proceso se le asigna exactamente la memoria que necesita.
U04. Gestión de memoria
34
Andrés Rosique Hernández
Instalación y mantenimiento de equipos y sistemas informáticos
[email protected]
4. Partición de memoria (10) Partición dinámica ●
●
●
Cuando no queda espacio para otro proceso, el sistema reemplaza un proceso no listo por el nuevo proceso. Como rara vez tendrá el mismo tamaño, dejará un hueco. Después de un tiempo, en el sistema habrá varios huecos y el rendimiento decae. – A esto se le denomina fragmentación
externa.
U04. Gestión de memoria
35
Andrés Rosique Hernández
Instalación y mantenimiento de equipos y sistemas informáticos
[email protected]
4. Partición de memoria (11) Partición dinámica
U04. Gestión de memoria
36
Andrés Rosique Hernández
Instalación y mantenimiento de equipos y sistemas informáticos
[email protected]
4. Partición de memoria (12) Partición dinámica
U04. Gestión de memoria
37
Andrés Rosique Hernández
Instalación y mantenimiento de equipos y sistemas informáticos
[email protected]
4. Partición de memoria (13) Partición dinámica ●
Algoritmos de asignación: – Primer ajuste: se asigna al proceso la primera
partición libre de tamaño igual o mayor al requerido. – Mejor ajuste: se asigna al proceso la partición que mejor se adapte al tamaño del proceso de entre todas las libres. – Peor ajuste: se asigna al proceso la partición que deja más hueco libre (ese hueco podrá ser utilizado para una nueva partición).
U04. Gestión de memoria
Los métodos de primer y mejor ajuste son mejores que el peor ajuste en términos de velocidad y aprovechamiento de la memoria.
38
Andrés Rosique Hernández
Instalación y mantenimiento de equipos y sistemas informáticos
[email protected]
4. Partición de memoria (14) Partición dinámica ●
Ejemplos de algoritmos de asignación: Indica cómo se ubicarían en memoria los siguientes procesos con los algoritmos de primer ajuste, mejor ajuste y peor ajuste: Proceso 1 → 64 MB Proceso 2 → 100 MB Proceso 3 → 120 MB Proceso 4 → 30 MB Si tenemos inicialmente la memoria ocupada tal y como se muestra en la figura con dos procesos.
U04. Gestión de memoria
39
Andrés Rosique Hernández
Instalación y mantenimiento de equipos y sistemas informáticos
[email protected]
4. Partición de memoria (14) Partición dinámica ●
Ejemplos de algoritmos de asignación: Indica cómo se ubicarían en memoria los siguientes procesos con el algoritmo de primer ajuste: Proceso 1 → 64 MB Proceso 2 → 100 MB Proceso 3 → 120 MB (sin asignar) ● Proceso 4 → 30 MB
U04. Gestión de memoria
40
Andrés Rosique Hernández
Instalación y mantenimiento de equipos y sistemas informáticos
[email protected]
4. Partición de memoria (14) Partición dinámica ●
Ejemplos de algoritmos de asignación: Indica cómo se ubicarían en memoria los siguientes procesos con el algoritmo de mejor ajuste: Proceso 1 → 64 MB Proceso 2 → 100 MB Proceso 3 → 120 MB ● Proceso 4 → 30 MB
U04. Gestión de memoria
41
Andrés Rosique Hernández
Instalación y mantenimiento de equipos y sistemas informáticos
[email protected]
4. Partición de memoria (14) Partición dinámica ●
Ejemplos de algoritmos de asignación: Indica cómo se ubicarían en memoria los siguientes procesos con el algoritmo de peor ajuste: Proceso 1 → 64 MB Proceso 2 → 100 MB Proceso 3 → 120 MB (sin asignar) ● Proceso 4 → 30 MB
U04. Gestión de memoria
42
Andrés Rosique Hernández
Instalación y mantenimiento de equipos y sistemas informáticos
[email protected]
4. Partición de memoria (15) Partición dinámica ●
Ventajas: – Los procesos ocupan sólo el espacio que
necesitan. – No hay fragmentación interna. – El número de procesos en ejecución es variable. ●
Desventajas: – Existe fragmentación externa.
U04. Gestión de memoria
43
Andrés Rosique Hernández
[email protected]
Instalación y mantenimiento de equipos y sistemas informáticos
5. Paginación ●
●
La memoria principal se encuentra dividida en pequeños trozos iguales de tamaño fijo. Cada proceso se divide en pequeños trozos del mismo tamaño que la memoria. – Los trozos del proceso se denominan páginas. – Los trozos libres de memoria se denominan
marcos (frames) o marcos de página.
●
El sistema operativo mantiene una tabla de páginas para cada proceso que muestra la posición del marco de cada página del proceso.
U04. Gestión de memoria
44
Andrés Rosique Hernández
[email protected]
Instalación y mantenimiento de equipos y sistemas informáticos
5. Paginación (2) ●
La dirección de la memoria consta de: – Un número de página. – Un desplazamiento dentro de la página.
●
●
●
Con la paginación, el hardware del procesador también realiza la traducción de direcciones pero ahora debe saber como acceder a la tabla de páginas del proceso. Sólo existe fragmentación interna en la última página. No hay fragmentación externa.
U04. Gestión de memoria
45
Andrés Rosique Hernández
[email protected]
Instalación y mantenimiento de equipos y sistemas informáticos
5. Paginación (3)
U04. Gestión de memoria
46
Andrés Rosique Hernández
[email protected]
Instalación y mantenimiento de equipos y sistemas informáticos
5. Paginación (4)
U04. Gestión de memoria
47
Andrés Rosique Hernández
Instalación y mantenimiento de equipos y sistemas informáticos
[email protected]
5. Paginación (5) Algoritmos de reemplazo ●
●
Los algoritmos de reemplazo de páginas son usados para decidir qué páginas pueden ser sacadas de memoria cuando se necesita cargar una nueva y ya no hay espacio. Los principales son los siguientes: – FIFO. – LRU. – Óptimo.
U04. Gestión de memoria
48
Andrés Rosique Hernández
Instalación y mantenimiento de equipos y sistemas informáticos
[email protected]
5. Paginación (6) Algoritmos de reemplazo ●
FIFO (First In, First Out) – Sólo hay que guardar en qué orden son
cargadas las páginas. – Cuando hay que decidir qué página se saca de memoria, se elige la primera que se cargó. – Este algoritmo presenta la Anomalía FIFO o Anomalía de Belady: ▶
▶
Un sistema con un número de marcos de páginas igual a tres tenía menos fallos de páginas que un sistema con cuatro marcos de páginas. El problema consiste en que podemos quitar de memoria una página de memoria muy usada, sólo porque es la más antigua.
U04. Gestión de memoria
49
Andrés Rosique Hernández
Instalación y mantenimiento de equipos y sistemas informáticos
[email protected]
5. Paginación (7) Algoritmos de reemplazo ●
FIFO: – Ejemplo: Tenemos 5 marcos de pagina y
necesitamos cargar en memoria las paginas e, d, g, b, f, d, e, d, i, a.
U04. Gestión de memoria
50
Andrés Rosique Hernández
Instalación y mantenimiento de equipos y sistemas informáticos
[email protected]
5. Paginación (7) Algoritmos de reemplazo ●
FIFO: – Ejemplo: Tenemos 5 marcos de pagina y
necesitamos cargar en memoria las paginas e, d, g, b, f, d, e, d, i, a.
U04. Gestión de memoria
51
Andrés Rosique Hernández
Instalación y mantenimiento de equipos y sistemas informáticos
[email protected]
5. Paginación (7) Algoritmos de reemplazo ●
FIFO: – Ejemplo: Tenemos 5 marcos de pagina y
necesitamos cargar en memoria las paginas e, d, g, b, f, d, e, d, i, a.
U04. Gestión de memoria
52
Andrés Rosique Hernández
Instalación y mantenimiento de equipos y sistemas informáticos
[email protected]
5. Paginación (7) Algoritmos de reemplazo ●
FIFO: – Ejemplo: Tenemos 5 marcos de pagina y
necesitamos cargar en memoria las paginas e, d, g, b, f, d, e, d, i, a.
U04. Gestión de memoria
53
Andrés Rosique Hernández
Instalación y mantenimiento de equipos y sistemas informáticos
[email protected]
5. Paginación (7) Algoritmos de reemplazo ●
FIFO: – Ejemplo: Tenemos 5 marcos de pagina y
necesitamos cargar en memoria las paginas e, d, g, b, f, d, e, d, i, a.
U04. Gestión de memoria
54
Andrés Rosique Hernández
Instalación y mantenimiento de equipos y sistemas informáticos
[email protected]
5. Paginación (7) Algoritmos de reemplazo ●
FIFO: – Ejemplo: Tenemos 5 marcos de pagina y
necesitamos cargar en memoria las paginas e, d, g, b, f, d, e, d, i, a.
U04. Gestión de memoria
55
Andrés Rosique Hernández
Instalación y mantenimiento de equipos y sistemas informáticos
[email protected]
5. Paginación (7) Algoritmos de reemplazo ●
FIFO: – Ejemplo: Tenemos 5 marcos de pagina y
necesitamos cargar en memoria las paginas e, d, g, b, f, d, e, d, i, a.
U04. Gestión de memoria
56
Andrés Rosique Hernández
Instalación y mantenimiento de equipos y sistemas informáticos
[email protected]
5. Paginación (7) Algoritmos de reemplazo ●
FIFO: – Ejemplo: Tenemos 5 marcos de pagina y
necesitamos cargar en memoria las paginas e, d, g, b, f, d, e, d, i, a.
U04. Gestión de memoria
57
Andrés Rosique Hernández
Instalación y mantenimiento de equipos y sistemas informáticos
[email protected]
5. Paginación (7) Algoritmos de reemplazo ●
FIFO: – Ejemplo: Tenemos 5 marcos de pagina y
necesitamos cargar en memoria las paginas e, d, g, b, f, d, e, d, i, a.
U04. Gestión de memoria
58
Andrés Rosique Hernández
Instalación y mantenimiento de equipos y sistemas informáticos
[email protected]
5. Paginación (7) Algoritmos de reemplazo ●
FIFO: – Ejemplo: Tenemos 5 marcos de pagina y
necesitamos cargar en memoria las paginas e, d, g, b, f, d, e, d, i, a.
U04. Gestión de memoria
59
Andrés Rosique Hernández
Instalación y mantenimiento de equipos y sistemas informáticos
[email protected]
5. Paginación (7) Algoritmos de reemplazo ●
FIFO: – Ejemplo: Tenemos 5 marcos de pagina y
necesitamos cargar en memoria las paginas e, d, g, b, f, d, e, d, i, a.
U04. Gestión de memoria
60
Andrés Rosique Hernández
Instalación y mantenimiento de equipos y sistemas informáticos
[email protected]
5. Paginación (8) Algoritmos de reemplazo ●
LRU (Last Recently Used): – Reemplaza las páginas que fueron menos
usasas recientemente. – Hay que guardar en qué orden han sido usadas las páginas. – Cuando hay que decidir qué página se saca de memoria, se elige la que lleve más tiempo sin usarse. – Es un algoritmo caro de implementar por los recursos que consume.
U04. Gestión de memoria
61
Andrés Rosique Hernández
Instalación y mantenimiento de equipos y sistemas informáticos
[email protected]
5. Paginación (8) Algoritmos de reemplazo ●
LRU: – Ejemplo: Tenemos 5 marcos de pagina y
necesitamos cargar en memoria las paginas e, d, g, b, f, d, e, d, i, a.
U04. Gestión de memoria
62
Andrés Rosique Hernández
Instalación y mantenimiento de equipos y sistemas informáticos
[email protected]
5. Paginación (8) Algoritmos de reemplazo ●
LRU: – Ejemplo: Tenemos 5 marcos de pagina y
necesitamos cargar en memoria las paginas e, d, g, b, f, d, e, d, i, a.
U04. Gestión de memoria
63
Andrés Rosique Hernández
Instalación y mantenimiento de equipos y sistemas informáticos
[email protected]
5. Paginación (8) Algoritmos de reemplazo ●
LRU: – Ejemplo: Tenemos 5 marcos de pagina y
necesitamos cargar en memoria las paginas e, d, g, b, f, d, e, d, i, a.
U04. Gestión de memoria
64
Andrés Rosique Hernández
Instalación y mantenimiento de equipos y sistemas informáticos
[email protected]
5. Paginación (8) Algoritmos de reemplazo ●
LRU: – Ejemplo: Tenemos 5 marcos de pagina y
necesitamos cargar en memoria las paginas e, d, g, b, f, d, e, d, i, a.
U04. Gestión de memoria
65
Andrés Rosique Hernández
Instalación y mantenimiento de equipos y sistemas informáticos
[email protected]
5. Paginación (8) Algoritmos de reemplazo ●
LRU: – Ejemplo: Tenemos 5 marcos de pagina y
necesitamos cargar en memoria las paginas e, d, g, b, f, d, e, d, i, a.
U04. Gestión de memoria
66
Andrés Rosique Hernández
Instalación y mantenimiento de equipos y sistemas informáticos
[email protected]
5. Paginación (8) Algoritmos de reemplazo ●
LRU: – Ejemplo: Tenemos 5 marcos de pagina y
necesitamos cargar en memoria las paginas e, d, g, b, f, d, e, d, i, a.
U04. Gestión de memoria
67
Andrés Rosique Hernández
Instalación y mantenimiento de equipos y sistemas informáticos
[email protected]
5. Paginación (8) Algoritmos de reemplazo ●
LRU: – Ejemplo: Tenemos 5 marcos de pagina y
necesitamos cargar en memoria las paginas e, d, g, b, f, d, e, d, i, a.
U04. Gestión de memoria
68
Andrés Rosique Hernández
Instalación y mantenimiento de equipos y sistemas informáticos
[email protected]
5. Paginación (8) Algoritmos de reemplazo ●
LRU: – Ejemplo: Tenemos 5 marcos de pagina y
necesitamos cargar en memoria las paginas e, d, g, b, f, d, e, d, i, a.
U04. Gestión de memoria
69
Andrés Rosique Hernández
Instalación y mantenimiento de equipos y sistemas informáticos
[email protected]
5. Paginación (8) Algoritmos de reemplazo ●
LRU: – Ejemplo: Tenemos 5 marcos de pagina y
necesitamos cargar en memoria las paginas e, d, g, b, f, d, e, d, i, a.
U04. Gestión de memoria
70
Andrés Rosique Hernández
Instalación y mantenimiento de equipos y sistemas informáticos
[email protected]
5. Paginación (8) Algoritmos de reemplazo ●
LRU: – Ejemplo: Tenemos 5 marcos de pagina y
necesitamos cargar en memoria las paginas e, d, g, b, f, d, e, d, i, a.
U04. Gestión de memoria
71
Andrés Rosique Hernández
Instalación y mantenimiento de equipos y sistemas informáticos
[email protected]
5. Paginación (8) Algoritmos de reemplazo ●
LRU: – Ejemplo: Tenemos 5 marcos de pagina y
necesitamos cargar en memoria las paginas e, d, g, b, f, d, e, d, i, a.
U04. Gestión de memoria
72
Andrés Rosique Hernández
Instalación y mantenimiento de equipos y sistemas informáticos
[email protected]
5. Paginación (9) Algoritmos de reemplazo ●
Óptimo: – Retira la página que vaya a ser referenciada –
–
– –
más tarde. Por ejemplo si hay una página A que será usada dentro de 100 instrucciones, y una B que será usada dentro de 28, se debería eliminar de la memoria la página A. El problema de este método es que necesita conocimiento del futuro, por lo que es imposible su implementación. Es un algoritmo teórico. Se utiliza a los efectos comparativos.
U04. Gestión de memoria
73
Andrés Rosique Hernández
[email protected]
Instalación y mantenimiento de equipos y sistemas informáticos
6. Segmentación ●
● ●
La idea fundamental es que no es necesario que todos los segmentos de todos los programas tengan la misma longitud. Existe una longitud máxima de segmento. Una dirección lógica segmentada consta de dos partes: – Un número de segmento. – Un desplazamiento.
U04. Gestión de memoria
74
Andrés Rosique Hernández
[email protected]
Instalación y mantenimiento de equipos y sistemas informáticos
6. Segmentación (2) ●
●
●
La segmentación se parece a la partición dinámica porque emplea segmentos de distinto tamaño. La diferencia es que, con segmentación, un programa puede ocupar más de una partición y no tienen por qué estar contiguas. Como los procesos se dividen en partes más pequeñas, la fragmentación externa es menor.
U04. Gestión de memoria
75
Andrés Rosique Hernández
[email protected]
Instalación y mantenimiento de equipos y sistemas informáticos
6. Segmentación (3) ●
●
●
● ●
Como en paginación, se hace uso de una tabla de segmentos para cada proceso. Cada entrada de la tabla tiene la dirección de comienzo del segmento y su longitud → garantiza que no se usan direcciones inválidas. También existe una lista de bloques libres en la memoria principal. No existe fragmentación interna. Existe fragmentación externa pero en menor medida que en la partición dinámica
U04. Gestión de memoria
76
Andrés Rosique Hernández
[email protected]
Instalación y mantenimiento de equipos y sistemas informáticos
Bibliografía ●
●
Stallings, W. Sistemas operativos. Principios de diseño e interioridades. Cuarta Edición. Prentice Hall, 2001. Muñoz, F.J., Benítez, J.I., Lozano, A. Sistemas operativos en entornos monousuario y multiusuario. McGraw-Hill, 2005.
U04. Gestión de memoria
77