Você está na página 1de 3

Impresso por Thiago Horsford, CPF 040.842.602-07 para uso pessoal e privado.

Este material pode ser protegido por direitos autorais e


não pode ser reproduzido ou repassado para terceiros. 04/11/2021 18:55:11

Por fim, a Política de Substituição determina quais páginas devem ser liberadas da
memória caso algum processo atinja seu limite de alocação de frames. Os critérios são por
fila e se já foi modificada (caso não, gravá-las na memória secundaria para não perdê-las).
As páginas descartadas (Page out) são salvas num arquivo de paginação (pagefiles.sys) e
assim que for requisitada novamente ocorrerá seu carregamento na memória principal
(Page in).

7.O que é Page Fault e porque ocorre?

Page Fault é um erro (interrupção) referente a falta de páginas de um processo, ocorre


geralmente quando o processo ultrapassa o limite de frames previamente determinado ou
quando um programa acessa uma página virtual que não foi carregada na memória física.
A correção geralmente é descartando e inserindo um novo frame com maior espaço ou
carregando a página que falta na memória física, respectivamente.

8.O que é working set?

Working set é um algoritmo que realiza substituição de páginas, estabelecendo um tempo


máximo para cada uma na memória. Assim, toda página que tem seu tempo esgotado é
retirada da memória, deixando o número de páginas ativas variável.

9. O que são os algoritmos de substituição de páginas?

São mecanismos utilizados para a escolha de troca de páginas que sempre buscam o
melhor desempenho computacional possível, escolhendo quais páginas da memória dará
lugar a página que foi solicitada e que precisa ser carregada. Isso é necessário quando
não há espaço disponível para armazenar a nova página.

10.Cite e explique exemplos de algoritmos de substituição de páginas.

Ótimo: O algoritmo ótimo seleciona para substituição uma página que não será mais
referenciada no futuro ou aquela que levará o maior intervalo de tempo para ser
novamente utilizada. Na prática é impossível de ser implementado, pois o sistema
operacional não tem como conhecer o comportamento futuro das aplicações. Ele é
utilizado apenas como modelo comparativo na análise de outros algoritmos de
substituição.

Aleatório: O algoritmo aleatório não utiliza critério algum de seleção. Todas as páginas
alocadas na memória principal têm a mesma chance de serem selecionadas. Ele possui
baixa eficiência e é raramente implementado.

FIFO (First-in-first-out) No algoritmo FIFO, a página que primeiro foi utilizada será a
primeira a ser escolhida, ou seja, o algoritmo seleciona a página que está a mais tempo na
memória principal. O algoritmo pode ser implementado associando-se a cada página o
momento em que foi carregada para a memória ou utilizando-se uma estrutura de fila,
onde as páginas antigas estão no início e as mais recentes no final.

LRU (Least-recently-used) O algoritmo LRU seleciona a página na memória principal que


está há mais tempo sem ser referenciada. Se considerarmos o princípio da localidade, uma
página que não foi utilizada recentemente provavelmente não será referenciada
novamente em um futuro próximo. Para implementar esse algoritmo, é necessário que
cada página tenha associado o momento do último acesso, que deve ser atualizado a cada

Utilizamos cookies essenciais e tecnologias semelhantes de acordo com a nossa Política de Privacidade e, ao continuar você concorda com essas condições. Ok
Impresso por Thiago Horsford, CPF 040.842.602-07 para uso pessoal e privado. Este material pode ser protegido por direitos autorais e
não pode ser reproduzido ou repassado para terceiros. 04/11/2021 18:55:11

referência a um frame. Quando for necessário substituir uma página, o sistema fará uma
busca por um frame que esteja há mais tempo sem ser referenciado.

