Sunteți pe pagina 1din 2

PROCESOS DE SOLARIS

El proceso es la abstraccin ms bsica y fundamental provista por un sistema operativo. Un proceso es un objeto ejecutable que ocupa pginas de memoria fsica que contienen segmentos de memoria especficos con instrucciones, espacio para stack, espacio para data, y otros componentes necesarios para su ejecucin. Solaris implementa una tabla de procesos, donde cada proceso es identificado de manera nica con un nmero entero positivo llamado PID (Process Identification Number). Solaris es un sistema operativo multi thread, es decir, las tareas llevadas a cabo por el sistema operativo son ejecutadas como threads del kernel. Para los procesos de usuario, se crean los threads de usuario, los cuales son creados con un proceso ligero (lightweight process o LWP), un objeto del kernel que permite a los threads de usuario ejecutarse y entrar al kernel independientemente de otros threads del mismo proceso. Para que un thread de usuario pueda ser ejecutado, Solaris crea y le linkea un thread de kernel. El modelo de threads de Solaris 10 define internamente a los threads de usuario como LWP de usuario. A pesar que los LWP de usuario y los LWP del kernel son representados como dos estructuras de datos diferentes, estn integrados tan intrnsecamente que pueden ser vistos como una entidad de ejecucin nica. Desde el punto de vista del kernel, un proceso es un contenedor de estado para los threads. El estado de un proceso se refiere a todos los bits de informacin contenidos en un proceso que el kernel necesita para manejar efectivamente al proceso. Desde la perspectiva del proceso, el kernel abstrae los recursos de ejecucin a una mquina virtual para la ejecucin de sus instrucciones. El kernel mantiene una estructura de proceso (proc_t) para cada proceso en el sistema; dentro de la proc_t, la data de estado del proceso es mantenida y referenciada. La proc_t reside en el espacio de direcciones del kernel, y est protegida de accesos por parte de procesos de usuario. Todos los procesos se originan de un archivo ejecutable en disco. Una imagen del proceso es cargada en memoria por el kernel para su ejecucin. La creacin de un proceso ocurre cuando se efecta el system call fork(). Al proceso recin creado se le asigna su PID; el proceso que llam el fork() es el proceso padre; el proceso recin creado es el proceso hijo.

Cuando pulsamos el botn de encendido de la maquina se inicia la PROM y esta ejecuta un POST que realiza unchequeo al hardware y la memoria del sistema. La PROM muestra en pantalla informacin sobre el modelo de mquina, versin de PROM, nmero de serie de la PROM y host ID. Una vez finalizado el chequeo boot identifica el dispositivo de arranque y carga bootblk situado en dicho dispositivo. bootblk tiene ahora la funcin de cargar el programa secundario de arranque llamado ufsboot que se encuentra en el sistema de ficheros ufs del dispositivo de arranque.

Una vez cargado ufsboot en memoria este tiene la misin decargar el kernel en 32 o 64 bits. El kernel comienza a cargar los mdulos y se apoya en ufsbootpara poder tener acceso a los ficheros. Cuando ha cargado lo smdulos necesarios para poder montar el sistema de fichero sroot / descarga de memoria ufsboot. El kernel lee el fichero/etc/system que contiene parmetros de configuracin queafectan directamente al comportamiento del sistema y son modificables. Una vez ledo los parmetros de configuracin arranca el proceso /sbin/init. El proceso init comienza la carga de los procesos que estn declarados en el fichero /etc/inittab. En versiones anteriores a Solaris 10 se iniciaba la carga de los Runlevel. A partir de Solaris 10 se inicia el proceso /lib/svc/bin/svc.startd que ejecuta el proceso de arranque basado en SMF y que por compatibilidad ejecutar o parar las aplicaciones incluidas en los directorios rc*d.

S-ar putea să vă placă și