Lista de Exercícios gerenciador de Memorias S.OII- 6ºP CC-Unifeg

*/ Thiago Damiao Soares

Perguntas

  1. 1. Qual a função da MMU na gerência de memória?

R- MMU, Unidade de Gerenciamento de Memória, é um dispositivo de hardware que traduz
 os endereços virtuais em endereços físicos, é geralmente implementada como parte
 da CPU.

2. O que é o TLB?

R- TLB, conhecido tambem como memoria associativa, é um tipo de cache, incluído no processador, 
que permite que ele mantenha as tabelas de endereços de algumas páginas pré-carregados, o
que aumenta a velocidade de acesso a memoria. Quanto maior a TBL, mais endereços se pode guardar nela.

3. Explique a importância do TLB no desempenho da MMU.

R-A TLB ajuda a MMU a ser mais rapida ao buscar tabelas de paginas

4. Qual o tipo de fragmentação apresentado pelos métodos de gerência de memória baseados em partições fixas e por partições variáveis?

R-As partições fixas tem a fragmentação interna onde cada programa fica em 
uma partição que normalmente são maiores que o necessário, partições variáveis é
a fragmentação externa que deixa espaços pequenos quando o programa vai terminando 
não deixando memória suficiente para outro.

5. Qual a diferença entre endereço físico e virtual?

R- Endereço virtual é gerado pela CPU, e o endereço físico é da memoria RAM. 
Endereços virtuais são transformados em endereços físicos no momento de execução 
dos processos.

6. Qual a diferença entre monoprogramação e multiprogramação?

R-Multiprogramação é quando a CPU lida com vários processos e monoprogramação
é quando está único processo.

7. Explique o que é a atividade de swapping e diga como ela pode prejudicar o desempenho do sistema computacional.

R-O Swapping faz uma transferência temporária entre a memória principal e a secundaria
só que pode demorar e consome um tempo da CPU, que poderia estar a executar outros
processos.

8. Quando é mais interessante utilizarmos o algoritmo best-fit? E o worst-fit?

R-O best-fit é melhor quando se deseja um processo mais rápido, e o worst-fit quando
deseja criar um maior espaço na memoria.

9. Considerando partições fixas de memória de 100K, 500K, 200K, 300K e 600K (nessa ordem), como cada um dos algoritmos first-fit, best-fit e worst-fit colocaria processos de 212K, 417K, 112K e 426K (nessa ordem)? Calcule a quantidade de espaço desperdiçado em cada algoritmo.

R-Firts-fit: 212KB é alocado na partição de 500KB — 288
 417KB é alocado na partição de 600KB — 183
 112KB é alocado na partição de 288KB — 176
 426KB precisa esperar

Best-fit: 212KB é alocado na partição de 300KB — 88
 417KB é alocado na partição de 500KB — 83
 112KB é alocado na partição de 200KB — 88
 426KB é alocado na partição de 600KB — 174

Worst-fit: 212KB é alocado na partição de 600KB — 388
 417KB é alocado na partição de 500KB — 83
 112KB é alocado na partição de 388KB — 276
 426KB precisa esperar

10. Considere um sistema cuja gerência de memória é feita através de partições variáveis. Inicialmente, existem as seguintes páginas: 10K, 4K, 20K, 18K, 7K, 9K, 12K e 13K, nessa ordem. Desenhe a memória com suas páginas e mostre como as páginas serão ocupadas pelos processos de tamanho: 5K, 10K, 15K, 8K, 3K, 7K e 6K. Considere essa ordem de solicitação. Simule os seguintes algoritmos: a. First-fit b. Best-fit c. Worst-fit d. Next-fit

R- A)First-fit: 10k,4k, 5k, 18k, 7k, 9k, 12k e 13k
 6k, 4k, 5k, 18k, 7k, 9k, 12k e 13k
 6k, 4k, 5k, 10k, 7k, 9k, 12k e 13k

B)Best-fit: 10k, 4k, 20k, 3k, 7k, 9k, 12k e 13k
 10k, 0k, 20k, 3k, 7k, 9k, 12k e 13k
 10k, 0k, 20k, 3k, 7k, 1k, 12k e 13k

C)Worst-fit: 10k, 4k, 5k, 18k, 7k, 9k, 12k e 13k
 10k, 4k, 5k, 14k, 7k, 9k, 12k e 13k
 10k, 4k, 5k, 6k, 7k, 9k, 12k e 13k

