Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INTRODUCCION
Los procesos son creados y destruidos por el sistema operativo, así como
también este se debe hacer cargo de la comunicación entre procesos, pero lo hace a
petición de otros procesos. El mecanismo por el cual un proceso crea otro proceso se
denomina bifurcación (fork). Los nuevos procesos pueden ser independientes y no
compartir el espacio de memoria con el proceso que los ha creado o ser creados en el
mismo espacio de memoria.
En los sistemas operativos multihilo es posible crear tanto hilos como procesos.
La diferencia estriba en que un proceso solamente puede crear hilos para sí mismo y en
que dichos hilos comparten toda la memoria reservada para el proceso.
Programas
Un programa en ejecución se trata de forma diferente que los datos en los cuales
opera. De cualquier forma, en algunos casos ésta distinción es ambigua, especialmente
cuando un programa se modifica a sí mismo. El programa modificado es
secuencialmente ejecutado como parte del mismo programa. Se pueden escribir
programas auto-modificables en lenguajes como Lisp, COBOL y Prol.
Asignación de recursos
Manejo de recursos
Un hilo es básicamente una tarea que puede ser ejecutada en paralelo con otra
tarea.
Los hilos de ejecución que comparten los mismos recursos, sumados a estos
recursos, son en conjunto conocidos como un proceso. El hecho de que los hilos de
ejecución de un mismo proceso compartan los recursos hace que cualquiera de estos
hilos pueda modificar éstos. Cuando un hilo modifica un dato en la memoria, los otros
hilos acceden a ese dato modificado inmediatamente.
Estados de un hilo
Los principales estados de los hilos son: Ejecución, Listo y Bloqueado. No tiene
sentido asociar estados de suspensión de hilos ya que es un concepto de proceso. En
todo caso, si un proceso está expulsado de la memoria principal (ram), todos sus hilos
deberán estarlo ya que todos comparten el espacio de direcciones del proceso.
Llamadas a sistemas
Mecanismos
Las llamadas al sistema comúnmente usan una instrucción especial de la CPU
que causa que el procesador transfiera el control a un código privilegiado, previamente
especificado por el mismo código. Esto permite al código privilegiado especificar donde
va a ser conectado así como el estado del procesador.
Cuando una llamada al sistema es invocada, la ejecución del programa que
invoca es interrumpida y sus datos son guardados, normalmente en su PCB, para poder
continuar ejecutándose luego. El procesador entonces comienza a ejecutar las
instrucciones de código de alto nivel de privilegio, para realizar la tarea requerida.
Cuando esta finaliza, se retorna al proceso original, y continúa su ejecución. El retorno
al proceso demandante no obligatoriamente es inmediato, depende del tiempo de
ejecución de la llamada al sistema y del algoritmo de planificación de CPU.
Las bibliotecas como intermediarias
Ejemplos y herramientas
Implementaciones típicas