Estado de los procesos
Enviado por rossd • 14 de Noviembre de 2013 • Informe • 1.577 Palabras (7 Páginas) • 304 Visitas
¿Qué es procesos?
Un proceso es un concepto manejado por el sistema operativo que consiste en el conjunto formado por:
• Las instrucciones de un programa destinadas a ser ejecutadas por el microprocesador.
• Su estado de ejecución en un momento dado, esto es, los valores de los registros de la CPU para dicho programa.
• Su memoria de trabajo, es decir, la memoria que ha reservado y sus contenidos.
• Otra información que permite al sistema operativo su planificación.
Estado de los procesos.
El estado de un proceso es definido por la actividad corriente en que se encuentra.
Los estados de un proceso son:
Nuevo (new): Cuando el proceso es creado.
Ejecutando (running): El proceso tiene asignado un procesador y está ejecutando sus instrucciones.
Bloqueado (waiting): El proceso está esperando por un evento (que se complete un pedido de E/S o una señal).
Listo (ready): El proceso está listo para ejecutar, solo necesita del recurso procesador.
Finalizado (terminated): El proceso finalizó su ejecución.
Implantación
Sirve como base para la construcción del nuevo sistema. En este punto, los programadores y los analistas de sistemas asumen diferentes responsabilidades. El analista debe proveer especificaciones claras y correctas al programador. El programador codifica, prueba y documenta los módulos de programas, mientras que el analista de sistema planifica la integración de los programas y asegura que trabajen unidos para satisfacer las necesidades de la organización.
Procesos y Hebras.
Es una característica que permite a una aplicación realizar varias tareas concurrentemente. Los distintos hilos de ejecución comparten una serie de recursos tales como el espacio de memoria, los archivos abiertos, etc. Esta técnica permite simplificar el diseño de una aplicación que debe llevar a cabo distintas funciones simultáneamente.
Un proceso sigue en ejecución al menos que uno de sus hilos siga activo. Cuando el proceso termina los hilos de ejecución también lo hacen y todos los recursos utilizados por estos son liberados.
Un ejemplo sería la utilización de un hilo en la interfaz gráfica de un programa (icono, botón, ventana), mientras otro hilo realiza la operación interna. De esta forma el programa responde de manera más ágil a la interacción con el usuario.
Hoy en día cualquier usuario espera poder hacer varias cosas a la vez y no verse forzado a ejecutar los programas secuencialmente. Los sistemas operativos pueden ejecutar varios programas a la vez incluso cuando sólo se dispone de una CPU.
Un proceso es un programa en ejecución con un estado asociado que posee ciertas características como:
• Las distintas aplicaciones que se aplican en el S.O. son procesos independientes
• Cada proceso ocupa un espacio de memoria independiente
• Una aplicación puede ser un conjunto de procesos que colaboran entre sí para lograr un objetivo. Para que esto pueda ser posible se deben implementar distintos mecanismos de comunicación entre procesos.
Los S.O. actuales permiten un nivel adicional de paralelismo dentro de un proceso. En un proceso pueden existir varias Hebras de control independientes (Threads).
• Cada hebra es una vía simultánea de ejecución dentro del espacio de memoria del proceso
• La comunicación entre las distintas hebras se puede realizar a través del espacio de memoria que comparten, aunque utiliza mecanismos de sincronización para controlar el acceso a este recurso compartido por todas las hebras del proceso.
Funcionalidad De Los Hilos.
Al igual que los procesos, los hilos poseen un estado de ejecución y pueden sincronizarse entre ellos para evitar problemas de compartimiento de recursos. Cada hilo tiene una tarea específica para aumentar la eficiencia del procesador, Los principales estados de los hilos son: Ejecución, Listo y Bloqueado.
¿Son importantes los procesos y las hebras?
La vida del programador resultaría mucho más sencilla si no hiciese falta la concurrencia ya que provoca errores difíciles de detectar y más aún de corregir. Sin embargo, existen razones por las cuales es aconsejable utilizar procesos y hebras:
De cara al usuario.
Hebras y procesos permiten la creación de interfaces que respondan mejor a las órdenes del usuario. Si la aplicación ha de tener peticiones de distintos clientes, el uso de procesos y hebras permite que distintos clientes accedan simultáneamente a la aplicación sin tener que esperar turno.
Planificador de procesos
Es un componente funcional muy importante de los sistemas operativos multitarea y multiproceso, y es esencial en los sistemas operativos de tiempo real. Su función consiste en repartir el tiempo disponible de un microprocesador entre todos los procesos que están disponibles para su ejecución.
Todo sistema operativo gestiona los programas mediante el concepto de proceso. En un instante dado, en el ordenador pueden existir diversos procesos listos para ser ejecutados pero solo uno de ellos puede ser ejecutado en cada microprocesador. De ahí la necesidad de que una parte del sistema operativo gestione de manera equitativa que proceso debe ejecutarse en cada momento.
Sincronización y Comunicación Entre Procesos.
La comunicación es necesaria si se desea que varios procesos puedan colaborar para realizar una misma tarea. Sincronización es igual a funcionamiento coordinado en la resolución de una tarea encomendada.
El SO ofrece mecanismos básicos de comunicación, que permiten transferir cadenas de bytes. Deben ser los procesos en ejecución quienes interpreten el significado de las cadenas transferidas para su labor coordinada.
Los mecanismos de comunicación y sincronización son dinámicos. Cuando se necesita un mecanismo de este
...