Procesos

Solo disponible en BuenasTareas
  • Páginas : 10 (2255 palabras )
  • Descarga(s) : 0
  • Publicado : 12 de enero de 2011
Leer documento completo
Vista previa del texto
3.3 Operaciones sobre los procesos
En la mayoría de los sistemas, los procesos pueden ejecutarse de forma concurrente y pueden crearse y eliminarse dinámicamente. Por tanto, estos sistemas deben proporcionar un mecanismo para la creación y terminación de procesos. En esta sección, vamos a ocuparnos de los mecanismos implicados en la creación de procesos y los ilustraremos analizando el caso delos sistemas UNIX y Windows.
3.3.1 Creación de procesos
Un proceso puede crear otros varios procesos nuevos mientras se ejecuta; para ello se utiliza una llamada al sistema específica para la creación de procesos. El proceso creador se denomina proceso padre y los nuevos procesos son los hijos de dicho proceso. Cada uno de estos procesos nuevos puede a su vez crear otros procesos, dando lugar aun árbol de procesos.
La mayoría de los sistemas operativos (incluyendo UNIX y la familia Windows de sistemas operativos) identifican los procesos mediante un identificador de proceso unívoco o pid (process identifier), que normalmente es un número entero. La Figura 3.9 ilustra un árbol de procesos típico en el sistema operativo Solaris, indicando el nombre de cada proceso y su pid. En Solaris, elproceso situado en la parte superior del árbol es el proceso sched, con el pid 0. El proceso scheú crea varios procesos hijo, incluyendo pageouc y f sf lush. Estos procesos son responsables de la gestión de memoria y de los sistemas de archivos. El proceso sched también crea el proceso ir.it, que sirve como proceso padre raíz para todos los procesos de usuario. En la Figura 3.9

vemos dos hijosde init: inetd y dtlogin. El proceso ineta es responsable de los servicios de red, como telnet y f tp; el proceso dtlogin es el proceso que representa una pantalla de inicio de sesión de usuario. Cuando un usuario inicia una sesión, dtlogin crea una sesión de X- Windows (Xsession), que a su vez crea el proceso sdt_shel. Por debajo de sdt_shel, se crea una shell de línea de comandos de usuario,C-shell o csh. Es en esta interfaz de línea de comandos donde el usuario invoca los distintos procesos hijo, tal como los comandos ls y cat. También vemos un proceso csh con el pid 7778, que representa a un usuario que ha iniciado una sesión en el sistema a través de telnet. Este usuario ha iniciado el explorador Netscape (pid 7785) y el editor emacs (pid 8105).
En UNIX, puede obtenerse un listadode los procesos usando el comando ps. Por ejemplo, el comando ps -el proporciona información completa sobre todos los procesos que están activos actualmente en el sistema. Resulta fácil construir un árbol de procesos similar al que se muestra en la Figura 3.9, trazando recursivamente los procesos padre hasta llegar al proceso init.
En general, un proceso necesitará ciertos recursos (tiempo deCPU, memoria, archivos, dispositivos de E/S) para llevar a cabo sus tareas. Cuando un proceso crea un subproceso, dicho subpro- ceso puede obtener sus recursos directamente del sistema operativo o puede estar restringido a un subconjunto de los recursos del proceso padre. El padre puede tener que repartir sus recursos entre sus hijos, o puede compartir algunos recursos (como la memoria o losarchivos) con algunos de sus hijos. Restringir un proceso hijo a un subconjunto de los recursos del padre evita que un proceso pueda sobrecargar el sistema creando demasiados subprocesos.
Además de los diversos recursos físicos y lógicos que un proceso obtiene en el momento de su creación, el proceso padre puede pasar datos de inicialización (entrada) al proceso hijo. Por ejemplo, considere un procesocuya función sea mostrar los contenidos de un archivo, por ejemplo inig.jpg, en la pantalla de un terminal. Al crearse, obtendrá como entrada de su proceso padre ei nombre del archivo img.jpg y empleará dicho nombre de archivo, lo abrirá y mostrará el contenido. También puede recibir el nombre del dispositivo de salida. Algunos sistemas operativos pasan recursos a los procesos hijo. En un sistema...
tracking img