Baixe o app para aproveitar ainda mais
Prévia do material em texto
Lista de Exercícios Gerência do Processador e Memória INE5611 - Sistemas Operacionais Prof. Márcio Castro 2015/1 1 Gerência do processador: impasses 1. O que é um recurso? Explique a diferença entre um recurso preemptível e não preemptível. 2. Quais as formas de garantir que uma única thread/processo tenha acesso exclusivo a um recurso? Explique as diferenças entre elas. 3. Quais são as 4 condições para ocorrência de impasses? Explique cada uma delas. 4. Considere um cenário onde há 6 recursos e 5 processos. Modele uma situação possível de impasse envolvendo apenas 3 processos e 4 recursos. 5. Mostre uma solução para prevenir impasses. Explique como essa solução resolve o problema dos impasses. 2 Gerência do processador: escalonamento 1. Qual a função de um escalonador? 2. Em quais momentos do ciclo de vida de um processo um escalonador pode ser necessário? 3. Explique a diferença entre um algoritmo de escalonamento preemptivo e não preemptivo. 4. Explique, com auxílio de exemplos, as diferenças entre os algoritmos FCFS e SJF. 5. No algoritmo de escalonamento por alternância circular, quais são as van- tagens e desvantagens de se utlizar um quantum grande e pequeno? 1 6. Explique como evitar o problema da postergação indefinida no algoritmo de prioridade com auxílio de um exemplo. 7. Cinco jobs estão esperando para serem executados. Seus tempos de execu- ção previstos são 9, 6, 3, 5 e X. Em que ordem eles deveriam ser executados para minimizar o tempo médio de retorno? (sua resposta dependerá de X.) 3 Gerência de memória: memória virtual, pagi- nação e segmentação 1. Explique o conceito de memória virtual. Quais as vantagens de utilizá-la? 2. O que é a MMU? Para que serve? Mostre seu funcionamento com o auxílio de um exemplo. 3. Considere uma MMU que utiliza um esquema de paginação com páginas de tamanho 4 KB onde os endereços virtuais gerados pelo processador possuem 18 bits e uma memória física de 64 KB. Responda: (a) Quantos bits do endereço virtual serão utilizados como deslocamento dentro da página? (b) Quantos bits do endereço virtual serão utilizados para endereçar a tabela de páginas? (c) Quantas entradas terá a tabela de páginas? (d) Quantos bits serão utilizados para identificar as molduras de página? (e) Quantos bits terá o endereço físico? 4. Quando a tabela de páginas é armazenada em memória, quantos acessos à memória são necessários cada vez que um endereço virtual é apresentado à MMU? 5. Explique todas as etapas necessárias para a tradução de um endereço virtual para um endereço físico em um sistema que utiliza paginação com TLB. 6. Quais as diferenças entre paginação e segmentação? 4 Gerência de memória: algoritmos de substitui- ção de páginas 1. Explique o funcionamento do algoritmo de substituição Não Usada Re- centemente (NRU) com auxílio de exemplos. 2. Explique o funcionamento do algoritmo WSClock. 2 3. Um computador pequeno tem 4 molduras de página (0, 1, 2 e 3). No primeiro tique de relógio, os bits R são 0111 (página 0 é 0, as demais são 1). Nos tiques subsequentes os valores são 1011, 1010, 1101, 0010, 1010, 1100 e 0001. Se o algoritmo do envelhecimento (aging) é usado com um contador de 8 bits, quais os valores dos 4 contadores após o último tique? 4. Qual o principal problema do algoritmo FIFO e como esse problema pode ser solucionado? Descreva um algoritmo que aplique a solução descrita. 5. Se o algoritmo de substituição FIFO é usado com 4 molduras de página e 8 páginas virtuais, quantas faltas de página ocorrerão se as páginas virtuais fossem referenciadas nessa ordem 0, 1, 7, 2, 3, 2, 7, 6, 5, 7, 2 (considere que as quatro molduras de páginas estão inicialmente vazias). E se o algoritmo de substituição utilizado fosse o LRU, quantas faltas de página ocorreriam? 3
Compartilhar