FIFO circular (clock) O algoritmo FIFO circular utiliza como base o FIFO, porém as páginas
alocadas na memória estão em uma estrutura de lista circular, semelhante a um relógio.
Para a implementação do algoritmo existe um ponteiro que guarda a posição da página
mais antiga na lista (figura 16a). Cada página possui associado um bit de referência,
indicando se a página foi recentemente referenciada. Quando é necessário substituir uma
página, o sistema verifica se o frame apontado tem o bit de referência desligado (BR = 0).
Nesse caso, a página é selecionada para descarte, pois, além de ser a mais antiga, não foi
utilizada recentemente. Por outro lado, se a página apontada tem o bit de referência ligado
(BR = 1), o bit é desligado e o ponteiro incrementado, pois, apesar de ser a página mais
antiga, foi utilizada recentemente. O processo se repete até ser encontrada uma página
com bit de referência igual a zero. Ao final, a página mais antiga é selecionada.

11. O que é memória virtual por segmentação?

Memória virtual por segmentação é a técnica de gerência de memória onde o espaço de


endereçamento virtual é dividido em blocos de tamanhos diferentes chamados segmentos.
Nela, um programa é dividido logicamente em sub-rotinas e estruturas de dados, que são
alocadas em segmentos na memória principal.

12.Como funciona a memória por segmentação com paginação?

Cada segmento é dividido fisicamente em páginas e 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 deslocamento indica a posição do endereço virtual em relação ao início da
página na qual se encontra. O sistema trata cada segmento como um conjunto de páginas
de mesmo tamanho, mapeadas por uma tabela de páginas associada ao segmento. Dessa
forma, um segmento não precisa estar contíguo na memória principal, eliminando o
problema da fragmentação externa encontrado na segmentação pura.

13. O que é swapping? Explique como funciona.

Swapping é uma técnica que permite aumentar o número de processos que compartilham
a memória principal e o grau de multiprogramação do sistema. Quando existem novos
processos para serem executados e não há memória principal livre suficiente para
alocação, o sistema utiliza o swapping, selecionando um ou mais processos para saírem
da memória e oferecer espaço para novos processos. Depois de escolhidos, o sistema
retira os processos da memória principal para a memória secundária (swap out), onde as
páginas ou segmentos são gravados em um arquivo de swap (swap file). Com os
processos salvos na memória secundária, os frames ou segmentos alocados são liberados
para novos processos. Posteriormente, os processos que foram retirados da memória
devem retornar para a memória principal (swap in) para serem novamente executados.

14. O que é thrashing?

Thrashing é o estado de um sistema de memória virtual em que existe uma excessiva


transferência de páginas/segmentos entre a memória principal e a memória secundária.
Ocorre quando a memória RAM é insuficiente para a carga atual de trabalho.

Utilizamos cookies essenciais e tecnologias semelhantes de acordo com a nossa Política de Privacidade e, ao continuar você concorda com essas condições. Ok
Impresso por Thiago Horsford, CPF 040.842.602-07 para uso pessoal e privado. Este material pode ser protegido por direitos autorais e
não pode ser reproduzido ou repassado para terceiros. 04/11/2021 18:55:11

15. Explique:

Thrashing na paginação.

Thrashing na segmentação.

a)Na memória virtual por paginação, o trashing ocorre em dois níveis: no do próprio
processo e no do sistema. No nível do processo, a excessiva paginação ocorre devido
como criar um blog ao elevado número de ‘page faults’ gerado pelo programa em
execução. Esse problema faz com que o processo passe mais tempo esperando por
páginas que realmente sendo executado. O trashing no sistema ocorre quando existem
mais processos competindo por memória principal que espaço disponível. Nesse caso, o
primeiro passo é a redução do número de páginas de cada processo na memória; porém,
como já analisamos, esse mecanismo leva ao como criar um blog trashing do processo.
Caso a redução não seja suficiente, o sistema inicia o swapping, retirando processos da
memória principal para a memória secundária. Se esse mecanismo for levado ao extremo,
o sistema passará mais tempo realizando swapping que atendendo aos processos.

b)Na memória virtual por segmentação, o thrashing também ocorre em dois níveis. No
nível do processo, a transferência excessiva de segmentos é devida à modularização
extrema do programa. Já no nível de sistema, ele é semelhante ao da paginação, quando
não tiver mais espaço na memória principal disponível, o sistema reduzirá o número de
páginas de cada processo na memória.

Utilizamos cookies essenciais e tecnologias semelhantes de acordo com a nossa Política de Privacidade e, ao continuar você concorda com essas condições. Ok

Você também pode gostar