tema8 1transporpagina

Páginas: 7 (1536 palabras) Publicado: 4 de septiembre de 2015
Tema 8 : Gestión de memoria

Sistemas Operativos:
Programación de Sistemas
Oscar Déniz Suárez
Alexis Quesada Arencibia
Francisco J. Santana Pérez

Curso 2006-07

Introducción
programa fuente
compilador

compilación
módulo objeto
otros objetos
y bibliotecas

bibliotecas
del sistema
bibliotecas
dinámicas

Fichero ejecutable
(principal)

enlazador
(linker)

cabecera

programa ejecutable

códigocargador

carga

programa y datos
binarios en memoria
HARDWARE

ejecución

datos
inicializados

Introducción



A cada proceso se le asocia un espacio de
direcciones
Este espacio incluye:



el código del proceso
los datos del proceso
• variables inicializadas
• variables no inicializadas (bss)




el código y los datos de bibliotecas compartidas
utilizadas por el proceso
la pila usada porel proceso

Introducción
kernel

Direcciones altas

c0000000

parámetros y entorno

pila

datos no inici.(bss)
datos inicializados
Direcciones bajas

código

exec los pone a 0
Leídos de
disco por exec

Introducción






Es importante entender la diferencia entre
dirección física y dirección lógica (virtual)
Los procesos trabajan con espacio de
direcciones virtuales
Algún módulo softwarey/o hardware se
encarga de traducir de direcciones virtuales a
físicas
Zonas de memoria contiguas en espacio virtual
no tienen porqué estar físicamente contiguas

Introducción








Dirección física: la que llega al chip de
memoria
Dirección lógica o virtual: la generada por la
CPU
El dispositivo que traduce direcciones virtuales
a físicas se llama unidad de manejo de
memoria (MMU, eninglés)
El espacio de direcciones lógicas y el espacio
de direcciones físicas no tienen por qué
coincidir
Ejemplo: registro base

Introducción
Fichero fuente
(principal.cc)
#include
main()
{
int cont;
...
cont++
...
}

Fichero ejecutable
(principal)

cabecera

Memoria lógica del
proceso

Memoria física

código

MR

código

datos
inicializados

datos
inicializados

datos sin
inicializarProceso

pila

Espacio de direcciones
simbólicas

Espacio de direcciones lógicas/físicas

Introducción
Dirección
lógica o
virtual

CPU

Memoria

Disco

Controlador
de
memoria

Controlador
de
disco

CPU
dir. lógica
1234

MMU

+

80000
registro base

MMU
dir. física
81234

memoria

Dirección física

Introducción





En sistemas multiusario como Linux, a veces
conviene no mantener todo el espaciode
direcciones de un proceso en memoria, sobre
todo cuando está inactivo
Así, otros procesos puede usar ese espacio
Mediante el intercambio o swapping se
pueden llevar zonas de memoria a memoria
secundaria y viceversa

Introducción


Para conocer las direcciones de memoria
donde se encuentran los segmentos de
código y de datos de un proceso hay
disponibles los siguientes símbolos:
extern int_end;
extern int _etext;
extern int _edata;

Introducción
parámetros y entorno
pila

program
break

datos no inici.(bss)
datos inicializados
código

_end
_data
_etext

El sistema de ficheros proc


Pseudo-Sistema de ficheros montado
automáticamente en Linux que almacena
información del estado del sistema



El sistema de ficheros proc no está asociado a
un dispositivo: es una “ventana” alkernel
Es una forma conveniente de consultar y (en
algunos casos) modificar cosas en el sistema



El sistema de ficheros proc



El fichero /proc/$pid/maps contiene información sobre los segmentos de
memoria de un proceso
Contiene rangos de direcciones, permisos, etc., no solo de su código sino
también de las librerías compartidas a las que tiene acceso (p.ej. libc)

address
perms offset devinode
pathname
08048000-08056000 r-xp 00000000 03:0c 64593
/usr/sbin/gpm
08056000-08058000 rw-p 0000d000 03:0c 64593
/usr/sbin/gpm
08058000-0805b000 rwxp 00000000 00:00 0
40000000-40013000 r-xp 00000000 03:0c 4165
/lib/ld-2.2.4.so
40013000-40015000 rw-p 00012000 03:0c 4165
/lib/ld-2.2.4.so
4001f000-40135000 r-xp 00000000 03:0c 45494
/lib/libc-2.2.4.so
40135000-4013e000 rw-p 00115000 03:0c 45494...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • tema8
  • tema8
  • Zara Tema8
  • Muy Bueno Tema8
  • Tema8 Transformadores
  • Tema8
  • tema8
  • Tema8

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS