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 />

• Campo <strong>de</strong> valor <strong>de</strong> retorno que almacena el resultado <strong>de</strong> las llamadas al sistema efectuadas por el<br />

proceso.<br />

• Parámetros <strong>de</strong> E/S que <strong>de</strong>scriben la cantidad <strong>de</strong> datos a transferir, la dirección <strong>de</strong>l array origen o<br />

<strong>de</strong>stino <strong>de</strong> la transferencia y los punteros <strong>de</strong> Lectura/Escritura <strong>de</strong>l archivo al que se refiere la<br />

operación <strong>de</strong> Entrada/Salida.<br />

• El directorio <strong>de</strong> trabajo actual y el directorio raíz asociados al proceso.<br />

• Tabla <strong>de</strong> <strong>de</strong>scriptores <strong>de</strong> archivos que i<strong>de</strong>ntifica los archivos que tiene abiertos el proceso.<br />

• Campos <strong>de</strong> límite que restringen el tamaño <strong>de</strong>l proceso y el tamaño <strong>de</strong> algún archivo sobre el que<br />

pue<strong>de</strong> escribir.<br />

• Una máscara <strong>de</strong> permisos que va a ser utilizada cada vez que se cree un nuevo archivo.<br />

En resumen, para gestionar los procesos, el kernel, en general, divi<strong>de</strong> (conceptualmente y en la<br />

implementación) la información <strong>de</strong>l proceso en dos apartados: la necesaria para localizarlo y planificarlo<br />

(Tabla <strong>de</strong> Procesos) y el resto <strong>de</strong> informaciones referentes la proceso (u-Area). Tabla <strong>de</strong> Procesos ⇒<br />

localizar el proceso y su u-Area; u-Area ⇒ caracterización <strong>de</strong>tallada <strong>de</strong>l proceso.<br />

Tabla <strong>de</strong> Procesos<br />

Global <strong>de</strong>l Kernel (todos los procesos)<br />

Estática (n entradas)<br />

Estado<br />

Localización <strong>de</strong> la u-Area<br />

Tamaño <strong>de</strong>l proceso<br />

I<strong>de</strong>ntificadores (grupos, señales)<br />

Evento en el que duerme<br />

Parametros <strong>de</strong> planificación<br />

Señales recibidas no atendidas<br />

Tiempos y recursos consumidos<br />

u-Area<br />

Local, asociada al proceso (sólo visible al proceso en ejecución)<br />

Dinámica (solo para procesos en el sistema)<br />

Puntero a la tabla <strong>de</strong> procesos<br />

I<strong>de</strong>ntificadores (permisos), máscaras <strong>de</strong> permisos (create)<br />

Detalle <strong>de</strong> tiempos<br />

Acción ante señales<br />

Terminal asociada, cuotas <strong>de</strong> proceso y archivos<br />

Campo <strong>de</strong> error en llamadas al sistema<br />

Valor <strong>de</strong> retorno en llamadas al sistema<br />

Parámetros para E/S, Curr_dir y Root_dir, Tabla <strong>de</strong> archivos<br />

<strong>2.</strong>3. ORGANIZACIÓN <strong>DE</strong> LA MEMORIA <strong>DE</strong>L SIS<strong>TEMA</strong>.<br />

• La memoria física <strong>de</strong> una máquina es direccionable <strong>de</strong>s<strong>de</strong> el byte 0 hasta el byte que se<br />

correspon<strong>de</strong> con la memoria total <strong>de</strong> la máquina.<br />

• En UNIX, el kernel genera direcciones para un proceos en un espacio <strong>de</strong> direcciones virtual <strong>de</strong>ntro<br />

<strong>de</strong> un rango dado.<br />

– No hay otros procesos en dicho rango <strong>de</strong> direcciones virtual ⇒ no hay conflictos para el uso<br />

<strong>de</strong> la memoria entre procesos.<br />

– La memoria es infinita.<br />

• Unidad <strong>de</strong> gestión <strong>de</strong> memoria <strong>de</strong> la máquina.<br />

– Direcciones virtuales ⇒ Direcciones físicas.<br />

• Los subsistemas <strong>de</strong>l kernel y <strong>de</strong>l hardware (control <strong>de</strong>l hardware) cooperan para realizar la<br />

traducción <strong>de</strong> direcciones virtuales a físicas ⇒ subsistema <strong>de</strong> gestión <strong>de</strong> memoria.<br />

Espacio <strong>de</strong> direccionamiento <strong>de</strong> un proceso.<br />

A todo proceso se le asocia un espacio <strong>de</strong> direccionamiento que representa las zonas <strong>de</strong> memoria asignadas a<br />

dicho proceso. Este espacio <strong>de</strong> direcciones disponibles se <strong>de</strong>scompone en regiones <strong>de</strong> memoria utilizables<br />

por el proceso. Este espacio <strong>de</strong> direcciones incluye:<br />

• El código (texto) <strong>de</strong>l proceso.<br />

• Los datos <strong>de</strong>l proceso, que se <strong>de</strong>scompone en dos segmentos, por una parte data, que contiene las<br />

variables inicializadas, y por otra parte bss (block started symbol) que contiene las variables no<br />

inicializadas.<br />

• La pila utilizada por el proceso<br />

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

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

Saved successfully!

Ooh no, something went wrong!