Anda di halaman 1dari 5

Procesos

El siguiente prctico consiste en la observacin y anlisis de algunos de los procesos que existen en los sistemas operativos, tal es este el caso de Windows y GNU/Linux. Mediante el uso de programas y el desarrollo de pequeos cdigos se puede observar el comportamiento y la funcionalidad de algunos de los procesos fundamentales de estos S.O. Un proceso puede definirse como un programa en ejecucin. Los sistemas operativos multitarea, como Linux o Windows, permiten la ejecucin simultnea de mltiples procesos. En estos sistemas, la CPU se va repartiendo entre los diferentes procesos, de modo que todos ellos se vayan ejecutando en tiempo compartido. Para observar y llevar el control de los procesos que se encuentran en ejecucin en el sistema, Windows proporciona una herramienta denominada Administrador de tareas. Tambin se pueden utilizar otras herramientas para ver los procesos, como el Process Explorer de Sysinternals. Ahora, utilizando estas herramientas, vamos a observar algunos procesos que estn presentes en todo sistema Windows. Para las siguientes cuestiones planteadas a continuacin ustedes deben ver la manera de que las acciones en sus equipos queden registradas. Esto es anotando cada uno de los resultados obtenidos o salvando pantallas por ejemplo. Es vlido cualquier mtodo que quieran utilizar para registrar la prctica.

Herramientas para Windows


Procesos de sistema Durante el proceso de arranque del computador, el sistema operativo, una vez cargado, pone en ejecucin un conjunto de procesos que realizan funciones vitales dentro del sistema. Estos procesos reciben el nombre de procesos de sistema. Vamos a observar estos procesos.

1) Asegrense de que no tienen ninguna aplicacin abierta en el sistema. Ahora abran el Administrador de tareas o Process Explorer En este momento observarn todos los procesos que se estn ejecutando actualmente en el sistema. Como en este momento no tienen ninguna aplicacin abierta, todos los procesos que observan son procesos de sistema. Para cada proceso se muestran varios campos de informacin. Lo normal es que los campos mostrados sean los siguientes en el Administrador de Tareas y muy similares en Process Explorer: Nombre de imagen: Es el nombre del programa ejecutable desde el que se carg el proceso. Nombre de usuario: Es la cuenta de usuario utilizada por el proceso en su ejecucin. Dicha cuenta establece el entorno de seguridad del proceso. CPU: Indica el porcentaje de CPU consumida por un proceso.

Uso de memoria: Es la cantidad de memoria utilizada por el proceso. PID: Identificador de proceso.

2) Ahora vamos a reconocer algunos de estos procesos de sistema. Comenzaremos por el


Proceso inactivo del sistema o System Idle Process. Este proceso es el que se ejecuta cuando la CPU no tiene trabajo til que llevar a cabo. Indiquen a continuacin el identificador de este proceso y el porcentaje de CPU utilizado por l Ejecuten otra u otras aplicaciones y mientras estas estn activas vean que sucede con el proceso. Qu conclusin sacan del porcentaje de CPU utilizado por este proceso?

3) Otros procesos crticos del sistema son el SMSS, y WINLOGON. El SMSS,


conocido como Session Manager, es el que controla toda una sesin de trabajo, desde que el sistema se inicia hasta que se apaga. WINLOGON es el que controla las sesiones de usuario. As por ejemplo, este proceso controla la ventana en la que introducimos nuestro nombre de usuario y clave para comenzar una sesin en el sistema. Asegrense de que han observado estos procesos en el Administrador de tareas. o Process Explorer. Qudate con sus nombres porque siempre estarn presentes en toda sesin de trabajo. Anoten el PID de cada uno de los procesos o hagan una imagen de pantalla de la vista de los procesos.

4) Vamos a ver ahora otro proceso fundamental que es el explorer.exe. Este proceso
controla la interfaz grfica con el usuario, proporcionando as una de las funciones principales del sistema operativo Windows. Vamos a eliminar este proceso a ver qu ocurre. Pulsen con el botn derecho sobre el proceso explorer.exe. Elijan la opcin Terminar proceso o Kill Process. Qu ocurre? Describan o hagan imagen de pantalla. Una opcin para continuar trabajando con el sistema es eliminar la presente sesin de usuario y poner en marcha una nueva sesin. Esto podemos hacerlo sin problemas porque quien controla las sesiones de usuario es el proceso Winlogon, que sigue activo.

5) Pulsen Ctrl-Alt-Supr. Winlogon se activa mostrando la ventana Seguridad de


Windows, que es la que usan para lanzar el Administrador de tareas, pero que tambin les permite cerrar la sesin de usuario. Elijan Cerrar sesin. Ahora comienza como siempre una nueva sesin. Observen que todo vuelve a estar como estaba. Winlogon ha dirigido todo este proceso. Al crearse una nueva sesin de usuario se ha cargado de nuevo el explorer.exe y por tanto se ha habilitado una nueva interfaz con el usuario para atender a nuestras peticiones.

