A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

SISTEMAS OPERACIONAIS I

Apresentações semelhantes


Apresentação em tema: "SISTEMAS OPERACIONAIS I"— Transcrição da apresentação:

1 SISTEMAS OPERACIONAIS I
Swapping Mesmo com o aumento da eficiência da multiprogramação e, particularmente, da gerência de memória, muitas vezes um programa não podia ser executado por falta de uma partição livre disponível. A técnica de swapping foi produzida para contornar o problema da insuficiência de memória principal.

2 SISTEMAS OPERACIONAIS I
Swapping O swapping é uma técnica aplicada à gerência de memória para programas que esperam por memória livre para serem executados. Nessa situação, o sistema escolhe um processo residente que é transferido da memória principal para a memória secundária (swap out), geralmente o disco.

3 SISTEMAS OPERACIONAIS I
Swapping Posteriormente, o processo é carregado de volta da memória secundária para a memória principal (swap in) e pode continuar sua execução como se nada tivesse ocorrido.

4 SISTEMAS OPERACIONAIS I
Swapping O algoritmo de escolha do processo a ser retirado da memória principal deve priorizar aquele com menor chance de ser executado, para evitar o swapping desnecessário de um processo que será executado logo em seguida. Os processos retirados da memória estão, geralmente, no estado de espera, não existindo a possibilidade de um processo no estado de pronto também ser selecionado.

5 SISTEMAS OPERACIONAIS I
Swapping Para que a técnica de swapping seja implementada, é essencial que o sistema ofereça um loader que implemente a relocação dinâmica de programas. Um loader relocável que não ofereça essa facilidade permite que um programa seja colocado em qualquer posição de memória; porém, a relocação é apenas utilizada no momento do carregamento.

6 SISTEMAS OPERACIONAIS I
Swapping No caso do swapping, um programa pode sair e voltar diversas vezes para a memória, sendo necessária que a relocação seja realizada pelo loader a cada carregamento. A relocação dinâmica é realizada por meio de um registrador especial denominado registrador de relocação. No momento em que o programa é carregado na memória, o registrador recebe o endereço inicial da posição de memória que o programa irá ocupar.

7 SISTEMAS OPERACIONAIS I
Swapping Toda vez que ocorrer uma referência a algum endereço, o endereço contido na instrução será somado ao conteúdo do registrador, gerando, assim, o endereço físico. Dessa forma, um programa pode ser carregado em qualquer posição de memória.

8 SISTEMAS OPERACIONAIS I
Swapping O conceito de swapping permite maior compartilhamento da memória principal e, consequentemente, maior utilização dos recursos do sistema computacional. Seu maior problema é o elevado custo das operações de entrada/saída (swap in/out). Em situações críticas, quando há pouca memória disponível, o sistema pode ficar quase que dedicado à execução de swapping, deixando de realizar outras tarefas e impedindo a execução dos processos residentes.

9 SISTEMAS OPERACIONAIS I
Swapping Gerenciando a memória livre Quando a memória é atribuída dinamicamente, o sistema operacional deve gerenciá-la. De modo geral, há dois modos de verificar a utilização da memória: mapas de bits e listas livres. Com um mapa de bits, a memória é dividida entre unidades de alocação tão pequenas quanto palavras ou tão grandes como vários kilobytes.

10 SISTEMAS OPERACIONAIS I
Swapping Gerenciando a memória livre A cada unidade de alocação corresponde um bit no mapa de bits, o qual é 0 se a unidade estiver livre e 1 se estiver ocupada (ou vice-versa).

11 SISTEMAS OPERACIONAIS I
Swapping Gerenciando a memória livre O principal problema com essa técnica é que, quando se decide carregar na memória um processo com tamanho de K unidades, o gerenciador de memória precisa encontrar espaço disponível na memória procurando no mapa de bits uma sequência de k bits consecutivos em 0. Essa busca pode se tornar lenta demais.

12 SISTEMAS OPERACIONAIS I
Swapping Gerenciando a memória livre Outra maneira de gerenciar o uso da memória é manter uma lista encadeada de segmentos de memória alocados e disponíveis.

13 SISTEMAS OPERACIONAIS I
Swapping Gerenciando a memória livre Um segmento é tanto uma área de memória alocada a um processo como uma área de memória livre situada entre as áreas de dois processos. Cada elemento dessa lista encadeada especifica um segmento de memória livre (L) ou um segmento de memória alocado a um processo (P), o endereço onde se inicia esse segmento, seu comprimento e um ponteiro para o próximo elemento da lista.

14 SISTEMAS OPERACIONAIS I
Swapping Gerenciando a memória livre Quando um processo termina sua execução geralmente tem dois vizinhos na lista encadeada de segmentos de memória. Esses vizinhos podem ser ou segmentos de memória alocados a processos ou segmentos de memória livres e, assim, formar quatro combinações possíveis.

15 SISTEMAS OPERACIONAIS I
Swapping Gerenciando a memória livre Quatro combinações de vizinhos para o processo X, que termina:

16 SISTEMAS OPERACIONAIS I
Swapping Estratégias de alocação de partição Os sistemas operacionais implementam, basicamente, três estratégias para determinar em qual área livre um programa será carregado para execução. Essas estratégias tentam evitar ou diminuir o problema da fragmentação externa.

17 SISTEMAS OPERACIONAIS I
Swapping Estratégias de alocação de partição Na estratégia best-fit, é escolhida a partição em que o programa deixa o menor espaço sem utilização (o espaço que sobra menos). Nesse algoritmo a lista de áreas livres está ordenada por tamanho, diminuindo o tempo de busca por uma área desocupada.

18 SISTEMAS OPERACIONAIS I
Swapping Estratégias de alocação de partição Na estratégia da worst-fit, é escolhida a partição em que o programa deixa o maior espaço sem utilização (o maior espaço).

19 SISTEMAS OPERACIONAIS I
Swapping Estratégias de alocação de partição Por utilizar as maiores participações, a técnica de worst-fit deixa maiores espaços livres, permitindo que um maior número de programas utilize a memória, diminuindo o problema a fragmentação.

20 SISTEMAS OPERACIONAIS I
Swapping Estratégias de alocação de partição Na estratégia first-fit, é escolhida a primeira partição livre, de tamanho suficiente para carregar o programa (o primeiro espaço que couber). Nesse algoritmo, a lista de áreas livres está ordenada crescentemente por endereços.

21 SISTEMAS OPERACIONAIS I
Swapping Estratégias de alocação de partição Com o método tenta primeiro utilizar as áreas livres de endereços mais baixos, existe uma grande chance de se obter uma grande partição livre nos endereços de memória mais alto. Nas três estratégias apresentadas, a first-fit é a mais rápida, consumindo menos recursos do sistema.

22 SISTEMAS OPERACIONAIS I
Exercícios: Descreva a técnica de swapping. Como funciona o mapa de bits, para gerenciamento de espaço livre de memória? Relate o funcionamento da lista encadeada, para gerenciamento de espaço livre de memória. Como funciona o algoritmo best-fit? Diferencie os algoritmos worst-fit e first-fit.


Carregar ppt "SISTEMAS OPERACIONAIS I"

Apresentações semelhantes


Anúncios Google