Escolar Documentos
Profissional Documentos
Cultura Documentos
Servidor
de mas, tem um belo p de mas, carregado com deliciosas mas, do seu lado
da cerca; ele sente-se feliz em fornecer mas ao outro garoto sempre que ele solicita. O
outro garoto, chamado Comedor de mas, adora comer mas, mas no tem nenhuma.
De fato, ele deve comer mas a uma taxa fixa (uma ma por dia mantm o mdico
longe). Se comer mas a uma taxa mais alta, ele ficar doente. Se comer mais devagar,
sofrer de desnutrio. Nenhum dos garotos pode falar e, portanto, o problema transferir
mas do Servidor para o Comedor de mas na taxa correta.
a. Suponha que existe um relgio com alarme no alto da cerca, que pode ser programado
para disparar o alarme. Como o relgio pode ser usado para resolver o problema?
Desenhe
um diagrama de tempo para ilustrar a soluo.
b. Suponha agora que no existe nenhum relgio. Em vez disso, o Comedor de mas tem
uma bandeira, que ele pode balanar quando desejar uma ma. Sugira uma nova
soluo.
Seria til que o Servidor de mas tambm tivesse uma bandeira? Em caso afirmativo,
incorpore isso sua soluo. Discuta as desvantagens dessa abordagem.
c. Agora dispense a bandeira e suponha que exista um longo pedao de corda. Sugira
uma
soluo que utilize a corda e seja melhor do que a apontada em (b).
a)
A transferncia das mas deve ser sincronizada com o relgio, que deve ser ajustado
para tocar conformeas necessidades de ma do Comedor de mas.
Num momento inicial, ambos devem saber que devem iniciar o processo de servir /comer
mas. Isto deve acontecer a partir do momento em que o relgio desliga na primeira vez,
o que dar incio ao processo.
Quando o relgio tocar novamente, o Servidor de mas deve pegar uma ma e atira-la
por sobre a cerca.
No prximo toque ser a vez do Comedor de mas apanhar a ma atirada sobre a cerca
e come-la.
Esta sequncia de procedimentos deve ser a anloga a transferncia sincronizada de
dados entre dispositivos de um computador, como por exemplo, leitura de dispositivo de
entrada e sada de dados(E/S), utilizando-se barramento.
Dados
E/S
Pulso clock
Endereo
Durante o primeiro pulso do sinal de clock, a linha de endereos vai para nvel alto,
colocando bits de endereo no barramento. No segundo pulso, a linha de leitura de E/S
ativada, fazendo com que os bits de dados sejam colocados na linha de dados. Durante o
terceiro pulso de clock, ACPU l os dados.
b) Os garotos devem possuir, cada um, uma bandeira de sinalizao e acordar que
sempre que o Comedor de maas sinalizar com sua bandeira, colocando-a na posio
hasteada, o Servidor de mas dever pegar uma ma e atira-la por sobre a cerca e, em
seguida, hastear a sua bandeira, por certo espao de tempo, para sinalizar que enviou
uma ma. Isto evitar que, caso o comedor de mas venha a esquecer sua
bandeirahasteada, o Servidor de mas continue enviando-as sem que o segundo
realmente delas necessite.
A sequncia seria aproximadamente como abaixo:
O Comedor de mas hasteia sua bandeira avisando que est com fome.
O Servido de mas v a bandeira de seu colega hasteada; pega uma ma e a atira
sobre a cerca.
O Servidor de mas hasteia, por certo espao de tempo, sua bandeira, para avisar que
enviou a ma solicitada.
Calcule cada uma dessas quantidades para os casos em que h uma, duas e quatro
tarefas
simultneas, supondo que o perodo T seja distribudo de cada uma das seguintes
maneiras:
a. A primeira metade para EIS (I/O-bound) e a segunda metade para o processador.
b. O primeiro e quarto quartos para EIS e o segundo e terceiro quartos para o processador.
T = perodo de tempo (intervalo de computao)
N = nmero de perodos
Operaes de E/S podem sobrepor-se com operao do processador
Operaes do processador so contnuas (no se sobrepem)
TRT = Tempo real de resposta = tempo real para executar uma tarefa
TN = T*N = Taxa deexecuo de tarefas
Formato de clculo idntico para respostas: a) e b)
Para um trabalho: TRT = TN, com utilizao de 50% do trabalho do processador
Para dois trabalhos: TRT = NT , com utilizao de 100% de trabalho do processador
Para quatro trabalhos: TRT = ( 2*N -1) * N, com utilizao de 100% de trabalho do
processador
7.2 Um programa limitado por EIS um programa que, quando executado sozinho, gasta
mais
tempo esperando por EIS do que usando o processador. Um programa limitado pelo
processador
o oposto. Suponha que um algoritmo de escalonamento de curto prazo favorea
programas que tenham usado pouco tempo do processador no passado recente.
Explique por que esse algoritmo favorece os programas limitados por EI S e, ainda, evita
situaes em que os programas limitados por processamento fiquem sem tempo de
processador.
Programas limitados por E/S utilizam pouco tempo do processador e so, desta forma,
favorecidos pelo algoritmo. Entretanto, se um processo de programa limitado pelo
processador negado pelo processador por um perodo te tempo mais longo, este mesmo
algoritmo ir garantir a este processo a utilizao do processador, j que este processo
no teve acesso adequado ao processador no passado recente. Sendo assim, no
acontecer de o programa limitado pelo processador ter acesso permanentemente
negado.
7.3 Um programa computa a seguinte soma das linhas de uma matriz A de dimenso
100 x100:
n
Ci = aij
J=1
Suponha que o computador use paginao sob demanda, com pginas de tamanho igual
a mil palavras, e que o total de memria principal alocada para dados seja de cinco blocos
de pginas. A taxa de faltas de pginas seria diferente caso a matriz A fosse armazenada
na memria virtual por linha ou por coluna? Explique.
Considerando-se que a memria principal pode guardar 5 blocos de pginas:
O tamanho da ARRAY de 10 pginas;
Caso a ARRAY seja armazenada em linhas, ento, a cada dez pginas, estas devero
ser transferidas para a memria principal. Se a ARRAY for armazenada em colunas,
ento cada linha ser dispersa ao longo das dez pginas, e cada pgina dever ser
acessada 100 vezes, uma para cada calculo de linha (10 * 10).
7.4 Suponha que a tabela de pginas do processo que est sendo executado no
processador seja
tal como a apresentada a seguir. Todos os endereos nessa tabela so nmeros decimais,
a
partir de zero, e so endereos de bytes de memria. O tamanho de uma pgina 1024
bytes.
Nmero de Pgina virtual | Bit entradaVlida | Bit Pgina Referenciada |Bit Pgina
Modificada | Nmero de Bloco de Pgina |
0|1|1|0|4|
1|1|1|1|7|
2|0|0|0|-|
3|1|0|0|2|
4|0|0|0|-|
5|1|0|1|0|
a. Descreva exatamente como um endereo virtual gerado pela CPU traduzido para
um endereo fsico na memria principal.
b. A qual endereo fsico, se houver, corresponderia cada um dos seguintes endereos
virtuais? (No tente manipular nenhuma falta de pgina, se houver).
(i) 1052
(ii) 2221
(iii) 5499
a) Dividindo endereos binrios em nmero de pginas virtuais e OffSet:
Utilizando VPN como ndice de tabela de pagina:
Extraindo nmero de quadro de pgina:
Concatenando OffSet para gerar endereo fsico de memria:
b) 1052 = 1024 + 28 mapas para VPN 1 em PFN 7 ( 7 * 1024 +28 = 7196).
2221n = 2 * 1024 + 173 mapas para VPN 2, falta de pgina.
5499 = 5 * 1024 + 379 mapas para VPN 5 em PFN 0 ( 0 * 1024 + 379 + 379).
7.5 Por que o tamanho de pgina em um sistema de memria virtual no deve ser nem
muito
pequeno nem muito grande?
Com um tamanho muito pequeno de paginas, dois problemas ocorrem:
Muitos poucos dados so transferidos para cada pagina e, por isto, ser necessria uma
grande quantidade de E/S para acessar muitas pequenas pginas. O overhead ( cdigo
extra que tem que ser armazenado para organizar o programa tabelamento de tamanho
de pgina, comprimento de campo para numerao da pgina) ,
serdesproporcionalmente alto.
Se as pginas forem muito grande, haveria desperdcio da memria principal, j que
apenas uma pequena parte da pgina seria utilizada.
7.6 A seguinte seqncia de nmeros de pginas virtuais encontrada no curso de uma
execuo
em um computador com memria virtual:
342647132635123
Suponha que seja adotada uma poltica de substituio da pgina usada menos
recentemente
(LRU). Faa um grfico da taxa de acerto de pgina (frao de referncias a pginas
em que a pgina encontrada na memria principal) em funo da capacidade de
pginas da memria principal n, para 1 ~ n ~ 8. Suponha que a memria principal esteja
inicialmente vazia.
que
o sistema construa uma tabela de descritores de pgina com oito entradas para cada
segmento.
O sistema usa, portanto, uma combinao de segmentao e paginao. Suponha,
ainda, que o tamanho da pgina seja de 2 Kbytes.
a. Qual o tamanho mximo de cada segmento?
b. Qual o espao de endereamento lgico mximo da tarefa?
c. Suponha que um valor localizado no endereo fsico 00021ABC seja acessado pela
tarefa.
Qual o formato do endereo lgico que a tarefa gera para esse valor? Qual o espao
de endereamento fsico mximo do sistema?
2^32 memria / 2^11 tamanho pgina = 2^11quadro pgina
Memria principal (2^32 bytes)
2^32 memria / 2^11 tamanho pgina = 2^11 quadro pgina
Tabela de descritor de pgina
Segmento:
a) Tamanho mximo do segmento 8 * 2K = 16 K
b) Espao de endereamento mximo 16K * 4 = 64 K
c) Espao de endereamento fsico 2^32 = 4 G Bytes
7.11 Considere um microprocessador capaz de enderear at 232 bytes de memria
principal
fsica. Ele implementa um espao de endereamento lgico segmentado, com tamanho
mximo de 231 bytes. Cada instruo contm um endereo completo de duas partes. So
usadas unidades de gerenciamento de memria (memory-management units - MMUs)
externas, cujo esquema de gerenciamento aloca blocos contguos de memria fsica para
os segmentos. Esses blocos tm tamanho fixo e igual a 222 bytes. O endereo fsico inicial
de um segmento sempre divisvel por 1024. Mostre, em detalhes, a interconexo do
mecanismo externo de mapeamento, que converte endereos lgicos em fsicos, usando
um
nmero apropriado de MMUs. Mostre tambm, detalhadamente, a estrutura interna de
uma MMU (considerando que cadaMMU possui uma memria cache de descritores de
segmento
com 128 entradas e com mapeamento direto) e como cada MMU selecionada.
Consideraes:
O endereo fsico inicial de um segmento sempre divisvel por 1048. Seus 11 bits mais a
direita so sempre 0.
O espao mximo de endereos lgicos 2^9 = 512segmentos * ( 2^22 bytes / segmento)
= 2^31 bytes.
O formato lgico do endereo dado por:
| Segmento | | | | |
| nmero ( 9) | | Offset (22 ) |
Entradas em tabela de mapeamento: 2^9 = 512
Nmero de unidades de gerenciamento de memria necessrias = 4
Cada 9-bits de nmero de segmento vai para uma MMU;
7 bits so necessrios para as 128 tabelas de entrada
Os outros 2 bits mais significativos so decodificados para selecionar a MMU
Cada entrada na tabela tem 22 bits.
MMU-3
MMU-2
MMU-1
MMU-0
Endereo Fsico 32-bit
Tabela
128x21
MICROPROCESSA
DOR
DECODIF
7.12 Considere um espao de endereamento lgico paginado (composto de 32 pginas
de 2
Kbytes cada), mapeado em um espao de memria fsica de 1 Mbyte.
a. Qual o formato do endereo lgico do processador?
b. Qual o nmero de entradas na tabela de pginas e qual o tamanho de cada entrada
(desconsiderando
os bits de "permisso de acesso")?
c. Qual seria o efeito sobre a tabela de pginas, se o espao fsico de memria fosse
reduzido
pela metade?
a) O formato do endereo lgico do processador dado por:
| Nmero | | | | |
| Pgina ( 5 ) | | Offset ( 11 ) |
b) O nmero de entradas na tabela de pginas 32, com cada entrada de 9 bits de
tamanho.
c) Se o nmero total de entradas permanecer em 32 e o tamanho da pgina no mudar,
ento cada entrada ficaria com 8 bits de tamanho.