Escolar Documentos
Profissional Documentos
Cultura Documentos
Gerência de Processador
Processos
Conceito fundamental para todos os sistemas operacionais
Esta d o d o p r o ce sso
O PCB de todos os processos
ativos residem na memória N o m e d o p r o ce sso
principal em uma área exclusiva Pr io r id a d e d o p ro ce sso
do SO
Re g istr a d o re s
Lim i te s d e m e m ó r ia
Lista d e a r q u ivo s a b e r to s
..
..
..
..
Estado dos Processos
Novo: processo está sendo criado
Execução: as instruções estão sendo executadas
Espera ou Bloqueado: o processo está esperando algum evento, por exemplo, E/S
Pronto: o processo está esperando para ser atribuído a algum processador
Terminado: O processo terminou a execução
Gerenciamento de Processos
Siste m a O p e r a ci o n a l
Quando um processo está em
execução seu contexto de hardware
é armazenado nos registradores Pr o ce sso A Pr o ce ss o B
e xe cu ta n d o
Quando o processo A perde a
utilização da CPU para um processo Sa l va r e g istra d o r e s d o
Pr o ce ss o A
B, o sistema deve salvar as
informações do processo A
C a r re g a re g istr a d o re s d o
Pr o ce sso B
As informações do processo B são
carregadas e xe cu ta n d o
e xe cu ta n d o
Gerenciamento de Processos
Sobrecarga associada à mudança de estado realizada pelo SO
execução
fluxo de execução (thread de execução)
Multithreaded
Thread Thread Thread
Thread
única TCB TCB TCB
Pilha
PCB do Pilha Pilha Pilha
usuário do do do
PCB usuário usuário usuário
Pilha
Espaço de
do Pilha Pilha Pilha
ender. do
núcleo Espaço de do do do
usuário
ender. do núcleo núcleo núcleo
usuário
Threads
Com múltiplos threads é possível projetar e implementar aplicações
concorrentes de forma eficiente.
Um mesmo processo pode ter partes diferentes do seu código sendo executadas
concorrentemente ou em paralelo.
Processador de textos
Um thread para exibir gráficos/reformatar um texto
Outro para ler sequência de teclas do usuário
Outro para verificação ortográfica e gramatical
Outro para salvamento automático
Threads
O espaço de endereçamento dos threads de um processo
é compartilhado
Um thread pode ler, escrever ou apagar a pilha de execução de outro
thread
envio de mensagens
escalonamento de threads
sem intervenção do SO
Threads de usuário
O kernel desconhece a existência de threads:
As atividades de criação e escalonamento são feitas no espaço do
usuário
Assim, os threads do usuário são mais rápidos de se gerenciar, pois não é
necessário mudar para o modo kernel
rafael.amaral@inf.ufpel.edu.br