Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Kernel Solaris

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 7

Cmo es la arquitectura del Kernel del sistema operativo Solaris.

Las funciones primarias del kernel pueden ser divididas en dos categoras: manejo del hardware mediante la asignacin de sus recursos a los programas que estn en ejecucin, y proveer un conjunto de servicios de sistema a estos programas para su uso. El kernel de Solaris, como otros sistemas operativos, provee una mquina virtual que permite que mltiples programas se ejecuten concurrentemente en le plataforma de hardware. Cada programa tiene su propio ambiente de mquina virtual, con su contexto de ejecucin y estado de ejecucin.

El kernel posee mecanismos que permiten acceder los servicios del sistema operativo, tales como I/O, servicios de red, creacin y terminacin de procesos y threads, y comunicacin interprocesos (IPC). Los procesos acceden estos servicios a travs del uso de llamadas de sistema (system calls).

El kernel de Solaris 10 se divide en los siguientes componentes o capas:

Capa de Interface de llamadas de sistema. Permite a los procesos de usuario acceder a los servicios del kernel. De ese modo, el kernel lleva a caobo tareas especficas en nombre del proceso que lo llama, tales como leer o escribir un archivo, o establecer una conexin de red. Capa de Ejecucin y Schedule de procesos. Habilita la creacin, ejecucin, manejo y terminacin de procesos. Para ello dividen los recursos de procesamiento de la mquina entre los threads en ejecucin. Solaris soporta diferentes clases de scheduling, que otorgan distinto comportamiento a los procesos. Capa de manejo de memoria. El sistema de memoria virtual maneja el mapeo de memoria fsica a los procesos de usuario y al propio kernel. El manejo de memoria se divide a su vez en dos capas: las funciones comunes de manejo de memoria y los componentes especficos de hardware. Capa de manejo de recursos. El kernel de Solaris contiene la infraestructura para asignar recursos de sistema especficos a los procesos. Esto permite maximizar el uso del hardware, manejar mltiples cargas de trabajo con una sola instancia del kernel, y soportar mltiples ambientes de ejecucin. Capa de manejo de archivos. Solaris implementa una estructura virtual de filesystems, en la cual se pueden configurar al mismo tiempo mltiples tipos de filesystems, entre ellos filesystems convencionales basados en discos, filesystems basados en redes, y pseudo filesystems.

Capa de buses de I/O y manejo de dispositivos. Implementa una serie de mdulos jerrquicos que reflejan la organizacin fsica de las interconexiones entre los buses y los dispositivos. Capa de facilidades del kernel. Incluye relojes, timers de sistema, primitivas de sincronizacin, etc. Capa de manejo de redes. Provee soporte a IPv4 e IPv6, interfaces basadas en sockets para programacin de aplicaciones en red. Las implementaciones de TCP/IP y UDP/IP han sido totalmente rescritas para mejorar su rendimiento.

Administracin de memoria del sistema operativo Solaris El esquema de administracin de memoria de Solaris.

Solaris 10 es un sistema operativo de memoria virtual. Las ventajas de un manejo virtual de la memoria son:

Presenta un modelo simple de manipulacin de la memoria a los programadores de aplicaciones, quienes no requieren conocer como est organizada la memoria fsica Permite que los procesos vean rangos lineales de bytes en sus espacios de direcciones, independientemente de la fragmentacin fsica que pueda tener la memoria real

Proporciona un modelo de programacin de aplicaciones con un tamao de memoria disponible muchas veces mayor a la memoria existente, al habilitar el uso de almacenamiento secundario como contenedor de secciones de memoria que no caben en la memoria fsicamente disponible

En este esquema de manejo de memoria, la memoria fsica (RAM) es dividida en pedazos de tamao fijo llamadas pginas. El tamao de una pgina puede variar dependiendo de la plataforma, por ejemplo, el tamao de pgina tpico de un sistema UltraSPARC es de 8 KB. Cada pgina est asociada con un archivo y un offset dentro del mismo; ambos datos identifican el backing store de la pgina. Se conoce como backing store a la ubicacin en almacenamiento secundario a la cual el contenido de la pgina debe ser migrado cuando la memoria fsica requiera ser tomada para otro uso; anlogamente, indica la ubicacin de la cual debe ser ledo su contenido cuando se requiera que est nuevamente en

memoria. El mecanismo que ejecuta ambas acciones es conocido como paginacin.

Para acceder a la memoria fsica, Solaris implementa mecanismos de traslacin de la memoria virtual a la memoria fsica. La figura 1 muestra la estructura de estos mecanismos

Espacio de direcciones virtual de un proceso

El concepto de paginacin se complementa con el de swapping. El swapping permite definir un espacio de direcciones virtual ms grande que el espacio de direcciones fsico. Cuando la demanda de memoria supera la cantidad de memoria fsica, las pginas de memoria menos recientemente usadas del proceso con mayor tiempo de inactividad son sacadas al llamado espacio de swap, que es un rea de disco definida para tal fin. De esta manera se libera memoria para otros procesos.

GESTIN DE PROCESOS DEL SISTEMA OPERATIVO SOLARIS 10

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.

También podría gustarte