Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Pontifícia Universidade Católica de Minas 
Disciplina: Sistemas Operacionais 
Professor: Mark Alan Junho Song 
 
 
Aluno: Ludmila Bruna Santos Nascimento 
Matrícula: 541564 
 
Questão 1. Explique o conceito de alocação contígua de memória. 
A alocação de memória contígua é um método no qual uma única seção / parte contígua da 
memória é alocada para um processo ou arquivo que precisa dela. Quando um processo vai 
ser executado, a memória é requerida por ele. O tamanho do processo é comparado com a 
quantidade de memória principal contígua disponível para executar o processo. Se memória 
contígua suficiente for encontrada, o processo receberá memória alocada para iniciar sua 
execução. Senão, ele será adicionado a uma fila de processos em espera até que a memória 
contígua livre suficiente esteja disponível. 
 
Questão 2. Qual a função da MMU na gerência de memória? 
MMU, Memory Management Unit (Unidade de Gerenciamento de Memória), é um 
dispositivo de hardware que traduz endereços virtuais (endereço da memória virtual) em 
endereços físicos da memória (RAM), é geralmente implementada como parte da CPU 
(Central Processing Unit), mas também pode estar como um circuito integrado separado. 
 
Questão 3. Qual a diferença entre endereço físico e virtual? 
Endereço virtual de um processo é diferente do endereço físico pois, o endereço virtual é 
gerado pela CPU e endereço físico são endereços enviados para a memória RAM. Endereços 
virtuais são transformados em endereços físicos no momento de execução dos processos. 
 
Questão 4. Se todos os processos que precisam executar não cabem na memória, o que 
pode ser feito? Explique a ideia de swapping. 
• Carregar todos os processos que couberem na memória 
• Se não couber, retirar um processo da memória principal (RAM) e copiar seu conteúdo na 
memória secundária (HD/SSD) 
• Quando o processo for executar trazer ele de volta da memória secundária (HD/SSD) para 
a primária (RAM) 
A ideia de swapping é exatamente esses passos descritos acima, trocar os processos usados 
no gerenciamento de memória conforme os recursos do hardware. O swapping pode 
prejudicar o desempenho do sistema, pois, sua velocidade de transferência em relação ao 
disco é lenta. 
 
Questão 5. Explique o problema da fragmentação externa. Como solucionar o 
problema? 
A fragmentação externa ocorre quando há uma quantidade de área suficiente na memória 
para satisfazer a solicitação de memória de um método. no entanto, a solicitação de memória 
do processo não pode ser atendida porque a memória oferecida é de forma não contígua. 
Para minimizar a ocorrência de fragmentação externa, cada pedido de alocação pode ser 
analisado para encontrar a área de memória livre que melhor o atenda. Essa análise pode ser 
feita usando um dos seguintes critérios: 
First-fit (primeiro encaixe) 
Best-fit (melhor encaixe) 
Worst-fit (pior encaixe) 
Next-fit (próximo encaixe) 
 
 
 
Pontifícia Universidade Católica de Minas 
Disciplina: Sistemas Operacionais 
Professor: Mark Alan Junho Song 
 
 
Questão 6. O que acontece quando um processo excede o tamanho alocado da sua área 
de crescimento? 
Ele precisará ser realocado em uma área de memória com espaço contínuo que caiba o seu 
novo tamanho. Isso pode levar muito tempo, pois pode ser necessário fazer swap-out de 
outros processos e ainda mover os dados do processo para uma nova área de memória 
 
Questão 7. O sistema operacional mantém uma lista de espaços livres na memória física. 
Sempre que um novo processo é criado esta lista é percorrida e usada. Quais as formas 
de percorrer a lista, ou seja, de alocar um bloco na memória para o processo? 
Gerenciamento de memória livre com mapas de bits 
Com mapas de bits, a memória é dividida em unidades de alocação. Cada bit do mapa 
representa uma unidade de alocação, sendo que se o bit for 0, a unidade está livre; caso 
contrário, a unidade está ocupada. Quanto menor for a unidade de alocação, maior será o 
mapa de bits e vice-versa. O maior problema com os mapas de bits é que procurar uma 
lacuna (seqüência de 0s) suficientemente grande para um determinado processo pode ser uma 
operação muito lenta. 
Gerenciamento de memória livre com listas encadeadas 
Neste caso, é mantida uma lista encadeada com os segmentos de memória livres e 
encadeados. Uma possível configuração seria manter, em cada entrada, o endereço em que 
inicia, o seu comprimento e, evidentemente, o ponteiro para a próxima entradaVários 
algoritmos podem ser utilizados para encontrar uma lacuna de memória para alocação de um 
processo: 
Primeiro ajuste: varre a lista desde o início e aloca no primeiro espaço (lacuna) 
suficientemente grande; 
Próximo ajuste: varre a lista da posição atual e aloca no primeiro espaço suficientemente 
grande; 
Melhor ajuste: varre a lista completamente e aloca no espaço que gerar a menor lacuna de 
memória; 
Pior ajuste: varre a lista completamente e aloca no espaço que gerar a maior lacuna de 
memória disponível, de modo que a lacuna resultante possa ser suficientemente grande para 
ser útil; 
Ajuste rápido: mantém diversas listas separadas para os tamanhos de processos mais comuns. 
 
Questão 8. Considere um sistema cuja gerência de memória é feita através de partições 
variáveis.Inicialmente, existem os seguintes blocos: 10K, 4K, 20K, 18K, 7K, 9K, 12K e 
13K, nessa ordem. Desenhe a memória e mostre como os blocos serão ocupados 
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 
Inicia a procura a partir da primeira página de memória (parte baixo) e 
ira varrendo a memória até encontrar a primeira lacuna suficientemente grande 
para se armazenar e não se encontrar exibe mensagem de erro do processo. 
5 KB – É alocado na partição de 10 KB – 5 
10 KB – É alocado na partição de 4 KB – 6 
15 KB – É Alocado na partição de 20 KB – 5 
8 KB – É alocado na partição de 18 KB – 10 
3 KB – É alocado na partição de 7 KB – 4 
7 KB – É alocado na partição de 9 KB- 2 
 
Pontifícia Universidade Católica de Minas 
Disciplina: Sistemas Operacionais 
Professor: Mark Alan Junho Song 
 
 
6 KB – É alocado na partição de 12 KB -6 
13 KB- Precisa aguardar 
b. Best-fit 
Tenta determinar o melhor lugar para alocar os dados. A definição de 
melhor varia nas implementações, mas por exemplo pode ser escolhido o espaço 
que deixaria menor resíduo no final do bloco. 
5 KB – É alocado na partição de 4 KB – 1 
10 KB – É alocado na partição de 4 KB - 6 
15 KB – É Alocado na partição de 13 KB -2 
8 KB – É alocado na partição de 4 KB – 4 
3 KB – Precisa aguardar 
7 KB – É alocado na partição de 4 KB - 3 
6 KB – É alocado na partição de 4 KB- 2 
13 KB- É alocado na partição de 12 KB -1 
c. Worst-fit 
O algoritmo seleciona o maior espaço possível que a informação pode 
ser armazenada (maior que a informação). É o completamente oposto do Best – Fit 
que procura o menor espaço possível. 
5 KB – É alocado na partição de 10 KB -5 
10 KB – É alocado na partição de 2O KB - 10 
15 KB – É alocado na partição de 13 KB- 2 
8 KB – É alocado na partição de 10 KB -2 
3 KB – É alocado na partição de 4 KB- 1 
7 KB – É alocado na partição de 10 KB- 3 
6 KB – É alocado na partição de 9K – 3 
13 KB- Precisa aguardar

Mais conteúdos dessa disciplina