Sempre que um processo é carregado ou removido do bloco de memória física, ele cria um pequeno buraco no espaço de memória que é chamado de fragmento. Devido à fragmentação, o sistema falha ao alocar o espaço de memória contíguo a um processo, mesmo que tenha a quantidade solicitada de memória, mas de maneira não contígua. A fragmentação é ainda classificada em duas categorias: Fragmentação Interna e Externa. Show
Tanto a classificação interna quanto a externa afetam a velocidade de acesso aos dados do sistema. Eles têm uma diferença básica entre eles, ou seja, a fragmentação interna ocorre quando blocos de memória de tamanho fixo são alocados para o processo sem se preocupar com o tamanho do processo, e a fragmentação externa ocorre quando os processos são alocados dinamicamente. Vamos avançar e discutir as diferenças, razões, soluções por trás da fragmentação interna e externa com a ajuda do gráfico de comparação mostrado abaixo. Gráfico de comparação
Definição de Fragmentação InternaA fragmentação interna ocorre quando a memória é dividida em blocos de tamanho fixo . Sempre que uma solicitação de processo para a memória, o bloco de tamanho fixo é alocado para o processo. Caso a memória atribuída ao processo seja um pouco maior que a memória solicitada, a diferença entre a memória atribuída e a solicitada é a fragmentação interna . Este espaço restante dentro do bloco de tamanho fixo não pode ser alocado para nenhum processo, pois não seria suficiente para satisfazer a solicitação de memória pelo processo. Vamos entender a fragmentação interna com a ajuda de um exemplo. O espaço de memória é particionado em blocos de tamanho fixo de 18.464 bytes. Vamos dizer que uma requisição de processo para 18.460 bytes e um bloco de tamanho fixo particionado de 18.464 bytes é alocada para o processo. O resultado é que 4 bytes de 18.464 bytes ficaram vazios, o que é a fragmentação interna. A sobrecarga de manter o controle do furo interno criado devido à fragmentação interna é substancialmente maior que o número de furos internos. O problema da fragmentação interna pode ser resolvido particionando a memória no bloco de tamanho variável e atribuindo o bloco de melhor tamanho a um processo que solicite a memória. Ainda assim, não eliminará totalmente o problema da fragmentação interna, mas reduzirá em certa medida. Definição de Fragmentação ExternaFragmentação externa ocorre quando há uma quantidade suficiente de espaço na memória para satisfazer a solicitação de memória de um processo. Mas a solicitação de memória do processo não pode ser satisfeita, pois a memória disponível não está contígua. Se você aplicar a estratégia de alocação de memória de ajuste inicial ou melhor ajuste, isso causará fragmentação externa. Quando um processo é carregado e removido da memória, o espaço livre cria o buraco no espaço da memória, e existem muitos buracos no espaço da memória, isso é chamado de fragmentação externa. Embora o primeiro ajuste e o melhor ajuste possam afetar a quantidade de fragmentação externa, ele não pode ser totalmente eliminado. A compactação pode ser a solução para fragmentação externa. O algoritmo de compactação embaralha todo o conteúdo da memória em um lado e libera um grande bloco de memória. Mas o algoritmo de compactação é caro. Há uma solução alternativa para resolver o problema de fragmentação externa que permitirá que um processo adquira memória física de maneira não contígua. As técnicas para alcançar essa solução são paginação e segmentação. Principais diferenças entre fragmentação interna e externa
Conclusão:O problema da fragmentação interna pode ser reduzido, mas não pode ser totalmente eliminado. A paginação e a segmentação ajudam a utilizar o espaço liberado devido à fragmentação externa, permitindo que um processo ocupe a memória de maneira não contígua. Como ocorre a fragmentação interna em um sistema que implementa paginação e a externa?A fragmentação interna ocorre quando a memória é dividida em partições de tamanho fixo. A fragmentação externa ocorre quando a memória é dividida em partições de tamanho variável com base no tamanho dos processos. A diferença entre a memória alocada e o espaço necessário ou memória é chamada de fragmentação interna.
Como ocorre a fragmentação interna?A fragmentação interna é a perda de espaço dentro de uma área de tamanho fixo. Numa memória secundária, ela ocorre quando um arquivo ou fragmento de arquivo não ocupa completamente o espaço da unidade de alocação destinado a ele, causando desperdício de espaço.
Qual tipo de fragmentação ocorre em sistemas de paginação?Ocorre fragmentação externa. Sistemas que implementam a segmentação com paginação. Cada segmento é dividido fisicamente em páginas. O endereço é formado pelo número do segmento número da página dentro desse segmento e o deslocamento dentro dessa página.
O que é fragmentação interna e externa quando elas ocorrem?R: Fragmentação interna ocorre em espaços livres e contíguos na memória principal que são pré-alocados por processos, não possibilitando, portanto, o uso por outros processos. Fragmentação externa ocorre em espaços livres e contínuos, porém tão pequenos que não possibilitam a alocação de programas por processos.
|