PDF de programación - Gestión de Memoria

Imágen de pdf Gestión de Memoria

Gestión de Memoriagráfica de visualizaciones

Publicado el 12 de Enero del 2019
434 visualizaciones desde el 12 de Enero del 2019
1,7 MB
36 paginas
Creado hace 12a (28/09/2011)
Introducción: de programas a procesos
Principios de gestión de memoria
Mecanismos de gestión de memoria
Casos de estudio

Gestión de Memoria

E. Campo M. Knoblauch Ó. López

J. Clemente

Departamento de Automática

Universidad de Alcalá

Sistemas Operativos Avanzados

Gestión de Memoria

1 / 36

Introducción: de programas a procesos
Principios de gestión de memoria
Mecanismos de gestión de memoria
Casos de estudio

Índice

1

Introducción: de programas a procesos

Formato de un archivo ejecutable
Mapa de memoria de un proceso
Ejemplo de programa y proceso
Abstracciones de direccionamiento

2 Principios de gestión de memoria

Jerarquía de memoria en un computador
Principio de Localidad
Fragmentación
Reubicación
Protección y uso compartido

3 Mecanismos de gestión de memoria

Evolución histórica
Memoria particionada no contigua
Segmentación
Paginación
Segmentación paginada

4 Casos de estudio

Gestión de memoria del Pentium

Sistemas Operativos Avanzados

Gestión de Memoria

2 / 36

Introducción: de programas a procesos
Principios de gestión de memoria
Mecanismos de gestión de memoria
Casos de estudio

Archivo ejecutable
Proceso
Código de ejemplo
Abstracciones de direccionamiento

Formato de archivo ejecutable

Sistemas Operativos Avanzados

Gestión de Memoria

3 / 36

Introducción: de programas a procesos
Principios de gestión de memoria
Mecanismos de gestión de memoria
Casos de estudio

Archivo ejecutable
Proceso
Código de ejemplo
Abstracciones de direccionamiento

Mapa de memoria de un proceso

Sistemas Operativos Avanzados

Gestión de Memoria

4 / 36

Introducción: de programas a procesos
Principios de gestión de memoria
Mecanismos de gestión de memoria
Casos de estudio

Archivo ejecutable
Proceso
Código de ejemplo
Abstracciones de direccionamiento

Programa y proceso

. . .
char ∗ nomprog ,
void Func ( i n t x )
{

i n t cont = 1 ;

r e s u l t a d o = 0 ;

i n t
char c a r a c t e r = ’ a ’ ;

i f

( cont )
cont = r e s u l t a d o ++;

. . .
r e t u r n ;

}
main ( i n t argc , char ∗ argv [ ] )
{

i ;

i n t
char ∗ nomprog ;
Func ( cont ) ;
nomprog = ( char ∗) malloc (1 + s t r l e n ( argv [ 0 ] ) ) ;
. . .
f r e e ( nomprog ) ;
. . .
e x i t

( 0 ) ;

}

Sistemas Operativos Avanzados

Gestión de Memoria

5 / 36

Introducción: de programas a procesos
Principios de gestión de memoria
Mecanismos de gestión de memoria
Casos de estudio

Archivo ejecutable
Proceso
Código de ejemplo
Abstracciones de direccionamiento

Abstracciones de direccionamiento

Espacio de direccionamiento
Conjunto de direcciones referenciables

Espacio de direccionamiento virtual ⇒ independiente para
cada proceso
Espacio de direccionamiento físico ⇒ repartido entre todos los
procesos
Los procesos sólo referencian direcciones virtuales
Tiene que haber una traducción de dirección virtual a física
transparente al proceso

Sistemas Operativos Avanzados

Gestión de Memoria

6 / 36

Introducción: de programas a procesos
Principios de gestión de memoria
Mecanismos de gestión de memoria
Casos de estudio

Archivo ejecutable
Proceso
Código de ejemplo
Abstracciones de direccionamiento

Abstracciones de direccionamiento

Sistemas Operativos Avanzados

Gestión de Memoria

7 / 36

Introducción: de programas a procesos
Principios de gestión de memoria
Mecanismos de gestión de memoria
Casos de estudio

Jerarquía de memoria
Localidad
Fragmentación
Reubicación
Protección y uso compartido

Jerarquía de memoria en un computador

La jerarquización de la memoria es un intento de aumentar el
rendimiento de los computadores
Para ello se aprovechan los avances tecnológicos en el diseño
de memorias y la localidad de los programas
Memorias rápidas: tienen un coste elevado y una capacidad
pequeña
Memorias lentas: son baratas y tienen una capacidad alta

Sistemas Operativos Avanzados

Gestión de Memoria

8 / 36

Introducción: de programas a procesos
Principios de gestión de memoria
Mecanismos de gestión de memoria
Casos de estudio

Jerarquía de memoria
Localidad
Fragmentación
Reubicación
Protección y uso compartido

Esquema de jerarquía de memoria

Sistemas Operativos Avanzados

Gestión de Memoria

9 / 36

Introducción: de programas a procesos
Principios de gestión de memoria
Mecanismos de gestión de memoria
Casos de estudio

Principio de localidad

Jerarquía de memoria
Localidad
Fragmentación
Reubicación
Protección y uso compartido

Los procesos tienden a concentrar sus referencias en un
intervalo de tiempo en un subconjunto de su espacio de
direcciones

Donald Knuth [1971]:
Los programas, normalmente, tienen un perfil muy desigual, con unos
pocos picos agudos. [..] También encontramos que menos del 4 por 100
de un programa, generalmente, representa más de la mitad de su tiempo
de ejecución

