Administración de memoria
Mgtr. Karla Reyes Burgos
Sesión
7-8
2
Contenidos
• La Memoria y su importancia
• Jerarquía de la memoria
• Administración de la memoria
• Multiprogramación en Memoria Real
M. Tesen
MEMORIA
PROCESADOR
La memoria tiene carácter central
La memoria tiene carácter central
Manchester Baby: world's first stored program computer
Manchester Small-Scale
Experimental Machine alias
“Manchester baby” el 21 de julio
de 1948, se convirtió en la
primera computadora en ejecutar
un programa que estaba
almacenado en su memoria. Este
hito de gran importancia supuso
un importante salto para el
desarrollo de esta primera
generación de computadores.
https://youtu.be/cozcXiSSkwE
Manchester Baby Kit de memoria VENGEANCE®
con 128 bytes de memoria LPX 256GB (8 x 32GB) DRAM
1948 DDR4 a 3600 MHz C18
Fuente1 : http://www.sopitas.com/site/230696-la-primer-computadora-con-memoria-ram-cumple-65-anos/
Fuente2 : http://www.pcworldenespanol.com/2015/05/15/memorias-ram-ddr4-de-128gb-ya-son-una-realidad/
Supercomputer Frontier
En total, Frontier dispone de más de 9.400 CPUs y 37.000 GPUs. El sistema viene complementado con un almacenamiento de
700 petabytes en tota l, cada cabina pesa unas 3,6 toneladas. Para refrigerar el sistema, cada minuto se mueven unos 22.000
litros de agua. En cuanto al consumo energético, la planta donde se ubica el Frontier utiliza 40 megavatios, equivalente a lo que
requieren unos 30.000 hogares.
Jerarquía de la
memoria
Registros del procesador
Memoria caché
(L1,L2,L3)
CAPACIDAD
Memoria RAM
VELOCIDAD
Discos duros
Copias de seguridaD(cintas
magnéticas, disco extraíble
CONFORMADO POR:
•Registros de CPU
• Memoria caché
• RAM (almacenaje temporal)
• Discos duros (almacenaje
permanente)
• Almacenamiento fuera de línea
para respaldos (cintas, discos
ópticos, etc.)
Registros
• Muy rápidos (tiempos de acceso de
unos pocos nanosegundos)
• Baja capacidad (usualmente menos
de 200 bytes)
• Capacidades de expansión muy
limitadas (se requiere un cambio en
la arquitectura del CPU)
• Costosas
Memoria Cache
El propósito de la memoria caché es actuar como una memoria temporal
entre los registros de CPU, limitados y de gran velocidad y el sistema de
memoria principal, mucho más grande y lento .usualmente conocido como
RAM
•Los niveles de caché a menudo están enumerados, con los números menores
más cercanos a la CPU. Muchos sistemas tienen dos niveles de caché:
•La caché L1 a menudo está ubicada en el chip del CPU mismo y se ejecuta a la
misma velocidad que el CPU.
•La caché L2 usualmente es parte del módulo de CPU, se ejecuta a las mismas
velocidades que el CPU (o casi) y normalmente es un poco más grande y lenta
que la caché L1
•Algunos sistemas (normalmente servidores de alto rendimiento) también
tienen caché L3, que usualmente forma parte del sistema de la tarjeta madre.
Como es de imaginarse, la caché L3 es más grande (y casi con seguridad más
lenta) que la caché L2.
Memoria RAM o Memoria Principal
Está formada por bloques de circuitos integrados o chips
capaces de almacenar, retener o "memorizar" información
digital, es decir, valores binarios; a dichos bloques tiene
acceso el microprocesador de la computadora.
La memoria RAM se comunica con el microprocesador de
la CPU mediante el bus de direcciones. El ancho de este
bus determina la capacidad que posea el microprocesador
para el direccionamiento de direcciones en memoria.
Almacenamiento Externo
•Muy lento (tiempos de acceso se miden en días, si la
media de respaldo debe ser entregada sobre largas
distancias)
• Capacidad muy alta (10s - 100s de gigabytes)
• Capacidades de expansión prácticamente ilimitadas
(solamente limitadas por el espacio físico requerido para
hospedar la media de respaldo)
• Bajo costo (fracciones de céntimos/byte)
Discos duros Internos / Externos Almacenamiento fuera de línea para
respaldos
Administración de la
Memoria
La parte de S. O. que se encarga de administrar la
memoria se denomina “Administrador de Memoria”
Funciones:
■ Registrar el uso de la memoria (partes libres y
utilizadas). Quien las está utilizando
■ Decidir qué proceso cargar en la memoria
■ Asignar y liberar memoria según necesidad
A la Administración de la Memoria la podemos
dividir en dos enfoques:
P. Estáticas
Multiprogramación
en memoria Real
P. Dinámicas
Administración de la
memoria
Paginación
Multiprogramación
en memoria Virtual
Segmentación
Multiprogramación en
Memoria Real
?
Memoria RAM
Multiprogramación en
memoria Real
Programa
1. Requieren colocar todo el programa en memoria.
2. De forma contigua.
La administración de memoria real corresponde al
esquema de gestión más antiguo, aunque en algunos
casos ya no se utilizan en las computadoras personales
(las PCs modernas usan una gestión de memoria
virtual); siguen utilizándose todavía en algunos
sistemas empotrados y sistemas de tarjeta inteligente.
Por este motivo, es aún necesario estudiarlos.
Ejemplos de uso de la memoria real
● Un viejo computador con MS-DOS que ejecuta un editor de
texto y un juego al mismo tiempo.
● Un microcontrolador que controla un motor en un coche.
● Un dispositivo embebido que reproduce música.
Organización de la Memoria
usado en algunos Usado en las primeras computadoras personales
mainframes y miniordenadores pero
ordenadores palmtop y en (ejecutando por
actualmente es
sistemas empotrados ejemplo MS-DOS), donde la parte del sistema que
muy raro su uso
está en ROM se denomina el BIOS (Basic Input
Output System).
Se manejan dos alternativas: Particiones
Estáticas (tamaño fijo) y Particiones Dinámicas
(tamaño variable)
Particiones Estáticas (tamaño fijo)
Las Particiones
estáticas traen
consigo a las
fragmentaciones
internas
Particiones Dinámicas (tamaño variable)
Las Particiones
dinámicas traen
consigo a las
fragmentaciones
externas
Políticas de asignación
de particiones
Políticas de asignación de particiones
● Primer ajuste
● Mejor ajuste
● Siguiente ajuste
Primer ajuste
Mejor ajuste
Siguiente ajuste
Multiprogramación en
Memoria Virtual
Intercambio - Swapping
Multiprogramación en
1. No requieren colocar todo el programa en memoria.
2. No necesita estar de forma contigua.
PAGINACIÓN
Hoy en día la memoria primaria se divide en páginas o en segmentos.
Las páginas son pedazos del proceso, todos del mismo tamaño,
mientras que los segmentos son pedazos de tamaño diferente,
que responden a las secciones lógicas del proceso. El objetivo de
esto es no tener que colocar los pedazos de un proceso contíguos,
si no regados por la memoria, y así no depender de bloques
contiguos del tamaño adecuado(Como en las particiones
Estáticas y Dinámicas).
La memoria se divide en un número de bloques de tamaños fijos,
denominados marcos de página. El espacio de direcciones virtuales de un
proceso (todas las posibles direcciones que puede generar el proceso)
también se divide en bloques de tamaño fijo, llamados páginas, del mismo
tamaño que los marcos de página.
La asignación de memoria consiste en encontrar un número suficiente de
marcos de página sin usar para cargar las páginas de los procesos solicitados.
Mediante un mecanismo de traducción de direcciones, se asignan las
páginas virtuales a su contrapartida física. A esto se le conoce como
Mapping
Ventajas
1. Es posible comenzar a ejecutar un programa, cargando solo una parte del mismo en memoria, y el
resto se cargará bajo la solicitud.
2. No es necesario que las páginas estén contiguas en memoria, por lo que no se necesitan procesos de
compactación cuando existen marcos de páginas libres dispersos en la memoria.
3. Es fácil controlar todas las páginas, ya que tienen el mismo tamaño.
4. El mecanismo de traducción de direcciones (DAT) permite separar los conceptos de espacio de
direcciones y espacios de memoria. Todo el mecanismo es transparente al usuario.
5. Se libera al programador de la restricción de programar para un tamaño físico de memoria, con lo que
s e aumenta su productividad. Se puede programar en función de una memoria mucho más grande a la
existente.
6. Al no necesitar cargar un programa completo en memoria para su ejecución, se puede aumentar el
número de programas multiprogramándose.
7. Se elimina el problema de fragmentación externa.
Desventajas
1. El costo de hardware y software se incrementa, por la nueva información que debe manejarse y el
mecanismo de traducción de direcciones necesario. Se consume mucho mas recursos de memoria,
tiempo en el CPU para su implantación.
2. Se deben reservar áreas de memoria para las PMT de los procesos. Al no ser fija el tamaño de estas,
se crea un problema semejante al de los programas (como asignar un tamaño óptimo sin desperdicio de
memoria, u "ovearhead" del procesador).
3. Aparece el problema de fragmentación interna. Así, si se requieren 5K para un programa, pero las
paginas son de 4K, deberán asignárseles 2 paginas (8k), con lo que quedan 3K sin utilizar. La suma de los
espacios libres dejados de esta forma puede ser mayor que el de varias paginas, pero no podrá ser
utilizados. Debe asignarse un tamaño promedio a las páginas, evitando que si son muy pequeñas, se
necesiten TABLAS BMT y PMT muy grandes, y si son muy grandes, se incremente el grado de
fragmentación interna.
Mapeo o Mapping
Ejemplos de uso de la memoria virtual
● Las computadoras actuales que emplean sistemas operativos
modernos como con Windows 10 que ejecuta varias
aplicaciones al mismo tiempo, como un navegador web, un
reproductor de música y un procesador de textos.
● Un servidor web que ejecuta varios sitios web al mismo
tiempo.
● Un smartphone que ejecuta varias aplicaciones al mismo
tiempo.
Mapping caracteres caracteres
Veamos algunos ejercicios de mapping
Conclusiones
En esta sesión hemos abordado el concepto de la memoria y sus principales
características. Así también hemos revisado algoritmos para su gestión en entornos
de memoria real, que era la forma en la que funcionaba la memoria antes de que
surgiera la memoria virtual.
Bibliografía
● FLYNN, Ida; MCHOES, Ada (2001): Sistemas Operativos. 3°
Edición. International Thomson Editores.
● TANENBAUM, Andrew (2003): Sistemas Operativos
Modernos. 2° Edición. Pearson Education
● STALLINGS, William (2001): Sistemas Operativos. 4° Edición.
Pearson Education
M. Tesen
Ing. Karla Reyes Burgos
http://kreyesburgos.blogspot.pe/p/sistemasoperativos.html
https://www.youtube.com/playlist?list=PLxuCGUo-bleFNKegswRS7D8x9nIEX4h3P