Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Gestión de
Memoria
Facultad de Ciencias de la Ingeniería
Ingeniería Informática y Ciencias de la
Computación
Operating System Concepts – 9th Edit9on Silberschatz, Galvin and Gagne ©2013
Contenido
Memoria Principal
Memoria Virtual
Operating System Concepts – 9th Edition 1.2 Silberschatz, Galvin and Gagne ©2013
Introducción
Operating System Concepts – 9th Edition 1.3 Silberschatz, Galvin and Gagne ©2013
Introducción
Operating System Concepts – 9th Edition 1.5 Silberschatz, Galvin and Gagne ©2013
Introducción
Storage Systems
ALMACENAMIENTO
VOLATIL
ALMACENAMIENTO
PRIMARIO
SSHD
ALMACENAMIENTO
ALMACENAMIENTO
SECUNDARIO O
NO VOLATIL
EN CONEXION
ALMACENAMIENTO
TERCIARIO O
SIN CONEXION
Operating System Concepts – 9th Edition 1.6 Silberschatz, Galvin and Gagne ©2013
Funciones y operaciones del administrador de memoria
Espacio de direccionamiento*
La gestión de memoria está íntimamente ligada a la gestión de
procesos, ambas tienen el fin de permitir que el ordenador puede
ejecutar los procesos en modo de multitarea.
Todos los programas a ejecutar deben cargarse a la memoria del
sistema antes de ser utilizados, es decir, el sistema operativo debe
administrar la memoria para permitir que varios procesos la
compartan.
La memoria está estructurada como un arreglo direccionable de
bytes. Esto es, al solicitar el contenido de una dirección específica
de memoria, el hardware entregará un byte (8 bits), y no menos.
Un procesador que soporta un espacio de direccionamiento de 16
bits puede referirse directamente a hasta 65,536 bytes (64KB).
Estos procesadores fueron comunes en las décadas de 1970 y
1980—Los más conocidos incluyen al Intel 8080 y 8085, Zilog Z80,
MOS 6502 y 6510, y Motorola 6800.
* Para que los programas informáticos guarden y recuperen los datos almacenados, cada unidad de datos
debe tener una dirección en la que pueda localizarse individualmente, o bien el programa no podrá
encontrar y manipular los datos.
Operating System Concepts – 9th Edition 1.7 Silberschatz, Galvin and Gagne ©2013
Funciones y operaciones del administrador de memoria
Espacio de direccionamiento
Hoy en día, los procesadores dominantes son de 32 o 64 bits. En
el caso de los procesadores de 32 bits, sus registros pueden
referenciar hasta 4,294,967,296 bytes (4GB) de RAM, que está ya
dentro de los parámetros de lo esperable hoy en día.
Un procesador de 64 bits podría direccionar hasta
18,446,744,073,709,551,616 bytes (16 Exabytes). Los
procesadores comercialmente hoy en día no ofrecen esta
capacidad de direccionamiento principalmente por un criterio
económico: Al resultar tan poco probable que exista un sistema
con estas capacidades, los chips actuales están limitados entre
240 y 248 bits — 1 y 256 terabytes. Esta restricción debe seguir
teniendo sentido económico por muchos años aún.
Operating System Concepts – 9th Edition 1.8 Silberschatz, Galvin and Gagne ©2013
Funciones y operaciones del administrador de memoria
Operating System Concepts – 9th Edition 1.9 Silberschatz, Galvin and Gagne ©2013
Funciones y operaciones del administrador de memoria
Operating System Concepts – 9th Edition 1.10 Silberschatz, Galvin and Gagne ©2013
Funciones y operaciones del administrador de memoria
Operating System Concepts – 9th Edition 1.11 Silberschatz, Galvin and Gagne ©2013
Funciones y operaciones del administrador de memoria
La memoria caché
Cuando el procesador solicita el contenido de una dirección de
memoria y esta no está aún disponible, tiene que detener su
ejecución (stall) hasta que los datos estén disponibles.
El CPU no puede, a diferencia del sistema operativo, “congelar”
todo y guardar el estado para atender a otro proceso: Para el
procesador, la lista de instrucciones a ejecutar es estrictamente
secuencial, y todo tiempo que requiere esperar a una transferencia
de datos es tiempo perdido.
La respuesta para reducir esa espera es la memoria caché.
Esta es una memoria de alta velocidad, situada entre la memoria
principal y el procesador propiamente, que guarda copias de las
páginas que van siendo accesadas
Cuando el procesador solicita al hardware determinada dirección
de memoria, el hardware no sólo transfiere a la memoria caché el
byte o palabra solicitado, sino que transfiere un bloque o página
completo.
Operating System Concepts – 9th Edition 1.12 Silberschatz, Galvin and Gagne ©2013
Funciones y operaciones del administrador de memoria
Memoria Virtual
La paginación de memoria dividen los procesos en pequeñas
partes lógicas denominadas páginas.
Del mismo modo, la memoria es dividida en trozos del mismo
tamaño que las páginas llamados marcos de página (frames).
Para ofrecer a los procesos mayor espacio en memoria del que
existe físicamente, el sistema emplea espacio en almacenamiento
secundario (típicamente, disco duro), a través de un esquema de
intercambio (swap) guardando y trayendo páginas enteras.
Operating System Concepts – 9th Edition 1.13 Silberschatz, Galvin and Gagne ©2013
Funciones y operaciones del administrador de memoria
Memoria Virtual
Operating System Concepts – 9th Edition 1.14 Silberschatz, Galvin and Gagne ©2013
Funciones y operaciones del administrador de memoria
Memoria Virtual
Operating System Concepts – 9th Edition 1.15 Silberschatz, Galvin and Gagne ©2013
Funciones y operaciones del administrador de memoria
Memoria Virtual
La Segmentación de memoria dividen los procesos en pequeñas
partes o páginas.
Cuando un sistema operativo inicia un proceso, no se limita a
volcar el archivo ejecutable a memoria, sino que tiene que
proporcionar la estructura para que éste vaya guardando la
información de estado relativa a su ejecución.
Operating System Concepts – 9th Edition 1.16 Silberschatz, Galvin and Gagne ©2013
Funciones y operaciones del administrador de memoria
Memoria Virtual
Segmentación: El espacio en memoria de un proceso
Operating System Concepts – 9th Edition 1.17 Silberschatz, Galvin and Gagne ©2013
Funciones y operaciones del administrador de memoria
Sistemas híbridos
Desde el diseño del sistema operativo Mutlics (Multiplexed
Information and Computing Service) se planteó combinar las
virtudes de la segmentación con las de la paginación.
La mayoría de los sistemas que emplean Internet usan tanto la
paginación como la segmentación. Se trata de dispositivos
móviles basados en procesadores de la familia ARMv7-A. ARM, los
cuales dominan más de 90% del mercado de procesadores móviles
y son muy eficientes en lo que se refiere al consumo de energía
Para dispositivos móviles también tienen versiones para uso de
segmentación pura, para aplicaciones de tiempo real, y sin
protección de memoria, para aplicaciones embebidas de propósito
particular.
Otra de las implementaciones que goza de gran popularidad es la
empleada por los procesadores Intel de la familia x86, ya que
estos han logrado mantener la compatibilidad desde sus modelos
286 hasta los actuales procesadores de 64 bits de la serie i (i3 a i7).
Operating System Concepts – 9th Edition 1.18 Silberschatz, Galvin and Gagne ©2013
Funciones y operaciones del administrador de memoria
Comandos Linux
free –m
Como root para liberar memoria:
sync && echo 3 > /proc/sys/vm/drop_caches
cat /proc/meminfo
cat /proc/meminfo | grep MemFree
vmstat –s
Operating System Concepts – 9th Edition 1.19 Silberschatz, Galvin and Gagne ©2013