Diferença entre fragmentação interna e externa

Índice:

Anonim

o principal diferença entre a fragmentação interna e externa é que, na fragmentação interna, o bloco de memória atribuído a um processo é grande, de modo que as partes restantes não podem ser usadas para algum outro processo. Mas, na fragmentação externa, o espaço total da memória é suficiente para residir em um processo. No entanto, não é contíguo, de modo que o espaço não é utilizado.

A fragmentação é o processo que divide um espaço de memória livre em seções menores. Isso pode ocorrer devido à dificuldade em alocar blocos de memória para um processo, pois eles são menores em tamanho do que o necessário. Esse problema pode causar desperdício de memória, pois os blocos de memória permanecem sem uso. Existem dois tipos de fragmentação denominados fragmentação interna e externa.

Fragmentação interna, fragmentação externa, fragmentação, sistema operacional

O que é fragmentação

Quando um processo é carregado e removido da memória, esse espaço livre é dividido em pequenos pedaços. Esses blocos de memória são pequenos em tamanho e não é possível alocá-los para o mesmo processo ou algum outro processo. Portanto, esses blocos de memória permanecem sem uso. Esse problema é chamado de fragmentação.

Por exemplo, suponha que haja um processo (p1) na memória principal. Ele ocupa 4 MB de espaço. Em seguida, ele é removido da memória principal e armazenado na memória secundária. Esse espaço de memória inicial que pertencia a p1 agora é um espaço livre. Esse espaço é dividido em seções menores, como 2 MB e 2 MB. Se o processo p1 tiver que ser alocado à memória principal, ele não pode usar esse espaço anterior, pois já está dividido. Portanto, esse espaço de memória permanece sem uso.

O que é fragmentação interna

Na fragmentação interna, o bloco de memória atribuído a um processo é maior do que o necessário. Portanto, algumas partes da memória não são utilizadas. Esse espaço não pode ser usado para nenhum outro processo. Suponha que haja um processo p1 com 3 MB. Há 4 MB alocados para esse processo na memória principal. Não é possível usar o 1 MB restante para algum outro processo. Este 1 MB é desperdiçado. Esse desperdício é chamado de fragmentação interna.

Figura 1: Fragmentação Interna

O que é fragmentação externa

Se o espaço total de memória for suficiente para residir em um processo, mas não for contínuo, ainda não será possível usar esse espaço para um processo. Este tipo de fragmentação é denominado fragmentação externa. Suponha que o processo tenha 4 MB. Existem espaços de 2 MB, 1 MB e 1 MB na memória. A memória total é suficiente para residir o processo. Mas esses espaços não são contíguos, pois estão em vários locais. Portanto, o espaço permanece sem uso. Esta é a fragmentação externa.

A compactação ou memória aleatória é uma solução para a fragmentação externa. Ele colocará toda a memória livre em um grande bloco.

Figura 2: Compactação

De acordo com o diagrama acima, existe um espaço livre após p1 e p2. Há um espaço após p3, p4 e p5. Portanto, todos os processos são compactados para um lado. Agora existe um espaço livre contínuo. É possível alocar esse espaço livre para algum outro processo. Todos os espaços livres estão disponíveis em um local.

Diferença entre fragmentação interna e externa

Definição

Fragmentação interna é uma forma de fragmentação que surge quando há seções de memória restantes devido à alocação de grandes blocos de memória para um processo do que o necessário. A fragmentação externa é uma forma de fragmentação que surge quando há memória suficiente disponível para alocar para o processo, mas essa memória disponível não é contígua.

Funcionalidade

Na fragmentação interna, o bloco de memória atribuído a um processo é grande. Portanto, a parte restante não é utilizada, pois não pode ser atribuída a outro processo. Na fragmentação externa, o espaço de memória é suficiente para residir um processo, mas não é contíguo. Portanto, esse espaço não pode ser usado para alocação.

Solução

A solução para a fragmentação interna é atribuir partições grandes o suficiente para os processos. O conteúdo da memória de compactação ou embaralhamento é a solução para superar a fragmentação externa.

Conclusão

Na fragmentação interna, o bloco de memória atribuído a um processo é grande, de modo que as partes restantes não podem ser usadas para algum outro processo. Na fragmentação externa, o espaço total da memória é suficiente para residir um processo, mas não é contíguo, de modo que o espaço não é utilizado. Esta é a principal diferença entre fragmentação interna e externa.

Referência:

1. “Gerenciamento de memória do sistema operacional”. Www.tutorialspoint.com, Tutorials Point, 8 de janeiro de 2018, disponível aqui.

Diferença entre fragmentação interna e externa