martes, 4 de noviembre de 2014

GESTION DE PORCESOS

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".

Los procesos son gestionados por el sistema operativo y están formados por:
Un proceso se rige en pequeñas porciones, conocidas como páginas, y cada proceso tiene su propia tabla de paginación, fungiendo como una optimización del sistema operativo ante los fallo de página

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.



No hay comentarios.:

Publicar un comentario