Gerenciamento de Mem ria
Cabe a kernel do openSolaris a responsabilidade por diversas funções do gerenciamento de memória, como a de controlar a memória em utilização pelo sistema de arquivos, alocar espaço para os processos, retirada dos dados quando não forem mais necessários ou quando encerrados, e a troca de dados entre a memória primária e secundária.
No SOLARIS o tempo de execução é compartilhado entre os processos a serem executados, sendo assim cada processo tem um tempo distinto de execução e cada processo passa diversas vezes pela CPU enquanto aguarda na fila de espera para ser executado.
O escalonamento de memoria do SOLARIS define as prioridades dos processos, cujo calculo é referente ao tempo de execução acumulado.
Para que tudo ocorra bem, o sistema utiliza-se de algumas técnicas como o “swapping” – essa técnica seleciona alguns processos para serem retirados caso a memória atinja seu ápice. O swapping pode ter duas variações, o soft swapping, que acontece se a memória disponível do sistema se encontra abaixo de um nível mínimo de memória livre, por um determinado período de tempo, o escalonador de memória começa a fazer a troca de processos, inicialmente o escalonador irá procurar por processos que estão inativos por mais tempo, ou seja, o que está na memória mais tempo sem ser referenciado, e o hard swapping que acontece se há mais de um processo na fila de processos ativos e a atividade de paginação ultrapassa um valor predefinido, então o núcleo descarrega todos os módulos e cache do sistema que não estão ativos e começa a fazer a troca de processos sequencialmente até que exista memória livre disponível. Temos a técnica de paginação, que consiste em dividir a memória física em páginas e a “Cydical page cache” - essa técnica substitui a paginação por demanda existente, utilizando-se para fazer o cache de dados do sistema de arquivos, ou seja, qualquer outro objeto da memória é tratado em listas diferentes através de bibliotecas