Sistemas Operacionais
Programa ou um conjunto de programas cuja função é gerenciar os recursos do sistema (definir qual programa recebe atenção do processador, gerenciar memória, criar um sistema de arquivos, etc.), fornecendo uma interface entre o computador e o usuário.
Dedico esse post a todos os alunos da disciplina de SO e a mim :D, numa forma de fixar o conteúdo.
GERÊNCIA MEMÓRIA E MEMÓRIA VIRTUAL
Ex 1: (PROVA 3 SO SI-M/JOGOS de 2007 a 2013 e PAC 2011 a 2013) Considerando um espaço de endereçamento virtual de 512 MiB e uma memória física 8 MiB e utilizando-se páginas de 2 Kbytes.
1.1 Determinar o número de bits necessários para os endereços (lógicos e físicos), o número de páginas de memória virtual e o número de “frames” ou molduras (páginas de memória física).
1.2 Determinar a quantidade de páginas endereçáveis na memória virtual desse sistema.
1.3 Supondo que esse sistema disponha de 16 páginas ou blocos físicos de memória, mostre a tabela de páginas deste sistema com os seguintes mapeamentos: 0 -> 5, 1 -> 2, 2 -> 10, 3 -> indisponível, 4 -> 8, 5 -> 3.
1.4 Traduza os seguintes endereços lógicos em endereços físicos: 0x02C5, 0x2162, 0x3B34.
Resolução
1.1.1 Encontrar o número de bits endereçáveis para os endereços lógicos e físicos (ou MV e MF):
Sendo NbEMV o número de bits endereçáveis da memória virtual
e NbEMP o número de bits endereçáveis da memória física, temos:
NbEMV = 2^NbEMV = MV = 512MiB = 2^9 x 2^20 = 2^29 = 29.
Então temos 29 bits endereçaveis da memória virtual.
NbEMP = 2^NbEMP = MP = 8MiB = 2^3 x 2^20 = 2^23 = 23.
Então temos 23 bits endereçaveis da memória física.
1.1.2 Depois calculamos o número de páginas de memória virtual:
MV (Memória Virtual)
MP (Memória Principal ou Memória Física)
Número de Páginas Virtuais = MV/P = 512MiB / 2KiB = (2^9 x 2^20) / 2^11 =
(2^29 / 2^11) = 2^18 = (4 x 65536) = 262144.
Então temos 262144 páginas virtuais.
1.1.3 O segundo passo é encontrar quantos frames há de memória física:
MF/P = (8MiB / 2KiB) = (2^3 x 2^20) / 2^11 = 2^12 = 4096.
Então temos 4096 páginas físicas.
1.2 Como foi colocado o exercício, estamos utilizando utilizando páginas de 2 Kbytes. Então o número de bits de página endereçáveis:
Sendo P a página e NbEP os números de bits endereçáveis da página.
2^NbEP = P = 2Kbytes = 2^11 = 11 bits endereçaveis.
1.4 a) Para determinar o endereço físico ao endereço virtual 0:
Sendo EV o endereço físico e PF a página física,
Verificamos que a PF correspondende de 0 é 5 de acordo com o mapeamento.
EV = 0
PF = 5
PF binário | Deslocamento = 11
_______________|_____________
0...0000 0010 1|000 0000 0000
Ox 2 8 0 0
R = EV = 0 -> EF = 0x2800.
O endereço físico da pagina virtual é Ox2800.
Recomendo a leitura dos livros do Tanenbaum, ele é o autor do MINIX, um sistema operacional baseado no Unix com propósito educacional, e é bastante conhecido por seus livros sobre ciência da computação. O cara é professor de muitos, fato.
Sistemas Operacionais Modernos – 26 nov 2009 por Andrew S. Tanenbaum
Achou o assunto interessante? tem tem um livro legal do Silberschatz em Java aqui, e caso.. você tiver sem tempo pra estudar e quer uma boa introdução no assunto, vai com o conhecido¹ “Livro dos Dinossauros” aqui.
1. por mim