Proceso de sistemas operativos

Solo disponible en BuenasTareas
  • Páginas : 6 (1304 palabras )
  • Descarga(s) : 0
  • Publicado : 8 de noviembre de 2011
Leer documento completo
Vista previa del texto
Procesos del sistema operativo
Linux, como se sabe, es un sistema operativo multitarea y multiusuario. Esto quiere decir que múltiples procesos pueden operar simultáneamente sin interferirse unos con los otros. Cada proceso tiene la "ilusión" que es el único proceso en el sistema y que tiene acceso exclusivo a todos los servicios del sistema operativo.
Programas y procesos son entidadesdistintas. En un sistema operativo multitarea, múltiples instancias de un programa pueden ejecutarse simultáneamente. Cada instancia es un proceso separado. Por ejemplo, si cinco usuarios desde equipos diferentes, ejecutan el mismo programa al mismo tiempo, habría cinco instancias del mismo programa, es decir, cinco procesos distintos.
Cada proceso que se inicia es referenciado con un número deidentificación único conocido como Process ID PID, que es siempre un entero positivo. Prácticamente todo lo que se está ejecutando en el sistema en cualquier momento es un proceso, incluyendo el shell, el ambiente gráfico que puede tener múltiples procesos, etc.
Procesos concurrentes, comunicación entre procesos.
Descubramos algo sobre los procesos que se ejecutan en nuestra máquina. El comando que nosda tal información es ps(1) que son las siglas de "estado de proceso". Abriendo un shell normal de texto y tecleando el comando ps obtendremos una salida como esta
PID TTY TIME CMD
2241 ttyp4 00:00:00 bash
2346 ttyp4 00:00:00 ps
Sé que esta lista no esta completa, pero concentrémosno en ésta por el momento: ps nos ha devueltouna lista de cada proceso en ejecución en el terminal actual. Reconocemos en la última columna el nombre por el cual el proceso se ha ejecutado (como "mozilla" para el Navegador Web Mozilla y "gcc" para el Compilador C GNU). Evidentemente, "ps" aparece en la lista porque se estaba ejecutando cuando la lista de procesos en ejecución se imprimió. El otro proceso listado es el Bourne Again Shell, elshell que se ejecuta en mi terminal.
Dejemos (por el momento) la información acerca TIME y TTY y veamos PID, el IDentificador de Proceso. El pid es un número positivo (no cero) único que se le asigna a cada proceso en ejecución; una vez que el proceso ha terminado el pid puede ser reutilizado, pero tenemos asegurado que durante la ejecución de un proceso su pid será el mismo. Todo esto implica quela salida de cada uno de vosotros del comando ps sea diferente a la del ejemplo de arriba. Para comprobar que esto diciendo la verdad, abramos otra shell sin cerrar la primera y escribe el comado ps: esta vez la salida da la misma lista de procesos pero con diferentes números pid, demostrado que son dos procesos diferentes incluso si el programa es el mismo.
Podemos obtener también una lista detodos los procesos en ejecución de nuestro Linux: la página del manual del comando ps dice que la opcion -e significa "seleccionar todos los procesos". Escribamos "ps -e" en una terminal y ps imprimirá una larga lista como la vista arriba. Para analizar mas cómodamente esta lista, podemos redirigir la salida de ps en el fichero ps.log:
ps -e > ps.log
Ahora podemos leer estefichero editándolo con nuestro editor preferido (o simplemente con el comando less); como se dijo al comienzo de este artículo el número de procesos en ejecución es mayor del que podemos esperar. Observamos que la lista no contiene solamente los procesos comenzados por nosotros (a través de la linea de comandos o nuestro entorno gráfico) sino también un conjunto de procesos, alguno de los cuales connombres extraños: el número y la identidad de los procesos listados dependen de la configuración de vuestro sistema, pero hay algunas cosas comunes. Primeramente, no importa que tipo de configuración tienes en el sistema, el proceso cuyo pid es igual a 1 es siempre "init", el padre de todos los procesos; posee el pid número 1 porque es siempre el primer proceso ejecutado por el sistema operativo....
tracking img