lolololololololol

Páginas: 6 (1435 palabras) Publicado: 7 de julio de 2014
Aplicaciones para Comunicaciones en Red


Diferencia entre hilos y procesos
Proceso
Un proceso es cualquier programa en ejecución este necesita ciertos recursos para realizar
satisfactoriamente su tarea:





Tiempo de CPU.
Memoria.
Archivos.
Dispositivos de E/S.

Las obligaciones del SO como gestor de procesos son:





Creación y eliminación de procesos.Planificación de procesos (procurando la ejecución de múltiples procesos maximizando la
utilización del procesador).
Establecimiento de mecanismos para la sincronización y comunicación de procesos.
Manejo de bloqueos mutuos.

Estados de un proceso
A medida que un proceso se ejecuta cambia de estado. Cada proceso puede estar en uno de los
estados:






Nuevo (new): el proceso se estácreando.
En ejecución (running): el proceso está en la CPU ejecutando instrucciones.
Bloqueado (waiting, en espera): proceso esperando a que ocurra un suceso (ej. terminación de
E/S o recepción de una señal).
Preparado (ready, listo): esperando que se le asigne a un procesador.
Terminado (terminated): finalizó su ejecución, por tanto no ejecuta más instrucciones y el SO
le retirará losrecursos que consume.

Nota: Sólo un proceso puede estar ejecutándose en cualquier procesador en un instante dado, pero
muchos procesos pueden estar listos y esperando.

Sainz Jaime José Emmanuel
Aplicaciones para Comunicaciones en Red

3CV3

Para que un programa se ejecute, el SO debe crear un proceso para él. En un sistema con
multiprogramación el procesador ejecuta código de distintosprogramas que pertenecen a distintos
procesos.
Aunque dos procesos estén asociados al mismo programa, se consideran dos secuencias de ejecución
separadas, cada una de las cuales se considera un proceso.
Llamamos traza de un proceso al listado de la secuencia de instrucciones que se ejecutan para el
mismo.

Creación de Procesos
los procesos se crean mediante una llamada al sistema de “crearproceso”, durante el curso de su
ejecución. El proceso creador se denomina proceso padre, y el nuevo proceso, hijo.
Cuando un proceso crea un proceso nuevo, hay dos posibilidades en términos de ejecución:



Padre e hijo se ejecutan concurrentemente.
Padre espera por la finalización del hijo.

En UNIX existen dos funciones básicas para crear procesos: Fork y Exec.
Función fork(): Cuandose la llama crea un proceso hijo que es una copia casi exacta del proceso padre
(duplicado del padre). Ambos procesos continúan ejecutándose desde el punto en el que se hizo la
llamada a fork().
En UNIX los procesos se identifican mediante un “identificador de proceso” (PID) que es un entero
único. Ambos procesos continúan su ejecución con la instrucción que sigue al fork() con unadiferencia:



El código que el hijo recibe del fork es cero.
El que recibe del padre es el propio pid.

Sainz Jaime José Emmanuel
Aplicaciones para Comunicaciones en Red

3CV3

Funciones exec: Tras crear un nuevo proceso, después de llamar a fork, Linux llama a una función de la
familia exec. Éstas funciones reemplazan el programa ejecutándose en el proceso por otro programa.
Cuando unprograma llama a una función exec, su ejecución cesa de inmediato y comienza a ejecutar el
nuevo programa desde el principio, suponiendo que no ocurriera ningún error durante la llamada.
Generalmente uno de los dos procesos (padre o hijo) utiliza la llamada al sistema exec ve después del
fork para reemplazar su espacio de memoria con un programa nuevo.
Nota: Si el padre no tiene nada que hacermientras el hijo se ejecuta, puede emitir una llamada wait
(esperar) para sacarse a sí mismo de la cola de procesos listos hasta que el hijo termine.

Hilos
Los hilos son un concepto relativamente nuevo de los SO. En este contexto, un proceso recibe el
nombre de proceso pesado, mientras que un hilo recibe el nombre de proceso ligero. El término hilo se
refiere sintáctica y semánticamente a...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • lololololololololo
  • LOLOLOLOLOLOLOLOLO
  • Lolololololololol
  • lolololololololol
  • lolololololololol

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS