Sie sind auf Seite 1von 2

Multiproceso y jerarqua de procesos Un sistema operativo multiprocesos es aquel que permite ejecutar varios procesos de forma concurrente.

. Forma de que se ejecuten de forma simultnea varios procesos es tener varias CPUs. La magia de un sistema operativo multiproceso reside en la operacin llamada cambio de contexto. Un sistema UNIX es multiproceso y establece una jerarqua de procesos a modo de rbol genealgico. El comando pstree permite conocer la jerarqua de procesos. Aadiendo como argumento el pid o el nombre de la cuenta, se obtienen la parte de la jerarqua que deriva de un proceso. Servidores y demonios del sistema Demonio: Proceso en 2do plano siempre disponible. Los demonios proporcionan servicios tales como conectividad con Internet, impresin, o correo electrnico, etc En UNIX los identificamos por su terminacin en d=demonio. Ejm sshd, httpd, inetd, cupsd, etc Procesos entre corchetes son procesos propios del kernel. Nivel de multiprogramacin y conjuntos residentes El nivel de multiprogramacin es el nmero de procesos activos que tiene un sistema. El conjunto residente (RSS) es la parte del proceso que est realmente en memoria principal. Es el tamao de una parte del proceso (cdigo y datos) que actualmente estn residentes en la RAM. Incluye las libreras compartidas. Esto da una aproximacin de cuanta RAM utiliza un proceso. La imagen del proceso (VSZ) tiene que ver con la parte del proceso q se encuentra en memoria virtual; es el tamao virtual del proceso Algunos procesos pueden compartir regiones de memoria, por lo que la suma de los conjuntos residentes puede ser mayor que la memoria realmente ocupada, al contarse los marcos de pgina compartidos varias veces. Con el comando free, obtendr la memoria principal ocupada por los procesos ms el sistema operativo. ESTADOS DE LOS PROCESOS D Bloqueado no interrumpible (cada vez es menos utilizado). Generalmente I/O R Ejecutando o listo para ejecutar (en la cola de ejecutable) S Sleeping (esperando que se complete un evento). Puede despertarlo una seal T Detenido por una seal de control de trabajo. Z Zombi. El proceso init Cuando arranca el sistema se desencadena una secuencia de procesos: Carga y descompresin del kernel Deteccin y configuracin de dispositivos Paso al primer programa de usuario, normalmente /sbin/init. El kernel le cede el control al proceso init mediante una llamada execve() El proceso init tiene PID = 1. Lee un fichero llamado inittab donde se relacionan una serie de procesos que deben arrancarse para permanecer activos todo el rato (demonios). El proceso init es el padre de todos los procesos. Proceso Zombi Es un proceso que ha completado su ejecucin pero an tiene una entrada en la tabla de procesos. Todo proceso al finalizar avisa a su proceso padre, para que ste elimine su entrada de la tabla de procesos. En el caso de que el padre, por algn motivo, no reciba esta comunicacin no lo elimina de la tabla de procesos. En este caso, el proceso hijo queda en estado zombie, no est consumiendo CPU, pero s continua consumiendo otros recursos del sistema. Procesos Hurfanos Cuando el padre de un proceso muere antes que su hijo queda hurfano y es adoptado por el proceso INIT.

Servicio fork() Crea un proceso que difiere del padre slo en su PID y PPID. fork() duplica un proceso generando dos procesos casi idnticos Un proceso puede pasar al proceso hijo una serie de variables pero un hijo no puede pasar nada a su padre a travs de variables. Valor numrico que ser -1 en caso de fallo. Si tiene xito se habr producido la duplicacin de procesos y retornar un valor distinto para el proceso hijo y para el proceso padre. Al proceso hijo le retornar el valor 0 y al proceso padre le retornar el PID del proceso hijo. El servicio exit() La utilizan los procesos para finalizar sus funciones Generalmente trabaja con el PID del proceso El servicio exec() Un proceso puede evolucionar y cambiar totalmente desde que arranca hasta que muere. Lo nico que no cambia en un proceso es su PID. Una de las cosas que puede hacer un proceso es cambiar por completo su cdigo. Mutar procesos o cambiar el programa de un proceso por otro; es decir ejecutar otro cdigo. La llamada exec() mantiene el mismo PID y PPID pero transforma totalmente el cdigo de un proceso en otro que cargar desde un archivo ejecutable. En realidad NO es el proceso lo que se reemplaza (corre en el mismo "cuerpo") sino que mut su cdigo/datos/etc. Todo el cdigo, (y los datos etc.) del programa en curso son "desechados" y reemplazados por el programa cargado con el exec SETUID SETGID Los bits de SETUID y SETGID (sticky bit) permiten que un usuario ejecute un programa de otro usuario con los privilegios de este ltimo. Esto sucede mucho en ejecutables que tienen el bit de SUID activado: convierten a quien los ejecuta en el usuario propietario de ese ejecutable. Si dicho usuario era root, al ejecutarlos se convierte momentneamente en root. Esto permite, por ejemplo, que un usuario normal pueda cambiar su contrasea, es decir, modificar el fichero /etc/shadow. El comando passwd hace de puerta de enlace, por as llamarlo, entre la peticin del usuario y la modificacin del fichero protegido txipi@neon:~$ ls -l /etc/shadow -rw-r--r-- 1 root shadow 1380 2002-11-12 20:12 /etc/shadow txipi@neon:~$ passwd txipi txipi@neon:~$ Changing password for txipi (current) txipi@neon:~$ which passwd txipi@neon:~$ /usr/bin/passwd txipi@neon:~$ ls -l /usr/bin/passwd -rwsr-xr-x 1 root root 25640 2002-10-14 04:05 /usr/bin/passwd SEALES Las seales de unix son mecanismos que permiten informar a los procesos de eventos que han sido provocados, por ellos mismos o por otros procesos. Cuando le llega una seal a un proceso el sistema interrumpe la ejecucin normal del proceso (o de cualquier funcin o llamada que este hubiera realizado) para ejecutar la funcin de desviacin. Signal--- manejador de seales Recibe dos argumentos - La seal - Manejador de seal ALARMAS Las alarmas las genera la funcin alarm(). Una vez llamada esta funcin, pasndole como parmetro un tiempo en segundos, se inicia una cuenta atrs de esa duracin. Una vez terminada, se enva al proceso una seal SIGALRM.

Das könnte Ihnen auch gefallen