GESTION DE PORCESOS
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 sistema
asociados".
- 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 unidad
central de procesamiento
para dicho programa.
- Su memoria de trabajo (memoria crítica), es decir, la
memoria que ha reservado y sus contenidos.
- Otra información que permite al sistema operativo su planificación.
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.
La forma de creación de procesos en Unix es a través de una llamada al sistema fork la cual creará un proceso hijo en total semejanza al padre, hasta que el recién proceso decida cambiar su imagen en memoria, incluso obtener sus propios descriptores de archivos abiertos.
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.
- Salida
por error.
- Error
fatal.
- Eliminado
por otro proceso.
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.
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 solo proceso a la vez, turnándolos para el uso de éste.
Existen procesos no apropiativos o cooperativos que básicamente ocupan todo el
tiempo del procesador hasta que ellos deciden dejarlo. Los procesos
apropiativos son aquellos que ocupan por un período de tiempo el procesador
hasta que una interrupción o señal llega al procesador para hacer el cambio de
proceso, a esto se le conoce como cambio de contexto.
Los posibles estados que puede tener un proceso son
ejecución, bloqueado y listo:
- Ejecución,
es un proceso que está haciendo uso del procesador.
- Bloqueado,
No puede ejecutarse hasta que un evento externo sea llevado a cabo.
- Listo,
ha dejado disponible al procesador para que otro proceso pueda ocuparlo.
Las posibles transiciones son 4. La primera se
realiza cuando el sistema operativo determina que el proceso no puede continuar
justo en ese momento, en algunos sistemas se puede hacer una llamada al sistema
"pause" para pasar al estado bloqueado, en Unix cuando el proceso
está leyendo datos provenientes de una canalización o de un archivo especial
(terminal) y no hay entrada disponible, el proceso se bloquea de forma
automática. Las transiciones 2 y 3 son llevadas a cabo por el planificador de
procesos, siendo que el proceso no tiene conocimiento de éste. La transición 2
se da cuando el planificador de procesos decide que el proceso ya estuvo el
tiempo suficiente en ejecución y debe dar paso a la ejecución de otros procesos
(adquieran tiempo del procesador). La transición 3 se realiza cuando todos los
procesos han ocupado tiempo del procesador y debe retomarse el primer proceso. La
transición 4 ocurre cuando se produce un evento externo por el que un proceso
estaba en espera, por ejemplos, introducir datos desde la terminal. Si no hay
otro proceso en ejecución en ese instante, la transición 3 se activa y el
proceso comienza a ejecutarse; también podría pasar al estado de
"listo" y esperar un momento para iniciar la ejecución.
PROCESOS DE
WINDOWS
Csrss.exe
Csrss.exe significa Client Server Run-time Subsystem.
Es un subsistema
esencial que debe estar siempre activo. Este administra la consola de Windows,
crea y destruye threads y administra algunas porciones del entorno 16 bits
virtual DOS.
Explorer.exe
Proporciona el entorno de escritorio y la barra de tareas, etc. Este proceso no
es vital para el sistema (podemos detenerlo para luego volver a ejecutarlo a
través del administrador de tareas- abrir luego escribir explorer.exe),
pero si lo detenemos, sólo tendremos el escritorio.
Lsass.exe
Es el servidor de autentificación local de seguridad.
Genera los procesos responsables de la autentificación de usuarios para el
proceso Winlogon. Si la autentificación tiene éxito, lsass.exe genera los tokens
de acceso para el usuario que son utilizados para lanzar el shell inicial. Los
otros procesos que el usuario inicia heredan estos tokens
Mstask.exe
Es el servicio que se encarga de planificar las tareas, es responsable de la
ejecución de tareas a un instante preciso programadas por nosotros.
Smss.exe
Es el subsistema de gestión de sesiones (Session Manager Subsystem).
Se encarga de la gestión de las sesiones de usuario.
Este proceso es responsable de diferentes actividades entre ellas la ejecución
de los procesos Winlogon y Win32 (csrss.exe) y de la creación de variables de
entorno del sistema.
Después de ejecutar estos procesos, éste espera que Winlogon o Csrss finalicen.
Si esto se produce normalmente, entonces el sistema se detiene.
Spoolsv.exe
Es el proceso responsable de la gestión de los trabajos de impresión y fax…
Svchost.exe
Es un proceso genérico que hace de host para otros procesos que corren desde
DLL.
Services.exe
Es el administrador de servicios de Windows (Service Control Manager).
Este proceso inicia, detiene e interactúa con los servicios del sistema.
CONCLUSIONES
En este tema lo que vivos fue en que consistía un proceso y como se llevaban a cabo así como cuales eran los procesos de WINDOWS para cada una de sus tareas, y así poder saber como funcionaba cada unos ya y para que fueron diseñados.



.jpg)


