D)Next-fit: 10k, 4k, 5k, 18k, 7k, 9k, 12k e 13k
 10k, 4k, 5k, 14k, 7k, 9k, 12k e 13k
 10k, 4k, 5k, 14k, 7k, 1k, 12k e 13k

11. Em sistemas hierárquicos de memória é envolvida uma certa quantidade de sobrecarga quando se movimentam programas entre os vários níveis da hierarquia. Discuta por que os benefícios derivados desses sistemas justificam a sobrecarga envolvida.

R- Essa movimentação pode consumir recursos de sistemas que, se não isso,poderiam
ser utilizados de maneira mais produtiva. Para aumentar a eficiência, sistemas concorrentes
contem unidades de hardware denominadas controladores de memoria que executam operações 
de transferência de memoria sem causar praticamente nenhuma sobrecarga computacional. 
Esse nível adicional, denominado cache, é muito mais rápido do que a memoria principal 
e, nos sistemas de hoje, está normalmente localizado em cada processador. Um processador 
pode referenciar programas e dados diretamente de seu cache. A memoria cache é extremamente 
cara em comparação com a memoria principal e, portanto, usam-se apenas caches relevantes pequenos.

12. Por que a busca sob demanda permaneceu como senso comum por tanto tempo? Por que as estratégias de busca antecipada estão recebendo mais atenção hoje do que recebiam há décadas

R- Na busca por demanda apenas as páginas que o processo acessa são carregadas para 
a memória física. O bit de válido/inválido indica se a página já está presente na 
memória ou se ainda está no disco. A busca antecipada de instruções é uma técnica utilizada 
nos processadores dos microcomputadores atuais, de forma a acelerar a execução de 
um programa. As instruções são pré-carregadas da memória principal para a memória cachê.
Não se dava tanta importancia nas decadas anteriores, simplesmente por não haver necessidade,
os computadores da epoca executavam muito menos processos.

13. Discuta como ocorre a fragmentação de memória em cada um dos esquemas de organização de memória apresentados.

R- Para que seja possível a multiprogramação, podemos dividir a memória em n partições 
(provavelmente de tamanhos diferentes). Os jobs serão colocados em filas de entrada 
associadas à menor partição capaz de armazená-lo. Pelo fato de usarmos partições de 
tamanho fixo, todo o restante de espaço de memória não utilizado pelo job será perdido. 
Este desperdício de memória é chamado de fragmentação interna (espaço de memória perdido 
dentro da área alocada ao processo). Por outro lado, imagine que exista duas partições livres, 
uma de 25 e outra de 100 Kbytes, não contíguas. Nesse instante é criado um processo de 110 Kbytes 
que não poderá ser carregado em memória pela forma como ela é gerenciada. Este problema 
ocasiona o que chamamos de fragmentação externa (memória perdida fora da área ocupada por um processo).

14. Em que circunstâncias as sobreposições são úteis? Quando uma seção da memória principal pode sofrer sobreposição? Como a sobreposição afeta o tempo de desenvolvimento do programa? Como a sobreposição afeta a capacidade de modificação de um programa?

R- Implementada nos primeiros Sistemas Operacionais e ainda existentes em alguns 
sistemas monoprogramáveis. Memória dividida em duas partes, Sistema Operacional e 
programa do usuário. O programador tem controle sobre toda a memória principal, podendo 
acessar qualquer posição da memória, inclusive onde está residente o Sistema Operacional.
Um mecanismo de proteção utilizado é delimitar a área do Sistema Operacional que 
delimita a área do mesmo. Fácil implementação e código reduzido, porém Ineficiência 
no uso do processador e da memória, pois apenas um usuário pode dispor desse recurso.
Programas limitados ao tamanho da memória disponível. Overlay (sobreposição) — 
Solução encontrada para dividir o programa em partes (módulos), de forma que 
pudessem executar independentemente uma da outra, utilizando uma mesma área de 
memória. As definições das áreas de Overlay são de responsabilidade do programador 
através de comandos específicos da linguagem utilizada.

15. Discuta as motivações da multiprogramação. Quais características de programas e máquinas tomam a multiprogramação desejável? Em quais circunstâncias a multiprogramação é indesejável?

R- A multiprogramação é desejavel quando de tem maquinas para uso geral, onde você usara diversos
processos quase que ao mesmo tempo. Ja quando se é para uso especifico a multiprogramação é desnecessaria
pois voce executara apenas um processo em especifico.

