Cómo es la arquitectura del Kernel del sistema operativo Solaris.
Las funciones primarias del kernel pueden ser divididas en dos categorías: manejo del hardware mediante la asignación de sus recursos a los programas que están en ejecución, y proveer un conjunto de servicios de sistema a estos programas para su uso. El kernel de Solaris, como otros sistemas operativos, provee una máquina virtual que permite que múltiples programas se ejecuten concurrentemente en le plataforma de hardware. Cada programa tiene su propio ambiente de máquina virtual, con su contexto de ejecución y estado de ejecución.
El kernel posee mecanismos que permiten acceder los servicios del sistema operativo, tales como I/O, servicios de red, creación y terminación de procesos y threads, y comunicación interprocesos (IPC). Los procesos acceden estos servicios a través 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 específicas “en nombre” del proceso que lo llama, tales como leer o escribir un archivo, o establecer una conexión de red.
- Capa de Ejecución y Schedule de procesos. Habilita la creación, ejecución, manejo y terminación de procesos. Para ello dividen los recursos de procesamiento de la máquina entre los threads en ejecución. 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 física 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 específicos de hardware.
- Capa de manejo de recursos. El kernel de Solaris contiene la infraestructura para asignar recursos de sistema específicos a los procesos. Esto permite maximizar el uso del hardware, manejar múltiples cargas de trabajo con una sola instancia del kernel, y soportar múltiples ambientes de ejecución.
- Capa de manejo de archivos. Solaris implementa una estructura virtual de filesystems, en la cual se pueden configurar al mismo tiempo múltiples 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 módulos jerárquicos que reflejan la organización física de las interconexiones entre los buses y los dispositivos.
- Capa de facilidades del kernel. Incluye relojes, timers de sistema, primitivas de sincronización, etc.
- Capa de manejo de redes. Provee soporte a IPv4 e IPv6, interfaces basadas en sockets para programación de aplicaciones en red. Las implementaciones de TCP/IP y UDP/IP han sido totalmente rescritas para mejorar su rendimiento.