gestion de procesos

Páginas: 5 (1068 palabras) Publicado: 13 de noviembre de 2014
Gestión de Procesos

Un programa ejecutable es leído del disco por el kernel y es cargado en memoria para ejecutarse, convirtiéndose en un proceso.

En un proceso no sólo hay una copia del programa, sino además el kernel le añade información adicional para poder manejarlo.

Un proceso se compone de tres bloques fundamentales:

segmento de texto: código de programa

segmento de datos:variables globales y estáticas

Pila:

Lo crea el kernel y su tamaño es gestionado dinámicamente por el.
Es una secuencia de bloques lógicos o stack frames
Un stack frame se introduce o saca en función de si se llama o se vuelve de la llamada a una función.
Stack frame se compone de:
Las variables locales de función
Parámetros de función
Info. Para volver al estado anterior de lallamada
Contador de programa
Puntero a pila al stack frame anterior

Los proceso pueden ejecutarse en dos modos:
Usuario
Kernel
Cada mono maneja su propia pila o stack
Stack del kermel: Contiene los stack frames de las llamadas a sistema (funciones que se ejecutan en modo kernel)
Stack del usuario: stack frames de funciones que se ejecutan en modo usuario

UNIX/ Linux es un sistemamultiproceso que permite la ejecución de varios procesos de forma simultánea
Requiere de otro programa llamado ³Planificador o scheduler´ que permite gestionar que proceso entra a ejecutarse en cada instante en la CPU, ya que esta es un recurso limitado.
Todo proceso nace cuando algún otro proceso ejecuta la llamada al sistema clone. Una de las muchas formas de llamar a clone es a través de la funciónfork.
Clone crea un duplicado idéntico del proceso que la ha llamado



API de Unix para manejo de Procesos

Unix proporciona un número de llamadas al sistema para creación y control de procesos, que incluye:

fork: usado para crear un nuevo proceso (hijo).

exec: utilizado para cambiar el proceso actual por otro.

vfork: usado para crear un proceso nuevo, que comparte el espacio dedirecciones del padre.

clone():llamada al sistema en Linux y es una forma genérica de fork() ypthread_create().

wait: esperar por el término de la ejecución de algún proceso hijo.

waitpid: usado para esperar el término de ejecución de un proceso hijo específico.

sleep: suspende la ejecución de un proceso por un tiempo determinado.

kill: usado para matar un proceso o enviar unaseñal.

abort: usado para terminar con la ejecución de un proceso en forma anormal.

getpid: devuelve el pid del proceso.

getppid: devuelve el pid del proceso padre.

getuid: devuelve el identificador de usuario.

getpgrp: devuelve el identificador de grupo del proceso

Clone

Nuestro nuevo proceso no verá el espacio de direcciones del proceso padre, ni viceversa.
Con muchafrecuencia, después del clone el proceso llama a exec para lanzar un programa nuevo.
La llamada a exec carga un programa en el espacio de direcciones del proceso y le pasa el control, perdiéndose el proceso llamante.
Si un proceso quiere lanzar un programa sin desaparecer, lo que hace es llamar a clone y que el hijo llame a exec(servicios).


Fork
Crea un proceso hijo. Devuelve 0 al proceso hijo y elPID del hijo al proceso padre. El proceso hijo creado es una copia exacta del padre, excepto que recibe un valor diferente de la llamada fork. Devuelve un valor -1en caso de no poder crearse el proceso hijo.












Todos los procesos tienen un único padre, pero un padre puede tener múltiples hijos.
Existe un proceso especial cuyo PID es 0, este se crea al arrancar el sistema ydespués de hacer una llamada fork se convierte en el proceso intercambiador (swapper), el proceso hijo se llama init y su PID vale 1.Este se encarga de arrancar los demás procesos que requiere el sistema.

Usando fork() crear (duplicar) un proceso

PID
Cuando un proceso muere libera su pid y se puedeasignar a cualquier nuevo proceso.
En Linux 2.6 el PID se almacena en un entero y...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Gestión de procesos y gestión de usuarios
  • Proceso de Gestión
  • Gestion De Procesos
  • Gestion Por Proceso
  • Gestion de procesos
  • Gestion por procesos
  • gestion de procesos
  • procesos de gestion

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS