Os três tipos de mecanismos de controle que estão disponíveis no Solaris Operating System são restrições, agendamento e partição.
Restrições permitem que o administrador ou o desenvolvedor de aplicativos definam limites no consumo de recursos específicos para uma carga de trabalho. Com limites conhecidos, a modelagem de cenários de consumo de recursos se torna um processo mais simples. Limites também podem ser usados para controlar aplicativos que se comportam mal e que de outro modo comprometeriam o desempenho do sistema ou a disponibilidade através de solicitações de recursos não reguladas.
As restrições apresentam complicações para o aplicativo. O relacionamento entre o aplicativo e o sistema pode ser modificado ao ponto de o aplicativo não poder mais funcionar. Uma abordagem que pode mitigar este risco é reduzir gradualmente as restrições a aplicativos com comportamento de recursos desconhecido. Os controles de recursos tratados no Capítulo 6Controles de recursos (visão geral) oferecem um mecanismo de restrição. Aplicativos mais novos podem ser escritos para reconheçam as restrições de recursos, mas nem todos os autores de aplicativos escolhem fazê-lo.
O agendamento se refere a fazer uma seqüência de decisões de alocações a intervalos específicos. A decisão feita é baseada em um algoritmo previsível. Um aplicativo que não necessita da alocação atual deixa os recursos disponíveis para uso por outros aplicativos. O gerenciamento de recursos com base em agendamento permite a utilização total de uma configuração pouco comprometida, ao mesmo tempo que fornece alocações controladas em um cenário criticamente comprometido ou comprometido em excesso. O algoritmo subjacente define como o termo “controlado” é interpretado. Em algumas instâncias, o algoritmo de agendamento pode garantir que todos os aplicativos tenham algum acesso ao recurso. O fair share scheduler (FSS), descrito no Capítulo 8Fair share scheduler (visão geral), gerencia o acesso de um aplicativo aos recursos de CPU de uma forma controlada.
A partição é usada para vincular uma carga de trabalho a um subconjunto dos recursos disponíveis do sistema. Essa vinculação garante que uma quantidade conhecida de recursos esteja sempre disponível para a carga de trabalho. A funcionalidade de grupos de recursos, descrita no Capítulo 12Grupos de recursos (visão geral), permite que você limite cargas de trabalho para subconjuntos específicos da máquina.
Configurações que usam partição podem evitar o comprometimento excessivo no sistema geral. No entanto, ao evitar esse comprometimento excessivo, a capacidade de se alcançar altas utilizações pode ser reduzida. Um grupo de recursos reservado, como processadores, não está disponível para uso por outra carga de trabalho quando a carga de trabalho vinculada a eles está ociosa.