Gerenciamento de Memória
Existem algumas formas técnicas de gerenciamento existentes na Memória de um Computador onde elas são bem divididas. Na Partição Fixa temos a memória principal que é dividida dentro de um nó de partições estáticas (tamanho igual ou diferente). O processo é carregado dentro de uma partição de tamanho igual ou menor. - Ponto forte: Simples de implementar, pouco overhead no sistema - Ponto fraco: Fragmentação interna -> Uso ineficiente da memória principal. Qualquer programa, não importando o quanto pequeno é, ocupa uma partição na memória. Suas desvantagens são os números de partições especificadas no tempo de geração do sistema que limita o numero de processos ativos dentro do sistema. O Tamanho das partições são setadas no tempo de geração do sistema onde pequenos trabalhos utilizam os espaços das partições de forma ineficiente e são usadas com sucesso em Mainframe da IBM e Os/MFT (Multiprogramação com o numero fixo de tarefa). Na Partição Dinâmica os processos são criados dinamicamente, de forma que cada processo é alocado dentro da partição do mesmo tamanho do processo. - Ponto forte: Não tem fragmentação interna e usa de forma mais eficiente a memória.
- Ponto fraco: Uso ineficiente do processador por necessitar de compactação para solucionar a fragmentação externa (memória vai ficando cheia de vários buracos).
Também são usadas com sucesso em Mainframe da IBM e Os/MFT (Multiprogramação, porém com número variável de tarefa). Existe o Sistema Buddy O espaço disponível total da memória é tratado como um único bloco de 2U (bloco de maior tamanho que pode ser alocado)
* Se um pedido de tamanho s é tal que 2U-1 < s ≤ 2U, - Então: o bloco completo 2U é alocado - Senão: O bloco é divido em 2 “buddies” iguais. A divisão continua até que o bloco encontrado seja > ou = ao s requerido. - Uma forma modificada deste