Você está na página 1de 4

Sistemas Operacionais

1. (1.0) A política de escalonamento utilizada pelo sistema operacional para fazer a gerência
do processador, que é caracterizada pela possibilidade de o sistema operacional
interromper um processo em execução e passá-lo para o estado de pronto, com o objetivo
de alocar outro processo no processador, é chamada de escalonamento:
a. Atemporal
b. Temporal
c. Seletivo
d. Preemptivo
e. Não preemptivo
2. (1.0) Sobre gerência de processamento, assinale a alternativa incorreta:
a. Uma política de escalonamento é composta por critérios estabelecidos para
determinar qual processo em estado de pronto será escolhido para fazer uso do
processador;
b. O escalonador é uma rotina do sistema operacional que tem como principal
funcão implementar os critérios da política de escalonamento;
c. Tempo de processador ou tempo de UCP é o tempo que um processo leva no
estado de execução durante seu processamento;
d. No escalonamento preemptivo, o sistema operacional pode interromper um
processo em execução e passá-lo para o estado de pronto, com o objetivo de
alocar outro processo na UCP;
e. Preempção por prioridade, ocorre quando o sistema operacional interrompe o
processo em execução em função da expiração da sua fatia de tempo,
substituindo- o por outro processo.
3. (2.5) Com relação a Threads, responda:

a. (0.6) Cite três benefícios da utilização de threads?

Aumento de desempenho - devido a exploração do paralelismo real, têm-se uma melhor


capacidade de resposta.
Compartilhamento de recursos - As threads compartilham a memória e os recursos do
processo ao qual pertencem.
Economia - A alocação de memória e recursos para a criação de processos é dispendiosa.
Os threads compartilham os recursos do processo ao qual pertencem, é mais econômico
criar threads e alternar seus contextos

b. (0.7) O que é o cancelamento de thread? Explique quais são as abordagens do


cancelamento.

O cancelamento de threads é a tarefa de terminar um thread antes que se complete. Sobre


a abordagens existe duas, que são:
Cancelamento assíncrono: termina o thread de destino imediatamente.
Cancelamento adiado: permite que o thread de destino verifique periodicamente se ele
deve ser cancelado.

c. (1.2) Existem três modelos de relacionamento entre threads de nível de usuário e


kernel.
i. (0.4) Explique o modelo muitos-para-um

O modelo muitos-para-um mapeia muitos threads de nível de usuário para threads


do kernel. O gerenciamento dos threads é realizado no espaço do usuário e assim é
eficiente, mas o processo inteiro ficará bloqueado.

ii. (0.2) Qual a principal desvantagem do modelo muitos-para-muitos

iii. (0.4) Explique o modelo um-para-um

O modelo um-para-um mapeia cada thread de usuário para um thread de


kernel, gera mais concorrência do que o modelo muitos-para-um. Permite a
um outro thread ser executado, enquanto um thread realiza uma chamada de
sistema de bloqueio, ele também permite que múltiplos threads executem
em paralelo em multiprocessadores.

d. (0.2) Qual a principal desvantagem do modelo um-para-um

A única desvantagem deste modelo é que a criação de um thread de usuário requer a


criação do correspondente thread de kernel.
4. (3.5) Considere o conjunto de processos a seguir, com a duração do pico de CPU
dada em milissegundos:

Processo Tempo de chegada Duração do pico Prioridade

P1 3 2 5

P2 2 6 3

P3 1 4 2

P4 0 4 4

P5 7 2 1

Os algoritmos de escalonamento utilizados são: FCFS, SJF sem preempção, RR (quantum=2) e


Por prioridade (a mais alta prioridade possui o menor valor).

a. (1.6) Qual o tempo médio de turnaround dos processos para cada um dos algoritmos de
escalonamento?
FCFS –
Ordem: P4 – P3 – P2 – P1 – P5
4 + 4 + 6 + 2 + 2 = 18/5 = 3,6

SJF(sem preempção) –
Ordem: P4 – P1 – P3 – P5 – P2
4 + 2 + 4 + 2 + 6 = 18/5 = 3,6

b. (1.6) Qual o tempo médio de espera dos processos para cada um dos algoritmos de
escalonamento?

FCFS –
Ordem: P4 – P3 – P2 – P1 – P5
0 + 4 + 8 + 14 + 16 = 42/5 = 8,4

SJF(sem preempção) –
Ordem: P4 – P1 – P3 – P5 – P2
0 + 4 + 6 + 10 + 12 = 32/5 = 6,4

RR(quantum = 2) –
Ordem: P4 – P3 – P2 – P1 – P5 – P4 – P3 – P2
8 + 10 + 6 + 8 + 12 = 44/5 = 8,8

Por prioridade -
Ordem: P3 – P2 – P5 – P4 – P1
0 + 4 + 14 + 26 + 42 = 86/5 = 17,2
c. (0.3) Qual dos algoritmos resulta no menor tempo médio de espera?

O algoritmo SJF(sem preempção).

5. (2.0) Com relação a Sincronização de processos, responda:

a. (0.5) Qual o significado do termo espera ocupada ou busy wait? Qual a


consequência de ter a espera ocupada?

Significa que enquanto um processo estiver em sua seção crítica, qualquer outro processo
que tentar entrar em sua seção crítica deve percorrer um loop de entrada.
A consequência de ter essa espera é que ciclus de CPU serão desperdiçados.

b. (0.5) No que consiste o problema do leitor/escritor?

O problema consiste em dar permissão para que múltiplos leitores possam acessar os dados
ao mesmo tempo e permitir que apenas um escritor tenha acesso aos dados compartilhados
em um determinado momento

c. (1.0) Explique e escreva uma solução com semáforos para a sincronização


entre os processos leitores e escritores

Você também pode gostar