PDF de programación - Administración de memoria: Funciones y operaciones

Imágen de pdf Administración de memoria: Funciones y operaciones

Administración de memoria: Funciones y operacionesgráfica de visualizaciones

Publicado el 26 de Septiembre del 2018
931 visualizaciones desde el 26 de Septiembre del 2018
450,7 KB
34 paginas
Creado hace 7a (17/02/2017)
Introducción
Espacio de direccionamiento
El MMU
Espacio en memoria
Resolución de direcciones

Administración de memoria: Funciones y

operaciones

Gunnar Wolf

Gunnar Wolf

Administración de memoria: Funciones y operaciones

Introducción
Espacio de direccionamiento
El MMU
Espacio en memoria
Resolución de direcciones

Índice

1

Introducción

2 Espacio de direccionamiento

3 El MMU

4 Espacio en memoria

5 Resolución de direcciones

Gunnar Wolf

Administración de memoria: Funciones y operaciones

Introducción
Espacio de direccionamiento
El MMU
Espacio en memoria
Resolución de direcciones

El administrador de memoria

Es otra de las partes fundamentales de un sistema operativo
En toda computadora basada en von Neumann, la memoria es
el único almacenamiento a que tiene acceso directo el
procesador

Todo otro almacenamiento tiene que pasar a través de
controladores externos
Típicamente manejado a través de memoria mapeada o de
acceso directo

Todo proceso que ejecutemos debe estar en memoria

El administrador de memoria es el encargado de permitir que
varios procesos la compartan

Gunnar Wolf

Administración de memoria: Funciones y operaciones

Introducción
Espacio de direccionamiento
El MMU
Espacio en memoria
Resolución de direcciones

Notación: Sistemas binario, decimal, hexadecimal

¡Importante!

Para comprender bien este tema, así como el siguiente, es
importante tener un buen dominio de conceptos básicos de los
sistemas de numeración

Particularmente el binario, en segundo término el hexadecimal

Aspectos principales:

Potencias de 2
Representación numérica en los diferentes sistemas
Máscaras de bits

Hay tarea al respecto.

Gunnar Wolf

Administración de memoria: Funciones y operaciones

Introducción
Espacio de direccionamiento
El MMU
Espacio en memoria
Resolución de direcciones

La memoria caché

El manejo del caché es casi transparente para el sistema
operativo
Busca resolver el diferencial (creciente) de velocidad entre el
CPU y la memoria

La memoria de alta velocidad que maneja el caché es mucho
más cara
Comienza a entrar en juego la velocidad de los electrones sobre
pistas de cobre

Vimos ya que el OS tiene que saber al respecto: Afinidad de
procesos a CPU
Cuando se produce una falla de caché (no tiene copia de la
dirección solicitada), es necesario detener al CPU

Insertando una burbuja o NOOP → stall (detención)

Gunnar Wolf

Administración de memoria: Funciones y operaciones

Introducción
Espacio de direccionamiento
El MMU
Espacio en memoria
Resolución de direcciones

¿Por qué el caché?: Localidad de referencia

Se ha observado que prácticamente todos los procesos responden al

principio de localidad de referencia:

Localidad temporal Es probable que un recurso que fue empleado

recientemente vuelva a ser empleado en un futuro
cercano.

Localidad espacial La probabilidad de que un recurso aún no
requerido sea accesado es mucho mayor si fue
requerido algún recurso cercano.

Localidad secuencial Un recurso, y muy particularmente la

memoria, tiende a ser requerido de forma secuencial.
(Caso especial de Localidad espacial)

Gunnar Wolf

Administración de memoria: Funciones y operaciones

Introducción
Espacio de direccionamiento
El MMU
Espacio en memoria
Resolución de direcciones

Ilustrando la localidad de referencia

Figura: Patrones de acceso a memoria (Silberschatz, p.350)

Gunnar Wolf

Administración de memoria: Funciones y operaciones

Introducción
Espacio de direccionamiento
El MMU
Espacio en memoria
Resolución de direcciones

Índice

1

Introducción

2 Espacio de direccionamiento

3 El MMU

4 Espacio en memoria

5 Resolución de direcciones

Gunnar Wolf

Administración de memoria: Funciones y operaciones

Introducción
Espacio de direccionamiento
El MMU
Espacio en memoria
Resolución de direcciones

Abstracción de la memoria

La memoria se presenta ante el CPU como un arreglo
direccionable
Cada byte tiene una dirección única y consecutiva

En algunas arquitecturas, las solicitudes deben estar alineadas
(por ejemplo, a 64 bits), y no estarlo causa ua trampa o falta,
incurriendo en demoras
Sin embargo, las direcciones siguen siendo de cada byte

Para operar sobre bits específicos, tenemos que pedir el byte,
trabajar sobre de él y enviarlo de vuelta — Como una unidad.

Gunnar Wolf

Administración de memoria: Funciones y operaciones

Introducción
Espacio de direccionamiento
El MMU
Espacio en memoria
Resolución de direcciones

Espacio de direccionamiento: ¿Hasta dónde puedes contar?

Cada arquitectura de procesador tiene un espacio de
direccionamiento determinado

Siempre es una potencia de 2, y casi siempre en números
cerrados (8, 16, 32, 64)

Es el máximo de memoria que dicho procesador puede ver

Virtual Lo máximo que la arquitectura ofrece como una

dirección de memoria

Físico Lo máximo que un procesador específico puede

direccionar (limitado por su número de pines)

Gunnar Wolf

Administración de memoria: Funciones y operaciones