16. Estratégias de posicionamento determinam em que lugar da memória principal os programas e dados que chegam devem ser carregados. Suponha que um job que esteja esperando para começar a executar tenha requisitos de memória que possam ser atendidos imediatamente. O job deve ser carregado e iniciar a execução imediatamente?

R- Sim, pois possui seus requisitos atendidos, e esta pronto para a execução

17. Cobrar por recursos em sistemas de multiprogramação pode ser complexo. a) Em um sistema dedicado, o usuário normalmente é cobrado pelo sistema inteiro. Suponha que em um sistema de multiprogramação somente um usuário esteja correntemente no sistema. Ele deve ser cobrado por todo o sistema? b) Sistemas operacionais de multiprogramação geralmente consomem substanciais recursos de sistema, pois gerenciam ambientes multiusuário. Os usuários devem pagar por essa sobrecarga ou ela deve ser ‘absorvida’ pelo sistema operacional? c) A maioria das pessoas concorda que a cobrança pela utilização de sistemas de computador deve ser justa, mas poucas podem definir precisamente o que é ‘justiça’. Um outro atributo de esquemas de cobrança, mais fácil de definir, é a previsibilidade. Queremos saber se, quando um job custa certa quantia para ser executado uma vez, executá-lo novamente em circunstâncias similares custará aproximadamente a mesma quantia. Suponha que em um ambiente de multiprogramação cobremos pelo tempo de relógio normal, ou seja, o total real de tempo envolvido na execução do job desde o início até a conclusão. Esse esquema resultaria em encargos previsíveis? Por quê?

R- A) Não, provavelmente ele sera cobrado apenas pelos processos que esta a executar

B) O usuario busca ter o maior desempenho que o sistema possa oferecer, o que faz esta
 que esta sobrecarga seja absorvida mais pelo SO.

C) Se um job executado torna a ser executado em circunstancias similares, pode ser que
 desta segunda vez o tempo para iniciar a execução seja menor, tudo dependera se seu
 endereço de memoria ainda é “lembrado” pelo sistema, ou seja, ainda esta guardado
 no TBL, que agiliza na hora de iniciar a execução.

18. Discuta as vantagens e desvantagens de alocação não contígua de memória.

R- Alucação Contígua:
 Vantagens: 
 -Simplicidade de implementação;
 -Rapidez de acesso aos arquivos;
 -Facilidade de acesso sequencial e aleatório;
 
 Desvantagens:
 -Pouca flexibilidade no crescimento dos arquivos;
 -Tamanho máximo do arquivo deve ser conhecido no momento da alocação;
 -Ocorrencia de fragmentação externa;
 -Necessidade de desfragmentação periódica.

19. Muitos projetistas acreditam que sistemas operacionais devam sempre receber um status de ‘mais confiável’. Alguns projetistas acham que mesmo os sistemas operacionais devam sofrer restrições, particularmente na sua capacidade de referenciar certas áreas da memória. Discuta os prós e os contras de permitir que o sistema operacional acesse toda a faixa de endereços reais de um sistema de computador o tempo todo.

R- O SO tera um maior controle de toda a memoria, porem, por não se ter um total controle do SO
isso se torna prejudicial.

20. Desenvolvimentos em sistemas operacionais ocorreram geralmente de modo evolucionário, e não revolucionário. Descreva, para cada uma dessas transições, as motivações primárias que levaram projetistas de sistemas operacionais a produzir o novo tipo de sistema com base no antigo. a) Sistemas monousuário dedicados para multiprogramação. b) Sistemas de multiprogramação por partição fixa com tradução e carregamento absolutos para sistemas de multiprogramação por partição fixa com tradução e carregamento relocalizáveis. c) Multiprogramação por partição fixa para multiprogramação por partição variável. d) Sistemas de alocação de memória contígua para sistemas de alocação de memória não contígua. e) Sistemas monousuário dedicados com transição manual de job para job para sistemas monousuário dedicados com sistemas de processamento em lote de fluxo único.

R- A)Possibilidade de um unico usuario utilizar varios jobs ao mesmo tempo, tornando mais
 produtivo em suas atividades.

B)Ao chamar um job, seu endereço é salvo, pois ha possibilidade que torne a chama-lo novamente

C)Ao tornar as partições variaveis, se tem uma consideravel queda de fragmentação interna, e maior
 aproveitamento da memoria

E)Com o aumento da capacidade de processamento e o processador ficando menos ocupado, o processamento
 em lote, trouxe a possibilidade de se executar diversos jobs e com maior velocidade

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.