Anda di halaman 1dari 2

Procesos

Concepto:
Esta definición varía en el caso de sistemas operativos multi-hilo (multiproceso), donde un proceso
consta de uno o más hilos, la memoria de trabajo (compartida por todos los hilos) y la información
de planificación. Cada hilo consta de instrucciones y estado de ejecución.
Un proceso puede informalmente entenderse como un programa en ejecución. Formalmente un
proceso es "Una unidad de actividad que se caracteriza por la ejecución de una secuencia de
instrucciones, un estado actual, y un conjunto de recursos del sistemas asociados". Cada proceso
tiene su contador de programa, registros y variables, aislados de otros procesos, incluso siendo el
mismo programa en ejecución 2 veces. Cuándo este último caso sucede, el sistema operativo usa
la misma región de memoria de código, debido a que dicho código no cambiará, a menos que se
ejecute una versión distinta del programa.

Estados de un proceso:
Los estados de un proceso obedecen a su participación y disponibilidad dentro del sistema
operativo y surgen de la necesidad de controlar la ejecución de cada proceso. Los procesadores
sólo pueden ejecutar un sólo proceso a la vez, turnándolos para el uso de éste.
Ejecutándose (es un proceso que está haciendo uso del procesador).
Listo (se puede ejecutar, pero se suspendió temporalmente para dejar que otro proceso se
ejecute).
Bloqueo (no puede ejecutarse en tanto no ocurra algún evento externo).

Creación de un proceso:
Básicamente hasta el día de hoy existen sólo 4 formas de crear un proceso:
Arranque del sistema.
En la ejecución, desde un proceso, de una llamada al sistema para la creación del proceso.
Una petición deliberada del usuario para crear un proceso.
El inicio de un trabajo por lotes.

Terminación de un proceso:
El ciclo de vida de un proceso es sencillo, consta de la creación, la ejecución de instrucciones y la
terminación. Cabe señalar que un proceso en el transcurso de su ciclo puede estar en diferentes
estados.
Salida normal.-
Ésta se presenta cuando el proceso termina de forma voluntaria, por ejemplo, cuando se cierra en
navegador web o el procesador de textos.
Salida por error.-
Ésta se presenta cuando el proceso tiene que salir debido a insuficiencia de datos, por ejemplo,
cuando solicita un archivo que no existe.
Error fatal.-
Éste sucede por un error en el programa, como las divisiones entre 0 o requerimiento de memoria
inaccesible.
Eliminado por otro proceso.-
Éste es sumamente útil cuando un proceso se queda colgado, es decir, sin terminar, pero tampoco
responde. En Unix un ejemplo es cuando se utiliza el comando kill para terminar procesos
abruptamente.
Hebras
Concepto:
Una hebra es un punto de ejecución de un proceso. Un proceso tendrá una o más hebras. Las
hebras representan un método software para mejorar el rendiemiento de los sistemas operativos
reduciendo el recargo por el cambio de contexto entre procesos. Las hebras de un mismo proceso
compartirán recursos, como memoria, archivos ... Las hebras asumirán el papel de los procesos
como unidad de planificación. Un proceso será una unidad propietaria de recursos para una serie
de hebras.

Un proceso clásico será aquel que solo posea una hebra. Las hebras siempre pertenecerán a un
proceso y no podrán existir por ellas mismas. Los procesos serán estáticos y tan solo las hebras
podrán ser planificadas por ejecución. Las hebras tendrán un flujo separado de control (o punto de
ejecución) y tienen su propia pila y estado hardware. Como todos los recursos (exepto la CPU) son
gestionados por el proceso, la comunicación entre sus hebras será mucho más rápida y eficiente,
porque todas las hebras de un proceso comparte un mismo espacio de memoria. Cuando se
realice un cambio de contexto entre hebras de procesos diferentes se realizará un cambio de
contexto entero.

Con las hebras hacemos a los sistemas operativos mucho más rápidos, pero siempre habrá que
tener cuidado con la planificación entre hebras, ya que varias hebras podrán acceder a cualquier
variable compartida y puede haber problemas de inconsistencia de datos.

Diferencias entre hilos y procesos

Un proceso es una entidad relativamente Por otro lado, un hilo es una entidad más
independiente que dispone de su propio reducida capaz de convivir junto a otros hilos
espacio de direcciones, su propia información bajo el contexto de un único proceso,
de estado y que utiliza los mecanismos de permitiendo compartir la información de
comunicación entre procesos que le estado, el área de memoria y/o
proporciona el sistema operativo para los recursos asociados a ese proceso.
comunicarse con otros procesos.

Anda mungkin juga menyukai