O First-Fit é um representante dos algoritmos para “Estratégias de Alocação de Memória”. Nele, a primeira posição livre de tamanho suficiente para carregar o programa é escolhida. Podemos citar como exemplos de algoritmos de Estratégias de Alocação: Lista de Áreas Livres, Best-fit, Worst-fit e First-fit.
Tanembaum, em seu livro traduzido, chama as técnicas de “Gerenciamento de Memória com Listas Encadeadas” e traduz os termos assim:
• Algoritmo Primeiro Ajuste (first-fit): “o gerenciador de memória varre toda a lista de segmentos até localizar uma lacuna suficientemente
grande.” É um algoritmo rápido, pesquisando o mínimo possível.
• Próximo ajuste (lista de áreas livres): “funciona da mesma maneira que o primeiro ajuste, exceto que monitora a posição em que ele está
sempre que encontra uma lacuna adequada. Da próxima vez que é chamado para localizar uma lacuna, ele começa pesquisando na lista a
partir do lugar em que deixou da última vez, em vez de sempre partir do começo”.
• Melhor ajuste (best-fit): “pesquisa na lista inteira e pega a menor lacuna que seja adequada”.
• Pior ajuste (worst-fit): “sempre pega a maior lacuna disponível para evitar o problema de dividir lacunas quase exatas entre um processo e
uma lacuna minúscula”.
• Ajuste rápido: “mantém listas separadas para os tamanhos de lacunas mais comuns”.
O enunciado informa uma lista de segmentos livres e indica que um segmento de 16KB deve ser alocado conforme regras do algoritmo first fit. Então, o primeiro segmento em que couber o segmento será o utilizado, ou seja, a letra B que possui 20KB disponíveis. É importante observar que o segmento de 20KB será dividido em 2 segmentos (uma vez que não é do mesmo tamanho do segmento a ser armazenado): um de 16KB, que será utilizado, e outro com os 4KB restantes. Assim, a nova lista de segmentos disponíveis será 10 KB, 04 KB, 40 KB, 80 KB, 160 KB.