Sei sulla pagina 1di 3

Disco 16 MB de tamanho e blocos com 2 KB – p2 tamanho máximo da memória física?

Tamanho máximo do arquivo Peterson para o problema de exclusão mútua à seção crítica p1
alocação contígua – todo disco – 16 MB código abaixo
flag[k] significa que a tarefa k (0 ou 1)
alocação encadeada (a) flag[i] = TRUE;
16 MB / 2 KB = 2^24 B / 2^11 B = 2^13 blocos (b) flag[j] && turn == i);
encadeamento dos blocos 2^13×13 = 106.496 bits ou 13 KB (c) flag[i] = FALSE;
Tamanho máximo 16 MB – 13 KB Cada filósofo uma tarefa i (i = 0, 1, 2, 3, 4)
o filósofo 4 executa uma função diferente
alocação indexada e dois filósofos possam pegar o mesmo garfo simultaneamente?
13 bits para endereçar um bloco Não, pois os garfos são semáforos binários, mutuamente exclusivos.
endereçar 2 KB / 13 bits = 2^11×8 bits / 13 bits = 1.260 blocos entrem em deadlock?
máximo do arquivo será 1.260 × 2 KB = 2.520 KB – 2,5 MB Não
filósofos entrem em livelock
multinível metade blocos de dados e metade blocos de índices Não. Para ocorrência de livelock, quando um filósofo pegasse o garfo direito mas não conseguisse
bloco pode endereçar 1.260 b pegar o esquerdo (porque ele estava com seu vizinho), ele deveria largar o garfo direito.
o tamanho máximo do arquivo será 1.260/2 × 2 KB + (1.260/2 × 1.260) × 2 KB = 1.260 baseada em busy waiting?
KB + 1.587.600 KB = 1.588.860 KB (aproximadamente, 1,5 GB). Não. Busy waiting (espera ocupada) ou spinlock (no caso de bloqueios) é uma técnica para impedir que
uma tarefa avance fazendo com que ele realize iterações (loops)
Unidade de Gerência de Memória (MMU) Filósofos bloqueados por down não participam do escalonamento do processador”.
páginas/quadro de tamanho 2 KB
endereços virtuais 16 bits com frames/páginas de 256 bytes e o endereço físico 0xABC
memória física 16 MB (a) tamanho máximo dessa memória e (b) quantos frames ela possui?
1 bit de validade, 1 bit de referência, 1 bit “sujo” e um bit de só-leitura. 3 caracteres hexadecimais = 3*4 = 12 bits → 212 endereços → 4 KB de memória
qual o tamanho da tabela de páginas? O tamanho do frame é 256 ou 28 bytes; o tamanho da memória é 4 KB ou 212 bytes.
Páginas de 2 Kb = 2^11 B - 11 b o offset da página / quadro End virtuais de 16 bits - 16 - Assim, o número de frames é 212/28 = 24 ou 16 frames.
11 = 5 bits num da página. paginação simples
Logo 2^5 = 32 páginas, no máximo, frames são de 1 Kbyte (1.024 bytes)
memória de 16 MB = 2^24 B - Endereços físicos com 24 bits - 24 -11 = 13 bits para endereço lógico é formado por 16 bits.
identificar o número do quadro. endereço físico é formado por 20 bits.
Logo, o tamanho da tabela de páginas é 32 × (13 + 1 + 1 + 1 + 1) = 544 bits ou 68 B. a) Qual o espaço de endereçamento lógico?
b) Qual o espaço de endereçamento físico?
após escrever o arquivo A que usa 6 blocos c) Qual o número máximo de entradas ou linhas da tabela de páginas?
blocos têm tamanho de 4 KB d) Qual o tamanho de cada entrada na tabela de páginas? Solução:
0000 0000 0111 1111 a) 216 bytes = 64 KB.
Gravado 5 blocos b) 220 bytes = 1 MB.
0000 1111 1111 1111 c) bits para página = bits de end. lóg – bits de deslocamento pág. tem 1 KB = 2^10 bits → 10
A é deletado bits de deslocamento bits para página = 16 – 10 = 6 bits número máximo de páginas = 2^6 = 64
0000 1111 1000 0001 páginas → 64 entradas
30 KB é gravado d) Bits do frame = bits end. físico – bits de deslocamento frames de 1 KB = 2^10 bytes → 10
30 KB / 4 KB = 7,5 – 8 blocos bits de deslocamento Bits do frame = 20 – 10 = 10 bits Cada entrada terá, então, 10 + 1 (bit de
0011 1111 1111 1111 validade) = 11 bits
64.000 bits são 8.000 bytes dois blocos int main (void){
1111 1111 1111 1111 unsigned long int id;
fork();
MMU que utiliza 3 id = fork();
endereço físico correspondente endereço lógico if (id == 0)
1101 1010 1111 0011 0000 fork();
01001 1010 1111 0011 0000
um i-node contém
 12 endereços de blocos de acesso direto;
 1 endereço de bloco com uma indireção; tarefas concorrentes que compartilham a variável fator.
 1 endereço de bloco com duas indireções; Tarefa 0 Tarefa 1 mov AX, fator mov AX, fator inc AX inc AX mov fator, AX mov fator, AX.
um bloco tem 4 bytes e os blocos têm 1.024 bytes
tamanho máximo de um arquivo?
Número de entradas ou endereços por bloco: 1.024/4 = 256 endereços
Número de blocos de dados mapeados diretamente: 12 blocos de dados
Número de blocos de dados mapeados por indireção simples: 256 blocos de dados
Número de blocos de dados mapeados por indireção dupla: 256×256 = 65.536 blocos de dados .
Tamanho máximo de um arquivo: (12 + 256 + 65.536) * 1.024 = 67.383.296 bytes ou (12
+ 256 + 65.536) * 1 KB = 65.804 KB ou (12 + 2^8 + 2^8 *2^8 ) * 2^10 bytes

0 1 2 3 0 1 4 0 1 2 3 4 – Relógio

Least Recently Used (LRU)

tanto os i-nodes quantos os blocos de dados têm 4 KBytes de tamanho e os índices dos blocos são
representados com 32 bits;
FIFO Tamanho máximo arquivos
Como os blocos têm 4 = 212 Kbytes de tamanho e os índices dos blocos são representados com 32 bits
= 4 bytes = 22 bytes, temos que o número de índices (apontadores) que um bloco pode ter é 212/22
= 210 ou 1024 ou 1K índices.
a) No i-node, 1024 – 3 índices apontam diretamente para blocos de dado. Assim, o tamanho máximo que
um arquivo que usa somente blocos de acesso direto pode ter é 1021 × 4 KB = 4084 KB (≈ 4
MB).
b) Tamanho total = acesso direto + acesso indireto simples = 4084 KB + 1024 * 4 KB = 4084
KB + 4096 KB = 8180 KB (≈ 8 MB) c) Tamanho total = acesso indireto simples + acesso duplo
Gerência de Memória (MMU) = 8180 KB + 1024 * 1024 * 4 KB = 8180 KB + 4.194.304 KB = 4.202.484 KB (≈ 4 GB)
páginas de tamanho 8 KB d) Tamanho total = acesso duplo + acesso triplo = 4.202.484 KB + 1024 * 1024 * 1024 *4 KB
endereços virtuais gerados possuem 20 bits = 48 KB + 4.294.967.296 KB = 4.398.050.713.588 KB (≈ 4 TB)
memória física do computador possui 0,5 MB (1 MB / 2)
quantos bits serão utilizados para identificar as páginas e os quadros? O algoritmo worst-fit aloca o programa na pior partição, ou seja, aquela que deixa o maior espaço livre.
Páginas de 8 Kb = 2^13 B → 13 bits para o offset da página / quadro Endereços virtuais
 First Come, First Served (FCFS): os pedidos são atendidos na ordem em que são gerados pelas tarefas; sua implementação é simples,
de 20 bits → 20 -13 = 7 bits para identificar o número da página mas não oferece um bom desempenho;
Computador com memória de 0,5 MB = 2^19 B - Endereços virtuais de 19 bits Endereços
 Shortest Seek-Time First (SSTF): os acessos a disco são ordenados conforme sua distância relativa: primeiro são atendidos os pedidos
virtuais de 19 bits - 19 -13 = 6 bits para identificar o número do quadro. mais próximos à posição atual da cabeça de leitura do disco.

 Circular Scan (CSCAN): os pedidos são atendidos sempre em ordem crescente de suas posições no disco; após tratar o pedido com a
maior posição, a cabeça do disco retorna ao próximo pedido com a menor posição no disco .

Potrebbero piacerti anche