Abran el Administrador de tareas o Process Explorer y comprueben que el explorer.exe est de nuevo en ejecucin.

Proceso frente a programa Un programa, en su versin ejecutable, es un conjunto de instrucciones mquina y datos almacenados en un fichero. En Windows los programas ejecutables se nombran con la extensin .exe. A la versin ejecutable de un programa se le llama tambin la imagen binaria del programa. Un ejemplo de programa ejecutable es el Bloc de notas. Veamos ahora cul es su imagen binaria.

6) Abran el Administrador de tareas o Process Explorer. Ahora vamos a ordenar los


procesos por el nombre de su imagen binaria. Pulsa sobre Nombre de imagen o Process Observarn que los procesos quedan ordenados por nombre. Ejecuten el Bloc de notas y observen cmo aparece el nombre de su imagen (notepad.exe) en el Administrador de tareas o Process Explorer. En este momento el programa notepad.exe se ha convertido en un proceso porque lo hemos puesto en ejecucin en el sistema. Ahora veremos cmo a partir de un nico programa podemos generar tantos procesos como queramos, sin ms que ejecutar el programa mltiples veces. Anoten a continuacin el PID del proceso notepad.exe que acaban de poner en ejecucin. Vuelvan a ejecutar el Bloc de notas. Observarn que un nuevo proceso notepad.exe ha sido puesto en ejecucin. Anota el PID de este nuevo proceso. A partir de un nico programa hemos generado dos procesos diferentes. El sistema operativo los diferencia porque ha asignado un PID distinto a cada uno de ellos. Podran seguir generando tantos procesos notepad.exe como quisieran. Este ltimo experimento habr servido para dejar bien clara la diferencia entre programa y proceso.

Terminal de Linux
El objetivo de esta prctica es familiarizarse con los comandos bsicos de GNU/Linux a fin de poder utilizarla para la edicin y compilacin de programas. Una vez logueado en GNU/Linux abrir el terminal.
1) Verifiquen el directorio de trabajo 2) Verifiquen que usuarios estn conectados al sistema y que usuario son 3) Verifiquen el directorio de trabajo actual

4) Cambien a otro directorio, por ejemplo a Documentos o Imgenes 5) Verifiquen nuevamente que estn en el directorio requerido 6) Vuelvan al directorio padre o al directorio por defecto 7) Listen los archivos del directorio de trabajo 8) Listen los archivos del directorio /dev 9) Limpien la pantalla 10) Haz un listado de los procesos activos con los correspondientes valores que se

muestran.

Procesos en Linux
Para los siguientes ejercicios necesitas un editor y un compilador de C. Tanto el editor como el compilador pueden ser cualquiera siempre que los archivos fuentes se guarden con la extensin .C GNU/Linux trae un editor llamado gedit, el cual es bastante intuitivo y tiene caracteristicas tales como resaltado de texto y autoindentacin. Tambin posee el compilador GCC, el cual toma un archivo con extensin .C y lo convierte en un ejecutable.GCC es un compilador integrado del proyecto GNU para C, C++, Objective C y Fortran; es capaz de recibir un programa fuente en cualquiera de estos lenguajes y generar un programa ejecutable binario en el lenguaje de la mquina donde ha de correr. La sigla GCC significa "GNU Compiler Collection". Originalmente significaba "GNU C Compiler"; todava se usa GCC para designar una compilacin en C. G++ refiere a una compilacin en C++. Para compilar un archivo con GCC debemos usar la orden: $ GCC nombre del archivo lo que genera un archivo .out, ejecutable. Si quisieramos poner un nombre a nuestro ejecutable deberemos usar la sintaxis: $ GCC -o ejercicio1 ejercicio1.c con lo cual obtendremos un archivo ejecutable llamado ejercico1. Para ejecutar el programa solo tenemos que llamarlo por su nombre: $ ejercicio1 Editen y compilen los siguientes cdigos, coloquen un nombre adecuado para cada uno de estos para luego analizar y escribir a continuacin de cada uno de ellos una breve descripcin de lo que hace.

Observacin: La siguiente sintaxis puede tener errores de sintaxis, los cuales seran acusados por el compilador de C. Si esto ocurre hay que volver al programa fuente para corregirlos y volver a compilar. 1) #include <stdio.h> #include <sys/types.h> #include <unistd.h> int main (void) { printf("ID de proceso: %ld\n", (long)getpid()); printf("ID de proceso padre: %ld\n", (long)getppid()); printf("ID de usuario propietario: %ld\n", (long)getuid()); return 0; }
2) #include <stdio.h> int main() { int pid; printf("PADRE: Soy el proceso padre y mi pid es: %d\n", getpid()); pid = fork();

if (pid) // Este es el proceso padre { printf("PADRE: Soy el proceso padre y mi pid sigue siendo: %d\n", getpid()); printf("PADRE: Mi hijo tiene el pid: %d\n", pid); } else // Proceso hijo { printf("HIJO: Soy el proceso hijo y mi pid es: %d\n", getpid()); printf("HIJO: mi padre tiene el pid: %d\n", getppid()); } }