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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

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!