Você está na página 1de 23

Sistemas

Operacionais para
Redes
Professor: Me. Italo Gervásio
Cavalcante
Processos

Fonte: https://br.freepik.com/vetores-gratis
Qual a relação entre um programa e
um processo?
• Um processo é um programa em
execução.

• Um programa se torna um processo


quando um arquivo executável é
carregado na memória RAM.

SILBERSCHATZ, A.; GALVIN, P. B.; GAGNE, G.


Operating System Concepts, 9th Edition. Wiley, 2012.
Qual a relação entre um programa e
um processo?
• Na figura (a), temos a memória quando o
programa não está em execução.

• Na figura (b), temos a memória quando o


programa está em execução (processo).

SILBERSCHATZ, A.; GALVIN, P. B.; GAGNE, G.


Operating System Concepts, 9th Edition. Wiley, 2012.
Quais os estados um processo pode se
encontrar?
• Os processos podem estar nos estados:

• Pronto: aguarda a liberação do


processador em um fila;

• Execução: sendo executados no


processador.

SILBERSCHATZ, A.; GALVIN, P. B.; GAGNE, G.


Operating System Concepts, 9th Edition. Wiley, 2012.
Quais os estados um processo pode se
encontrar?
• Os processos podem estar nos estados:

• Espera: sofreram alguma interrupção e


aguardam que a interrupção seja
resolvida;

• Saída: foi executado até o fim.

SILBERSCHATZ, A.; GALVIN, P. B.; GAGNE, G.


Operating System Concepts, 9th Edition. Wiley, 2012.
O que é uma Thread?
• Uma thread é uma tarefa do processo;

• A thread compreende um ID, um contador de


programa, um conjunto de registradores e
uma pilha.

• Uma thread compartilha com outras threads


pertencentes ao mesmo processo sua seção
de código, seção de dados e outros recursos
do sistema operacional, como arquivos
abertos.

SILBERSCHATZ, A.; GALVIN, P. B.; GAGNE, G.


Operating System Concepts, 9th Edition. Wiley, 2012.
O que é uma Thread?
• Exemplos:

• Um navegador da Web pode fazer com que


um thread exiba imagens ou texto enquanto
outra thread recupera dados da rede, por
exemplo.

• Um editor de texto pode ter uma thread para


receber o que o usuário digita e outra para
verificação ortográfica automática.

SILBERSCHATZ, A.; GALVIN, P. B.; GAGNE, G.


Operating System Concepts, 9th Edition. Wiley, 2012.
Algoritmos de
escalonamento de
processos

Fonte: https://br.freepik.com/vetores-gratis
Qual processo deve utilizar a CPU?
• Sempre que a CPU fica ociosa, o sistema
operacional deve selecionar um dos
processos da fila de prontos para serem
executados.

• O escalonador seleciona um processo dentre


os processos na memória que estão prontos
para execução e aloca a CPU para esse
processo.

https://www.freepik.com/free-vector/queue-people-
characters_6438555.htm
Qual critério é importante em
algoritmo de escalonamento?
• Os algoritmos de escalonamento de CPU
podem buscar melhorar vários parâmetros:

• Ex: utilização de CPU (%), Throughput


(processos/s)

• O mais comum deles é tempo médio de


espera.

https://www.freepik.com/free-vector/queue-people-
characters_6438555.htm
Como funciona o algoritmo FIFO?
• Os algoritmos de escalonamento de CPU
podem buscar melhorar vários parâmetros:

• O processo que solicita primeiro a CPU é o


primeiro a ser atendido. Isso significa que os
processos são atendidos na ordem exata de
sua chegada.

• O algoritmo FIFO não é preemptivo.

https://www.freepik.com/free-vector/queue-people-
characters_6438555.htm
Como funciona o algoritmo FIFO?
• Escalonador só é chamado quando processo
é bloqueado (chamada de sistema, tipo E/S),
ou termina

• Vantagens: simples, fácil de entender e de


implementar.

• Desvantagem: Pode não conseguir minimizar