Introducción
Espacio de direccionamiento
El MMU
Espacio en memoria
Resolución de direcciones

Procesadores de 16 bits

Un procesador con espacio de direccionamiento de 16 bits
puede referirse directamente a hasta 216 (65,536) bytes.
Principales procesadores de este tipo: Intel 8080 y 8085, Zilog
Z80, MOS 6502 y 6510
Intel 8086/8088: Direcciona hasta 20 bits (1024KB)

Pero al ser una arquitectura real de 16 bits, requiere emplear
segmentación para alcanzar toda su memoria

Intel 80286: espacio de direccionamiento de 24 bits (16 MB)

Pero su mercado era el mismo que el del 8086/8088, y por
ciertas restricciones de su arquitectura, casi nunca se utilizó en
estos modos

Gunnar Wolf

Administración de memoria: Funciones y operaciones

Introducción
Espacio de direccionamiento
El MMU
Espacio en memoria
Resolución de direcciones

Procesadores de 32 bits

Hoy en día, los procesadores dominantes son de 32 o 64 bits
Un procesador de 32 bits puede direccionar hasta 4GB — 232
bytes (4,294,967,296 bytes)

Hoy ya está dentro del rango de lo alcanzable
Por medio de PAE (Extensión de Direcciones Físicas, Physical
Address Extension), puede extenderse hasta 252 (aunque
típicamente 236, 64GB)
PAE requiere un nivel adicional de indirección (lo veremos
cuando cubramos paginación), por lo que pierde un poco de
rendimiento, y cada proceso sigue viendo sólo hasta 4GB.

Gunnar Wolf

Administración de memoria: Funciones y operaciones

Introducción
Espacio de direccionamiento
El MMU
Espacio en memoria
Resolución de direcciones

Procesadores de 64 bits

Un procesador de 64 bits puede direccionar hasta 16 exabytes
— 264 bytes (18,446,744,073,709,551,616 bytes)
El hardware actual está limitado por un criterio económico a
entre 234 y 248 bits, 16GB y 256TB

El costo de más de 256TB RAM hace extremadamente
improbable que sea requerido en suficientes procesadores de
propósito general

En un sistema actual de escritorio, es muy poco probable
llegar a requerir incluso más de 16GB

Cada bit de direccionamiento necesario requiere un pin en el
CPU, por tanto, tiene un costo económico directo

Gunnar Wolf

Administración de memoria: Funciones y operaciones

Introducción
Espacio de direccionamiento
El MMU
Espacio en memoria
Resolución de direcciones

¿Más allá?

¿Qué tan lejos podemos llegar?
El número total de átomos en el universo está estimado en
cerca de 280
¿Cuánto espacio (físico) necesitamos para nuestra memoria?

Por más que avance la miniaturización

¿Cuánto ancho de banda podemos esperar tener?
¿Cómo podemos esperar llenar 64 bits de datos?

Gunnar Wolf

Administración de memoria: Funciones y operaciones

Introducción
Espacio de direccionamiento
El MMU
Espacio en memoria
Resolución de direcciones

Índice

1

Introducción

2 Espacio de direccionamiento

3 El MMU

4 Espacio en memoria

5 Resolución de direcciones

Gunnar Wolf

Administración de memoria: Funciones y operaciones

Introducción
Espacio de direccionamiento
El MMU
Espacio en memoria
Resolución de direcciones

¿Qué es / qué hace el MMU?

Casi todos los sistemas operativos modernos requieren de una
unidad de manejo de memoria (MMU)

Hardware, hoy es parte integral del CPU

Trabaja muy de cerca con el sistema operativo
Encargado de funciones de control de permisos, seguridad, y
traducción de direcciones
“Vigilando” todos los accesos a memoria que ejecuta el código
Existen sistemas operativos multitarea que pueden funcionar
sin MMU

Pagan como precio la confiabilidad del sistema

Gunnar Wolf

Administración de memoria: Funciones y operaciones

Introducción
Espacio de direccionamiento
El MMU
Espacio en memoria
Resolución de direcciones

¿Traducción de direcciones?

Es común que un sistema requiera más memoria de la que está
directamente disponible

Más memoria de la que existe
Más memoria de la que el hardware puede direccionar
Un proceso no tiene por qué conocer los detalles de la
asignación de memoria — Le damos una vista virtual
simplificada

¿Cuántos bloques de memoria me asignaron?
¿Cuál es la ubicación de cada uno de ellos?
¿Qué pasa si intento escribir (o leer) de donde tengo prohibido?

A lo largo de esta unidad iremos viendo las estrategias para
responder a esto.

Gunnar Wolf

Administración de memoria: Funciones y operaciones

Introducción
Espacio de direccionamiento
El MMU
Espacio en memoria
Resolución de direcciones

Permisos

El MMU verifica que un proceso no tenga acceso a datos de
otro

A menos que sea expresamente permitido (vía el sistema
operativo)
Hacer esta verificación desde el sistema operativo mismo
incurriría en costos demasiado grandes
Una verificación estática no puede ser suficientemente
exhaustiva

Direcciones construidas al vuelo
Modos indirectos de referencia a memoria
. . .

Gunnar Wolf

Administración de memoria: Funciones y operaciones

Introducción
Espacio de direccionamiento
El MMU
Espacio en memoria
Resolución de direcciones

Protección de acceso: Primera aproximación

La arquitectura nos ofrece dos registros de uso específico, y su

modificación requiere una operación privilegiada / modo supervisor:

Reg
  • Links de descarga
http://lwp-l.com/pdf13631

Comentarios de: Administración de memoria: Funciones y operaciones (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad