TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Funções básicas de gerenciamento de memória

Ensaio: Funções básicas de gerenciamento de memória. Pesquise 862.000+ trabalhos acadêmicos

Por:   •  22/11/2014  •  Ensaio  •  1.454 Palavras (6 Páginas)  •  302 Visualizações

Página 1 de 6

1. Quais as funções básicas da gerência de memória?

* Reduzir o número de operações de E/S nesta transferência (pois a memória secundária é lenta);

* Manter na memória o maior número possível de processos residentes, maximizando a utilização de recursos;

* Permitir que novos programas sejam aceitos mesmo que não exista espaço livre de memória;

* Permitir a execução de programas maiores do que a memória física;

* Proteger as áreas de memória ocupadas por cada processo;

* Oferecer mecanismos de compartilhamento de dados e informações.

2. Considere um sistema computacional com 40 Kb de memória principal e que um utilize um sistema operacional de 10 Kb que implemente alocação contígua de memória. Qual a taxa de subutilização da memória principal para um programa que ocupe 20 Kb de memória?

Digamos que o programa e o sistema operacional juntos ocupem ¾ da memória principal, portanto temos 25% de subutilização da memória.

3. Suponha que um sistema computacional de 64 KB de memória principal e que utilize um Sistema Operacional de 14 KB que implemente alocação contígua de memória. Considere também um programa de 90 KB,

formado por um módulo principal de 20 KB e três módulos independentes, cada um com 10 KB, 20 KB e 30KB. Como o programa poderia ser executado utilizando-se apenas a técnica de overlay?

A memória deveria ser dividida em duas partes, uma para o módulo principal “20 Kb” e a outra de overlay para carga dos módulos, em função do tamanho do maior módulo “30 Kb”. Pois só há 50 Kb para a execução do programa.

4. Considerando o exercício anterior, se o módulo de 30 KB tivesse seu tamanho aumentado para 40 KB, seria possível executar o programa? Caso não possa, como o problema poderia ser contornado?

Não. Se não tiver como aumentar a memória real, a solução poderia ser tentar alterar o programa para o que o módulo fosse dividido em outros módulos menores e independentes.

5. Qual a diferença entre fragmentação interna e externa da memória principal?

A fragmentação interna trata-se de uma porção de memória de determinada partição que não é utilizada devido os requisitos reduzidos dos processos. Já a fragmentação externa ocorre quando existe um espaço suficiente de memória livre para satisfazer uma requisição, porém não é contínuo e portanto não pode ser utilizado.

6. Suponha um sistema computacional com 128 KB de memória principal e que utilize um Sistema Operacional de 64 KB que implemente alocação particionada estática relocável. Considere também que o sistema foi inicializado com três

partições: P1 (8 KB), P2 (24 KB) e P3 (32 KB). Calcule a fragmentação interna da memória principal após a carga de três programas: PA, PB e PC.

a) P1 <- PA (6 KB); P2 <- PB (20 KB); P3 <- PC (28 KB);

2 Kb, 4 Kb, 4 Kb

b) P1 <- PA (4 KB); P2 <- PB (16 KB); P3 <- PC (26 KB);

4 Kb, 8 Kb, 6 Kb

c) P1 <- PA (8 KB); P2 <- PB (24 KB); P3 <- PC (32 KB);

Não há fragmentação interna.

7. Considerando o exercício anterior, seria possível executar quatro programas concorrentemente utilizando apenas a técnica de alocação particionada estática relocável? Se for possível, como? Considerando ainda o mesmo exercício, seria possível executar um programa de 32 KB? Se for possível, como?

Só é possível executar quatro programas concorrentemente alterando a configuração das partições do sistema e criando uma quarta partição. Já no segundo caso, seria perfeitamente possível executar um programa de 36 Kb alterando a configuração do sistema, aumentando uma das partições e diminuindo as demais partições.

8. Qual a limitação da alocação particionada estática absoluta em relação à alocação estática relocável?

Na alocação particionada estática absoluta os compiladores geram códigos absolutos, ou seja, todas as referências a endereços são posições físicas na memória principal. Programas só podem ser executados em partição determinada. E na alocação estática relocável os compiladores

geram códigos relocáveis, ou seja, todas as referências a endereços são posições relativas ao início do código. Programas podem ser executados em qualquer partição.

9. Considere que os processos da tabela a seguir estão aguardando para serem executados e que cada um permanecerá na memória durante o tempo especificado. O Sistema Operacional ocupa uma área de 20 KB no início da memória e gerencia a memória utilizando um algoritmo de particionamento dinâmico modificado. A memória total disponível no sistema é de 64 KB e é alocada em blocos múltiplos de 4 KB. Os processos são alocados de acordo com sua identificação (em ordem crescente) e irão aguardar até obter a memória de que necessitam. Calcule a perda de memória por fragmentação interna e externa sempre que um processo é colocado ou retirado da memória. O Sistema Operacional compacta a memória apenas quando existem duas ou mais partições livres adjacentes.

Processos | Memória | Tempo |

1 | 30 Kb | 5 |

2 | 6 Kb | 10 |

3 | 36 Kb | 5 |

No instante de tempo inicial, com a alocação dos processos por ordem crescente e a locação em múltiplos de 4 Kb, a memória terá a posição seguinte:

Sistema Operacional | 20 Kb |

Partição do Processo 1 | 32 Kb(30 Kb úteis) |

Partição do Processo 2 | 8 Kb(6 Kb úteis) |

Área Livre | 4 Kb |

Fragmentação interna na Partição do Processo 1: 2 Kb

Fragmentação interna na Partição do Processo 2: 2 Kb

Fragmentação externa: não há

No instante de tempo 5: o Processo 1 termina sua execução.

Sistema Operacional | 20 Kb |

Área Livre | 32 Kb(30 Kb úteis) |

...

Baixar como (para membros premium)  txt (9.6 Kb)  
Continuar por mais 5 páginas »
Disponível apenas no TrabalhosGratuitos.com