domingo, 1 de maio de 2011

Gerência de Memória

        Cabe ao kernel do SOLARIS a responsabilidade pelas diversas funções de gerência de memória, como controlar partes da memória em uso e que partes ociosas, ou seja, partes da memória que não estejam alocando processos quando eles necessitarem, além é claro de desalocar os processos quando eles terminarem, e gerenciar a troca entre a memória principal e o “swap”(área de troca) quando a memória principal é muito pequena para armazenar todos os processos.
     Em sistemas de tempo compartilhado, o gerenciador de memória é responsável pela suspensão e retomada de um processo em intervalos de tempos distintos. Na espera pela execução, os processos ficam na memória até que seja identificado o processo ativo que, a partir desse momento, terá sua execução retomada. O gerenciador também reconhece os processos que estão em estado de espera por entrada/saída para que estes não sejam incluídos na partilha de tempo de execução.
      O escalonamento de memória do SOLARIS define as prioridades dos processos, cujo cálculo é referente ao tempo de execução acumulado. Os processos que em execução acumularam muito tempo terão prioridade menor que processos que ainda não foram executados.
         No SOLARIS, além do swapping – técnica que seleciona alguns processos para retirar da memória caso está esteja cheia, é implementada a gerência de memória virtual com paginação por demanda. Nesse esquema, páginas do processo são trazidas do disco para a memória somente quando são referenciadas.
Periodicamente o sistema é ativado para verificar se a quantidade de páginas livres é insuficiente. Nesse caso, o sistema inicia o trabalho de liberação de páginas para recompor a lista de páginas livres.
Quando necessário, o SOLARIS usa o algoritmo de procura circular para a liberação de páginas. Inicialmente todas as páginas estão marcadas como não utilizadas (bit de acesso igual a zero). Sempre que uma página é referenciada, o seu bit de acesso é ligado (igual a um). De tempos em tempos o sistema varre a lista de páginas, verificando o bit de acesso de cada uma. As páginas que não foram utilizadas são liberadas para lista de páginas livres. No caso de páginas contendo dados, sistema verifica também se a página foi modificada, para neste caso gravá-la em disco.

Um comentário: