Gesto de memria (Cont.) Alocacao contigua simples Alocao Contigua Particionada Estatica Alocao Contigua Particionada Dinamica Estratgias de alocao de particao Alocao Contigua Simples Usada nos primeiros sistemas, e ainda e usada em alguns monoprogramaveis ate hoje. Ela consiste em dividir a memoria principal em 2 partes, sendo uma destinada ao Sistema Operativo e outra ao programa de usurio O usurio no pode usar uma rea maior do que a destinada para ele, isto e memoria total menos a memoria ocupada pelo sistema. Existe um registrador que se para as duas areas. Em sistemas com proteo o usurio no pode acessar a area contendo o Sistema, mas em sistemas sem proteo isto no acontece. Esta apesar de ser de simples implementao, no usa eficientemente os recursos do computador Alocao Contigua Simples Memoria Principal
Sistema Operativo Programa de usuario Reg Overlay Como os programas eram limitados pelo tamanho da memoria disponvel, surgiu a necessidade de criar mecanismos para resolver este problema, o overlay ou sobreposio, consiste em dividir o programa em mdulos, de forma que seja possvel a execuo independente de cada mdulo, utilizando uma mesma rea de memria. A tcnica de overlay utiliza uma rea de memria comum, os os mdulos no-carregados podero compartilhar esta rea de memria. Sempre que um mdulo no-carregado for referenciado pelo mdulo principal, o mdulo ser carregado da memria secundria para a rea de overlay. No caso de uma referncia a um mdulo j carregado, a carga no ser realizada Overlay Memria principal Sistema Operacional rea de Overlay rea do Mdulo Principal A B C Overlay a definio da rea de overlay fica a cargo do programador, e o tamanho dela, e estabelecido a partir do tamanho do maior modulo, porem esta tcnica deve ser usada com cuidado, para evitar transferncia de grandes volumes de dados fazendo com que o desempenho reduza. Alocao Contigua Particionada Estatica com o advento da multi-programacao, diversos programas deveriam ser carregados na memoria principal, para tal o Sistema Operacional dividia a memoria em pedaos chamados parties. O tamanho destas particoes era definido no inicio de Sistema. Para se alterar, o Sistema deveria ser reiniciado com as novas configuraes Para manter o controle sobre as parties alocadas, a gerncia de memria mantm uma tabela com o endereo inicial de cada partio, seu tamanho, e se est em uso ou no Dois registradores indicam o inicio e o fim de cada particao, Alocao Contigua Particionada Esttica Memoria Princiapal Sistema Operativo Particao A Particao B Particao C Particao D Alocao Contigua Particionada Esttica Numa partio so pode estar um e somente 1 programa, isto causava um desperdcio de espao, visto que os programas geralmente no ocupavam totalmente as parties, a isto se chama fragmentao interna Alocao Contigua Particionada Dinamica cada programa utiliza o espao necessrio, tornando essa rea sua partio Este tipo de alocao elimina a fragmentao interna, porem cause a fragmentacao externa, que ocorre quando um espao alocado a um determinado programa que foi encerrado e alocado a outro programa menor, deixando assim um espaco livre entre eles.
Alocao Contigua Particionada Dinamica Alocao Contigua Particionada Dinamica De modo a eliminar o problema de fragmentao externa, existem 2 solues: a) conforme os programas terminem, apenas os espaos livres adjacentes sejam reunidos, produzindo reas livres de tamanho maior. b) relocao de todas as parties ocupadas, eliminando todos os espaos entre elas e criando uma nica rea livre contgua, a desvantagem desta e de consumir mais recursos computacionais e ser relativamente complexa de se implementar Alocao Contigua Particionada Dinamica a) b) Estratgias de alocao de particao Quando novos processos so iniciados o Sistema deve decider qual partio alocar ao processo, dependendo das suas necessidades, estes metodos so: FIRST-FIT: a primeira partio livre onde caibam X (onde X e o tamanho do processo) bytes escolhida. A procura pode comear sempre no incio da lista, ou a partir do ltimo bloco alocado (next-fit). BEST-FIT: a partio livre de tamanho mais parecido com X bytes escolhida (sendo igual ou maior do que X). Pode aumentar o problema de fragmentao. WORST-FIT: a maior a partio livre escolhida; Obrigado..