o tempo médio de resposta

https://www.freepik.com/free-vector/queue-people-
characters_6438555.htm
Como funciona o algoritmo Round
Robin ?
• O Round-robin (RR) é projetado
especialmente para sistemas de
compartilhamento de tempo.

• É semelhante ao agendamento FCFS, mas a


preempção é adicionada para permitir que o
sistema alterne entre os processos.

https://www.freepik.com/free-vector/queue-people-
characters_6438555.htm
Como funciona o algoritmo Round
Robin ?
• Uma pequena unidade de tempo, chamada
de quantum de tempo ou fatia de tempo, é
definida.

• A fila pronta é tratada como uma fila circular.

• O escalonador de CPU percorre a fila de


prontos, alocando a CPU para cada processo
por um intervalo de tempo de até 1 quantum
de tempo.

https://www.freepik.com/free-vector/queue-people-
characters_6438555.htm
Exemplo do algoritmo Round Robin:

Cenário:
P1 – tempo de CPU (24 ms)
P2 – tempo de CPU (3 ms)
P3 – tempo de CPU (3 ms)

Ordem de chegada dos processos:


P1, P2, P3
Quantum de 4 ms
Exemplo do algoritmo Round Robin:

• P1 recebe o primeiro quantum (4 ms) e é preemptado após os 4ms.

• A CPU é fornecida ao próximo processo na fila, o processo P2.

• P2 executa por 3ms e não precisa de todo o quantum (4 ms);

• A CPU é então entregue ao próximo processo: P3;

• Uma vez que cada processo tenha recebido 1 quantum de tempo, a CPU retorna a P1 para
um quantum de tempo adicional.
Exemplo do algoritmo Round Robin:

• O cronograma RR resultante é o seguinte:


• Rodada 1 – P1 (4ms), P2(3ms) e P2(3ms);
• Rodada 2 – P1 (4ms);
• Rodada 3 – P1 (4ms);
• Rodada 4 – P1 (4ms);
• Rodada 5 – P1 (4ms);
• Rodada 6 – P1 (4ms);
Deadlock

Italo Gervásio

Fonte: https://br.freepik.com/vetores-gratis
Qual o Conceito de Deadlock ou
Impasse?
• Vários processos podem competir por um
número finito de recursos (ex: memória,
DVD, arquivos, registro em um banco de
dados).

• Um processo solicita recursos; se os


recursos não estiverem disponíveis naquele
momento, o processo entrará em estado de
espera.

https://br.freepik.com/vetores-gratis/ilustracao-do-conceito-
de-sistema-operacional_9233847.htm
Qual o Conceito de Deadlock ou
Impasse?
• Às vezes, um processo em espera pode
nunca mais mudar de estado, porque os
recursos solicitados são mantidos por outros
processos em espera.

• Essa situação é chamada de deadlock.

https://br.freepik.com/vetores-gratis/ilustracao-do-conceito-
de-sistema-operacional_9233847.htm
Quais as condições para ocorrer o
Deadlock ou Impasse?
• Exclusão mútua - Pelo menos um recurso
deve ser mantido em modo não
compartilhável;

• Posse e espera - Um processo deve estar


mantendo pelo menos um recurso e
aguardando para adquirir recursos adicionais
que estão sendo mantidos por outros
processos.

https://br.freepik.com/vetores-gratis/ilustracao-do-conceito-
de-sistema-operacional_7967803.htm
Quais as condições para ocorrer o Deadlock
ou Impasse?
• Espera circular - Um conjunto de processos em
espera deve existir tal que P1 esteja esperando
por um recurso mantido por P3 e P3 esteja
esperando por um recurso mantido por P1.

• Ausência de preempção - Os recursos não


podem ser antecipados; ou seja, um recurso só
pode ser liberado apenas voluntariamente pelo
processo que o detém, após esse processo ter
concluído sua tarefa.

https://br.freepik.com/vetores-gratis/ilustracao-do-conceito-
de-sistema-operacional_7967803.htm

Você também pode gostar