Sistemas Operacionais
3a Atividade de Sistemas Operacionais
Prof. Cláudio C. Rodrigues
Problemas: (entrega: 02/04/2013)
P1)
Considere um espaço de endereços lógicos de 8 páginas, cada uma armazenando 1024 palavras, mapeadas em uma memória física de 32 page frames.
a)
b)
P2)
Quantos bits são necessários para o endereço lógico?
Quantos bits são necessários para o endereço físico?
Se o algoritmo de troca de páginas FIFO for usado com 4 page frames e 8 páginas, quantas faltas de páginas ocorrerão com a string de referência 0172327103 se as quatro page frames estão inicialmente vazias? Repita o problema para LRU.
P3)
O Linux utiliza memória virtual, que possui, pelo menos, 4 funções básicas:
I.
II.
III.
IV.
assegurar que cada aplicação (processo) tenha seu próprio espaço de endereçamento, começando em zero-problema de relocação; proteção de memória, para impedir que um processo utilize um endereço de memória que não lhe pertença; compartilhamento de memória — processos diferentes podem compartilhar código ou dados; possibilitar que uma aplicação utilize mais memória do que a fisicamente existente
(essa é a função mais óbvia).
Seu código divide-se em duas partes. Uma é dependente da arquitetura, onde são definidos o endereçamento — virtual e físico, o tamanho de página e o tratamento das tabelas de páginas.
Na parte independente ficam o controle de alocação e liberação de memória e o esquema de substituição páginas.
O Linux utiliza tamanhos de páginas de acordo com a arquitetura. Os processadores x86 utilizam páginas de 4 KiB (padrão), 2 MiB (caso seja utilizado o recurso de Extensão de
Endereço de Página (em inglês: Page Address Extension PAE) – da Intel) ou de 4 MiB. Nas arquiteturas RISC o tamanho padrão é de 8 KiB, mas não é o único.
O endereçamento virtual é dividido em espaço do usuário e espaço do núcleo. O primeiro é privativo de cada processo, com início no endereço lógico zero e terminando no endereço