¡Hola, visitante!



Subscribite a INFORJOSITEC por Email


Subscribite a INFORJOSITEC por rss





INFORJOSITEC

INFORJOSITEC
inforjositec

Translate

jueves, 2 de octubre de 2014

LOS PROCESOS EN WINDOWS

DEFINICION Se define un proceso como un programa en ejecución. La ejecución de este proceso se realiza en forma secuencial. Todos los programas cuya ejecución solicitan los usuarios, se ejecutan en forma de procesos. El proceso se puede definir como un programa de gestión por el sistema operativo. El sistema operativo mantiene por cada proceso una serie de estructuras de información que permiten identificar las características de este, así como los recursos que tiene asignados. El proceso es más que el código que ejecuta un programa; incluye la actividad actual y los contenidos de los registros del procesador. Incluye también la pila de proceso (datos temporales), una sección de datos (variables globales) y una sección de memoria que se asigna dinámicamente durante el tiempo de proceso de ejecución.
Todo proceso necesita los siguientes recursos: • Program Counter: indican la dirección de la siguiente instrucción que se ejecutará de ese procesos • Stack (Pila): contienen datos temporales, como son los parámetros de subrutina, las direcciones de retorno y variables locales. • Región de Datos: con variables globales y memoria dinámica. Todo ello permite gestionar de una manera más eficaz los procesos en los sistemas operativos multiprocesos, ya que cada proceso es independiente, por lo que el bloqueo de uno no debe de hacer que otro proceso en el sistema se bloquee. Es importante mencionar la diferencia entre un "Programa" y un "Proceso". Un programa es una entidad pasiva, mientras que un proceso es una entidad activa. Un programa se convierte en un proceso cuando un archivo ejecutable se carga en la memoria (por ejemplo hacer doble click sobre un ícono de programa ejecutable). Un programa es una entidad pasiva, en tanto en cuanto es un conjunto de instrucciones de código máquina y datos almacenados en un ejecutable. Mientras que un proceso sería la ejecución de ese programa, es decir, el programa en acción. Esto indica que los procesos son dinámicos, están en constante cambio debido a estos recursos necesarios, ya que al intentar realizar algún tipo de acción puede ser que tenga que permanecer a la espera de que dicho recurso esté disponible, por ejemplo una petición de lectura del disco duro, y que el brazo lector del disco duro lo esté utilizando otro proceso. ESTADO DE UN PROCESO En un sistema multitarea donde existen muchos procesos y un procesador, puede ocurrir que en un momento dado sólo se ejecute un proceso o varios y los demás estén esperando a ser procesado o esperen la finalización de una operación de E/S. Los pasos por los que puede pasar un proceso se pueden representar con un diagrama de estado como el de la figura siguiente. Así se puede apreciar que a medida que un proceso se ejecuta va cambiando de estado dependiendo de las preferencias que cada uno tengan asignadas, por lo que será el procesador el que se encargue de ejecutar unos u otros.
En la medida que un proceso se ejecuta, va cambiando de estado. Los estados en los cuales se puede encontrar un proceso son: • New (nuevo): el proceso es creado. • Running (en ejecución): las instrucciones están siendo ejecutadas. • Waiting (en espera): el proceso espera que ocurra algún evento. • Ready (preparado): el proceso espera que se le asigne un procesador. • Terminated (terminado): el proceso terminó su ejecución. El estado está definido según la actividad en que se encuentra un proceso.
El sistema operativo es el encargado de decidir qué procesos entran en la CPU cuando ésta queda libre, y en qué momento sale de la CPU el proceso que está en ejecución. Todo ello se lleva a cabo a través de una política de planificación de procesos. Se pueden definir múltiples políticas de planificación de procesos: por orden de llegada, primero la tarea más breve, por orden de prioridad, etc. En definitiva, lo que una política de planificación debe conseguir es que los procesos obtengan adecuadamente sus turnos de ejecución por lo que son tratados de la misma forma. DIFERENCIA ENTRE PROCESO Y SERVICIO El servicio es un tipo de aplicación de Windows que se ejecuta en segundo plano. El servicio puede proporcionar aplicaciones de servidores (web, bases de datos) tanto a nivel local como de red. Estos servicios puedes gestionarlos parándolos, iniciándolos. Además, puedes incorporarles una capa de seguridad, configurándolos para que sean ejecutados por determinados usuarios. En cambio, el proceso es un concepto manejado por el sistema operativo, alojado en memoria, y que, mediante colas, accede a la CPU para ejecutarse. La diferencia entre uno y otro, es que el servicio lanza (crea) un proceso para ejecutarse. Puede ser uno o varios, y desde el propio servicio, puedes gestionar la aplicación (pararla o iniciarla).

No hay comentarios :

Publicar un comentario