Sei sulla pagina 1di 4

EXERCÍCIOS REFERENTES AO CAPITULO 8

Palavras-chave: Memoria, Endereço físico, Endereço logico, Blocos de memoria

8.9: Explique a diferença entre fragmentação interna e externa.

Resposta: A fragmentação externa ocorre quando o primeiro bloco livre de memória é


insuficiente para o próximo programa a ser usado. Por exemplo, digamos que um sistema
carrega três programas na memória, cada um ocupando 50 megabytes ou MB. O segundo
programa é encerrado, deixando que o bloco de 50MB livre. Se o próximo programa para
iniciar requer 100 MB, não seria capaz de usar esse bloco de 50MB de espaço livre, e o
sistema atribuí-lo a próxima divisão 100MB livre. Essa lacuna na memória utilizada perma-
neceria sem uso até que algum programa necessário menos de 50MB de memória. Com o
tempo, essas pequenas falhas podem adicionar acima, e um sistema pode ser executado
com pouca memória, apesar das muitas pequenas áreas de memória livre .
A fragmentação interna decorre do fato de que, enquanto a memória é denominada em by-
tes, a menor unidade disponível é geralmente maior do que devido a regras de memória
de endereçamento. Por exemplo, se o sistema carrega um programa que requer 50 MB e
19 bytes de memória, pode não ser capaz de iniciar o programa seguinte em que 20 bytes,
em vez de iniciá-lo no byte 24 ou 28. Estas deficiências resultam em pequenas áreas de
memória inutilizável, simplesmente porque o sistema não pode tratar cada byte de memória
disponível para ele. Enquanto a memória perdida para a fragmentação interna é geral-
mente muito menor do que perder a fragmentação externa, essas pequenas quantidades
ainda pode aumentar com o tempo.

8.10 Considere o processo a seguir para a geração de binários. Um compilador é usado


para gerar o código-objeto dos módulos individuais, e um linkage editor é usado para combi-
nar vários módulos-objeto em um único binário de programa. Como o linkage editor altera a
vinculação de instruções e dados a endereços da memória? Que informações precisam ser
passadas do compilador ao linkage editor para facilitar as tarefas de vinculação da memória
do linkage editor?

Resposta: ??

8.11: Dadas seis partições de memória de 300 KB, 600 KB, 350 KB, 200 KB, 750 KB e
125 KB (em ordem), como os algoritmos do primeiro-apto, do mais-apto e do menos-apto
alocariam processos de tamanhos 115 KB, 500 KB, 358 KB, 200 KB e 375 KB (em ordem)?
Classifique os algoritmos em termos da eficiência com que usam a memória.

Resposta: ??

8.12: A maioria dos sistemas permite que um programa aloque mais memória para o
seu espaço de endereçamento durante a execução. A alocação de dados nos segmentos de
programas do heap é um exemplo desse tipo de alocação de memória. O que é necessário
para suportar a alocação dinâmica de memória nos seguintes esquemas?

• a. Alocação de memória contígua

1
??

• b. Segmentação pura
???

• C. Paginação pura

8.13 Compare os esquemas de alocação contígua, segmentação pura e paginação pura


para a organização da memória em relação às questões a seguir:

• a. Fragmentação externa
Resposta ??

• b. Fragmentação interna
Resposta ??

• C. Possibilidade de compartilhar código entre processos


Resposta ??

8.14 Em um sistema com paginação, um processo não pode acessar memória que ele
não possui. Por quê? Como o sistema operacional poderia permitir o acesso a outras
memórias? Por que ele deveria ou não fazer isso?

Resposta ??

8.15 Explique por que sistemas operacionais móveis como o iOS e o Android não supor-
tam permuta.

Resposta: ??

8.16 Embora o Android não suporte a permuta em seu disco de inicialização, é possível
definir um espaço de permuta usando uma placa de memória SD não volátil separada. Por
que o Android não permite a permuta em seu disco de inicialização mas a permite em um
disco secundário?

Resposta: ??

8.17 Compare a paginação com a segmentação no que diz respeito a quanto de memória
é requerido para que as estruturas de tradução de endereços convertam endereços virtuais
em endereços físicos.

Resposta: ??

8.18 Explique por que os identificadores de espaços de endereçamento (ASIDs) são


usados.

Resposta: ??

8.19 Os programas binários em muitos sistemas são tipicamente estruturados como des-
crito a seguir. O código é armazenado começando com um pequeno endereço virtual fixo,

2
como 0. O segmento de código é seguido pelo segmento de dados que é usado para ar-
mazenar as variáveis do programa. Quando o programa começa a ser executado, a pilha é
alocada na outra extremidade do espaço de endereçamento virtual e pode crescer em dire-
ção a endereços virtuais menores. Qual é a importância dessa estrutura para os seguintes
esquemas?

• a. Alocação de memória contígua


Resposta: ??
• b. Segmentação pura
Resposta: ??
• c. Paginação pura
Resposta: ??

8.20 Supondo um tamanho de página de 1 KB, quais são os números e deslocamentos


de página para as referências de endereço a seguir (fornecidas como números decimais):

• a. 3085
Resposta: ??
• b. 42095
Resposta: ??
• c. 215201
Resposta: ??
• d. 650000
Resposta: ??
• e. 2000001
Resposta: ??

8.21 O sistema operacional BVT tem um endereço virtual de 21 bits, mas, em certos
dispositivos embutidos, ele tem apenas um endereço físico de 16 bits. Ele também tem um
tamanho de página de 2 KB. Quantas entradas existem em cada uma das opções a seguir?

• a. Uma tabela de páginas convencional com um único nível


Resposta: ??
• b. Uma tabela de páginas invertida
Resposta: ??

8.22 Qual é o montante máximo de memória física?

Resposta: ??

8.23 Considere um espaço de endereçamento lógico de 256 páginas com um tamanho


de página de 4 KB, mapeado para uma memória física de 64 quadros.

3
• a. Quantos bits são requeridos no endereço lógico?
Resposta: ??

• b. Quantos bits são requeridos no endereço físico?


Resposta: ??

8.24 Considere um sistema de computação com um endereço lógico de 32 bits e tamanho


de página de 4 KB. O sistema suporta até 512 MB de memória física. Quantas entradas
haveria em cada um dos itens a seguir?

• a. Uma tabela de páginas convencional com um único nível


Resposta: ??

• b. Uma tabela de páginas invertida


Resposta: ??

8.25 Considere um sistema de paginação com a tabela de páginas armazenada na me-


mória.

• a. Se uma referência à memória leva 50 nanossegundos, quanto tempo leva uma


referência à memória paginada?
Resposta: ??

• b. Se adicionarmos TLBs, e 75% de todas as referências à tabela de páginas esti-


verem nos TLBs, qual será o tempo efetivo de referência à memória? (Suponha que
para encontrar uma entrada da tabela de páginas nos TLBs sejam necessários 2 na-
nossegundos, se a entrada estiver presente.)
Resposta: ??

8.26 Por que a segmentação e a paginação são, às vezes, combinadas em um esquema?

8.27 Explique por que o compartilhamento de um módulo reentrante é mais fácil quando
é usada a segmentação em vez da paginação pura.

8.28 Considere a tabela de segmentos a seguir:

Referências

Potrebbero piacerti anche