Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
4. Cite uma situação que proporcione um problema de starvation, dando uma possível
solução (0,5).
Sistema de gerenciamento da CPU dê sempre prioridade para os processos de menor
duração. Você tem um processo que dura 10 segundos, mas a cada meio segundo chega
um processo com tempo entre 1 e 9 segundos. Desta forma há um problema crítico, pois,
os processos de menor tempo receberão prioridade e o de 10 segundos pode nunca ser
colocado em execução. Uma forma de resolver isto é mudar o tipo de regra do
escalonador. Uma das opções é usar o método de Loteria, que sorteia fichas pros processos
e os sorteia ou mesmo um sistema mais simples como o FIFO. Desta forma tem-se
garantia de que o processo de 10 segundos, que antes não era executado, fará uso da CPU.
5. Quais as condições para se obter um deadlock? Quais as suas possíveis soluções (0,5)?
Deadlock é a situação em que um processo aguarda por um recurso que nunca estará
disponível ou um evento que não ocorrerá. Para que ocorra a situação de deadlock, quatro
condições são necessárias simultaneamente: exclusão mútua: cada recurso só pode estar
alocado a um único processo em um determinado instante; espera por recurso: um
processo, além dos recursos já alocados, pode estar esperando por outros recursos;
não preempção: um recurso não pode ser liberado de um processo só porque outros
processos desejam o mesmo recurso; espera circular: um processo pode ter de esperar por
um recurso alocado a outro processo e vice-versa. Para prevenir a ocorrência de deadlock,
é preciso garantir que uma das quatro condições apresentadas, necessárias para sua
existência, nunca se satisfaça. A prevenção de deadlock evitando-se a ocorrência de
qualquer uma das quatro condições é bastante limitada e, por isso, na prática não é
utilizada. Uma solução conhecida como Algoritmo do Banqueiro (implementada com a
presença das quatro condições) também possui várias limitações. A maior delas é a
necessidade de um número fixo de processos ativos e de recursos disponíveis no sistema.
Essa limitação impede que a solução seja implementada na prática, pois é muito difícil
prever o número de usuários no sistema e o número de recursos disponíveis.
Processos Tempo de
CPU
P1 12
P2 4
P3 5
P4 8
P1 P2 P3 P4
0 12 16 21
29
(0 + 12 + 16 + 21) / 4 = 12,25
P2 P3 P1 P4
0 4 9 21
29
(21 + 0 + 4 + 9) / 4 = 8,5
9. Um computador que utiliza memória virtual possui um espaço de endereçamento de
32 bits. Os endereços virtuais são divididos em um campo de 20 bits e o resto de
deslocamento. Qual é o tamanho das páginas e quantas páginas existem no espaço de
endereçamento virtual (1,0).
O tamanho do endereço virtual é 220 = 1048576. O restante corresponde ao numero de
páginas que é de 1212 = 4096 isso totaliza então o espaço de endereçamento de 32bits
(232).
10. Explique como um endereço virtual é traduzido para um endereço real na memória
principal (0,5).
No momento da execução de uma instrução, o endereço virtual referenciado é traduzido
para o endereço físico, pois o processo manipula apenas posições da memória principal. O
mecanismo de tradução de um endereço virtual para um endereço físico é denominado
mapeamento.
11. Um determinado sistema de memória virtual implementa a paginação, sendo que o
limite da sua moldura é igual a três. Descreva o número de page fauts para as
estratégias de realocação FIFO e LRU no referido sistema, seguindo as sequências de
página nos itens a seguir (1,0).
a) 1, 2, 3, 1, 4, 2, 5, 3, 4, 3 - FIFO
b) 1, 2, 3, 1, 4, 1, 3, 2, 3, 3 - LRU
12. Um sistema possui quatro molduras, sendo que a tabela a seguir representa para
cada página o momento da carga, o momento do último acesso, o bit de referência e o bit
de modificação.
A partir dos dados apresentados, determine qual será a moldura de página a ser
substituída utilizando os algoritmos (1,0):
a) FIFO - 2
b) LRU - 1
c) NRU - 0
13. Descreva os principais métodos de implementar arquivos, além das suas vantagens e
desvantagens (0,5).
•Alocação contígua - O método de alocação contígua exige que cada arquivo ocupe um
conjunto de setores contíguos no disco. Para localizar um arquivo basta saber o número do
setor inicial e o tamanho do arquivo, em blocos.
Vantagens: Simplicidade de implementação. Rapidez de acesso aos arquivos: todos os blocos
do arquivo estão próximos. Facilidade de acesso sequencial e aleatório: sequencial: basta ler
os blocos consecutivos aleatórios: posições internas podem ser facilmente calculadas a partir
da posição do bloco inicial. Alocação contígua
Desvantagens: Pouca flexibilidade no crescimento dos arquivos. Tamanho máximo do
arquivo deve ser conhecido no momento da alocação. Ocorrência de fragmentação externa.
Necessidade de desfragmentação periódica.
• Alocação por Lista Encadeada – Neste método será utilizada uma lista simples, onde cada
nó conterá o endereço do bloco e um ponteiro para o bloco seguinte.
Vantagens: Evita desperdício em disco e só é preciso armazenar o endereço de disco do
primeiro bloco;
Desvantagens: É extremamente lendo, além de necessitar de um gasto adicional de memória.
•Alocação por Lista Encadeada usando Índice - Tentativa de contornar as desvantagens de
alocação por lista encadeada, utilizando a palavra “ponteiro” de cada bloco de disco de um
arquivo e colocar em uma tabela ou em um índice em uma memória.
Vantagens: Dessa forma, o bloco inteiro no disco estaria disponível para armazenamento de
dados (Não é necessário armazenar mais o ponteiro para o próximo bloco).
Desvantagens: Além disso, o acesso aleatório é muito mais fácil, pois a cadeia de blocos estar
toda em memória, não sendo necessária qualquer referencia ao disco.