O
OpenSolaris é a versão open source do Solaris. Um Sistema Operacional baseado em UNIX desenvolvido pela Sun Microsystems. As primeiras versões do Solaris (baseadas no código do BSD) foram chamadas SunOS, tendo o seu nome alterado para Solaris 2 quando passou a ser baseado no Unix System V.
O OpenSolaris oferece os seguintes recursos avançados:
- DTrace: análise e resolução de problemas de performance, em tempo real;
- Solaris Containers: consolidação de aplicações em servidores de maior porte, através da criação de ambientes isolados e independentes;
- Predictive Self Healing: capacidade de antecipar-se à ocorrência de falhas que possam causar paradas críticas, isolando-as e auto-recuperando-se;
- Smarter Updating: atualizações automáticas e inteligentes através do Sun Update Connection;
1. Open Source; Do inglês para código aberto. Programas que tem o código fonte disponibilizado e acessível para qualquer pessoa.
Organização do Kernel
O kernel do OpenSolaris tem a responsabilidade de gerenciar o hardware e fornecer um ambiente de execução para os processos. Para isso ele opera, basicamente, duas camadas. A camada das aplicações de usuário e a camada de sistema (ou camada de kernel). A camada de sistema intermedia o acesso ao hardware, oferecendo para isto uma interface de programação conhecida como System Call. Os processos utilizam system calls para solicitar recursos e serviços ao kernel.
A instalação do kernel é feita de maneira modular, com um conjunto de funções compiladas na imagem do kernel e, adicionalmente, uma série de módulos que são carregados no kernel durante o boot ou durante a execução do sistema. Os módulos são divididos em sete categorias que compreendem: classes de agendadores, system calls, formatos executáveis, sistemas de arquivos, fluxos, barramento e drivers e dispositivos diversos. Como podemos observar abaixo na figura 1. Além da modularidade, o kernel do Solaris é multi-thread e completamente preemptivo(2) . Diversos serviços do kernel trabalham em threads independentes, com prioridades específicas, utilizando um sistema de bloqueios para proteger os recursos.
2. Preemptivo: do Português, o que tem capacidade de dar preferência.