Es una propiedad empírica
La localidad puede ser de dos tipos:

Localidad espacial
Localidad temporal

Sistemas Operativos Avanzados

Gestión de Memoria

10 / 36

Introducción: de programas a procesos
Principios de gestión de memoria
Mecanismos de gestión de memoria
Casos de estudio

Localidad espacial

Jerarquía de memoria
Localidad
Fragmentación
Reubicación
Protección y uso compartido

Una vez hecha una referencia a una posición de memoria, es
muy probable que las localidades cercanas sean también
referenciadas.
En apoyo a esta observación encontramos:

Ejecución secuencial del código
Tendencia de los programadores a colocar próximas entre sí las
variables relacionadas
Acceso a estructuras de datos de tipo matriz o pila

Sistemas Operativos Avanzados

Gestión de Memoria

11 / 36

Introducción: de programas a procesos
Principios de gestión de memoria
Mecanismos de gestión de memoria
Casos de estudio

Localidad temporal

Jerarquía de memoria
Localidad
Fragmentación
Reubicación
Protección y uso compartido

Una vez hecha una referencia a una posición de memoria en
un determinado instante t, es muy probable que esa misma
posición vuelva a ser accedida en un instante t + ∆t
Justificada por:

Formación de ciclos
Subrutinas
Pilas

Sistemas Operativos Avanzados

Gestión de Memoria

12 / 36

Introducción: de programas a procesos
Principios de gestión de memoria
Mecanismos de gestión de memoria
Casos de estudio

Fragmentación

Jerarquía de memoria
Localidad
Fragmentación
Reubicación
Protección y uso compartido

Fragmentación
Desaprovechamiento de la memoria libre disponible debido al mecanismo
de gestión utilizado

Puede ser de dos tipos, interna y externa
Fragmentación interna

Se debe a la diferencia de tamaño entre la partición de
memoria y el objeto residente dentro de ella

Fragmentación externa

Se debe al desaprovechamiento de memoria entre particiones

Sistemas Operativos Avanzados

Gestión de Memoria

13 / 36

Introducción: de programas a procesos
Principios de gestión de memoria
Mecanismos de gestión de memoria
Casos de estudio

Jerarquía de memoria
Localidad
Fragmentación
Reubicación
Protección y uso compartido

Reubicación
Reubicación
Proceso de asignar direcciones a las diferentes partes de un programa
(código, datos, pila...)

En función de cuándo se conozca la ubicación definitiva, se
puede producir en la etapa de compilación, en la etapa de
carga o en la etapa de ejecución
Reubicación estática

Se realiza antes o durante la carga del programa
Los programas no pueden ser movidos una vez iniciados

Reubicación dinámica

El paso de dirección virtual a dirección real, se realiza en
tiempo de ejecución
Necesita hardware adicional (MMU)
Los programas pueden moverse en tiempo de ejecución

Sistemas Operativos Avanzados

Gestión de Memoria

14 / 36

Introducción: de programas a procesos
Principios de gestión de memoria
Mecanismos de gestión de memoria
Casos de estudio

Protección y uso compartido

Jerarquía de memoria
Localidad
Fragmentación
Reubicación
Protección y uso compartido

Necesario delimitar acceso a memoria:

Sistema operativo
Procesos de usuario
Metodos de protección

Registros límite
Registros base y límite
Bits de protección en memoria
Derechos de acceso en tablas de traducción
¿Dónde se almacenan?

¿Cómo compartir memoria entre procesos?

Sistemas Operativos Avanzados

Gestión de Memoria

15 / 36

Introducción: de programas a procesos
Principios de gestión de memoria
Mecanismos de gestión de memoria
Casos de estudio

Registros límite

Jerarquía de memoria
Localidad
Fragmentación
Reubicación
Protección y uso compartido

Sistemas Operativos Avanzados

Gestión de Memoria

16 / 36

Introducción: de programas a procesos
Principios de gestión de memoria
Mecanismos de gestión de memoria
Casos de estudio

Registros base y límite

Jerarquía de memoria
Localidad
Fragmentación
Reubicación
Protección y uso compartido

Sistemas Operativos Avanzados

Gestión de Memoria

17 / 36

Introducción: de programas a procesos
Principios de gestión de memoria
Mecanismos de gestión de memoria
Casos de estudio

Evolución histórica

Evolución histórica
Memoria particionada no contigua
Segmentación
Paginación
Segmentación paginada

Máquina desnuda

Monitor monolítico

El sistema no proporciona ningún servicio

Además del sistema operativo, hay un único proceso

Memoria particionada contigua

Multiprogramación con número fijo de tareas (MFT)

Particiones de tamaño fijo
Se crean al arrancar el sistema

Multiprogramación con número variable de tareas (MVT)

Particiones de tamaño variable
Se crean cuando un proceso lo necesita

Memoria particionada no contigua

Sistemas Operativos Avanzados

Gestión de Memoria

18 / 36

Introducción: de programas a procesos
Principios de gestión de memoria
Mecanismos de gestión de memoria
Casos de estudio

Evolución histórica
Memoria particionada no contigua
Segmentación
Paginación
Segmentación paginada

Memoria particionada no contigua

El contenido de un proceso puede ser distribuído entre
diferentes particiones separadas en memoria
La memoria está organizada en particiones:

De tamaño variable ⇒ segmentos
De tamaño fijo ⇒ marcos

Tabla de descripción de particiones

Independiente por proceso
Se construye en tiempo de carga
del proceso en memoria
  • Links de descarga
http://lwp-l.com/pdf14828

Comentarios de: Gestión de Memoria (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