12.10.2014 Views

TEMA 2. GESTIÓN DE PROCESOS - Universidad de Almería

TEMA 2. GESTIÓN DE PROCESOS - Universidad de Almería

TEMA 2. GESTIÓN DE PROCESOS - Universidad de Almería

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Diseño <strong>de</strong> Sistemas Operativos<br />

Tema <strong>2.</strong> Gestión <strong>de</strong> Procesos<br />

Memoria <strong>de</strong>l kernel<br />

Entorno<br />

0xC0000000<br />

Argumentos<br />

Pila<br />

Datos (bss)<br />

Datos (data)<br />

Código o texto<br />

_end<br />

_data<br />

_etext<br />

Figura <strong>2.</strong>4. Espacio <strong>de</strong> direccionamiento <strong>de</strong> un proceso.<br />

0<br />

Asignación <strong>de</strong> memoria.<br />

Cuando un proceso empieza su ejecución, sus segmentos (código, datos y pila) poseen un tamaño fijo. Sin<br />

embargo, existen funciones <strong>de</strong> asignación y liberación <strong>de</strong> memoria, que permiten a un proceso manipular<br />

variables cuyo número o tamaño no es conocido en el momento <strong>de</strong> su compilación ⇒ asignación y liberación<br />

<strong>de</strong> memoria <strong>de</strong> forma dinámica (funciones malloc, calloc, realloc, free).<br />

Las asignaciones y liberaciones se efectúan modificando el tamaño <strong>de</strong>l segmento <strong>de</strong> datos <strong>de</strong>l proceso.<br />

Cuando <strong>de</strong>be asignarse un dato, el segmento <strong>de</strong> datos aumenta en el número <strong>de</strong> bytes necesario y el dato<br />

pue<strong>de</strong> almacenarse en el espacio <strong>de</strong> memoria así asignado. Cuando un dato situado al final <strong>de</strong>l segmento <strong>de</strong><br />

datos <strong>de</strong>ja <strong>de</strong> utilizarse, su liberación consiste simplemente en reducir el tamaño <strong>de</strong>l segmento.<br />

<strong>2.</strong>3.1. Regiones.<br />

• UNIX divi<strong>de</strong> el espacio <strong>de</strong> direcciones virtual <strong>de</strong>l proceso en zonas lógicas. Como se ha expuesto<br />

anteriormente el espacio <strong>de</strong> direccionamiento <strong>de</strong> un proceso se compone <strong>de</strong> varias regiones <strong>de</strong><br />

memoria. Cada región <strong>de</strong> memoria se caracteriza por varios atributos:<br />

− Sus direcciones <strong>de</strong> inicio y fin.<br />

− Los <strong>de</strong>rechos <strong>de</strong> acceso que tiene asociados.<br />

− El objeto asociado (por ejemplo, un archivo ejecutable que contiene el código ejecutable<br />

para el proceso).<br />

• Región: Área contigua <strong>de</strong>l espacio <strong>de</strong> direcciones virtuales <strong>de</strong> un proceso que pue<strong>de</strong> ser tratada<br />

como un objeto a ser protegido o compartido.<br />

– Como entidad, se pue<strong>de</strong> tratar como un objeto cuyas operaciones principales son:<br />

+ Creación y eliminación <strong>de</strong> regiones <strong>de</strong> memoria.<br />

+ Proteger regiones <strong>de</strong> memoria.<br />

+ Modificaciones para las protecciones <strong>de</strong> las regiones <strong>de</strong> memoria.<br />

+ Reasignar regiones <strong>de</strong> memoria.<br />

+ Compartir regiones <strong>de</strong> memoria.<br />

– Concepto <strong>de</strong> Región: In<strong>de</strong>pendiente <strong>de</strong> la política <strong>de</strong> gestión <strong>de</strong> memoria implementada en el<br />

sistema operativo.<br />

• Las regiones <strong>de</strong> memoria contenidas en el espacio <strong>de</strong> direccionamiento <strong>de</strong> un proceso pue<strong>de</strong>n<br />

<strong>de</strong>terminarse mostrando el contenido <strong>de</strong>l archivo maps, situado en el directorio <strong>de</strong> cada proceso en<br />

el sistema <strong>de</strong> archivos /proc.<br />

Departamento <strong>de</strong> Lenguajes y Computación. <strong>Universidad</strong> <strong>de</strong> Almería Página <strong>2.</strong>12

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!