Processos e threads
2.1 Processos 2.2 Threads 2.3 Comunicação interprocesso 2.4 Problemas clássicos de IPC 2.5 Escalonamento
1
Processos
O Modelo de Processo
• Multiprogramação de quatro programas • Modelo conceitual de 4 processos sequenciais, independentes • Somente um programa está ativo a cada momento
2
Criação de Processos
• Principais eventos que levam à criação de processos
- Início do sistema - Execução de chamada ao sistema de criação de processos - Solicitação do usuário para criar um novo processo - Início de um job em lote
3
Término de Processos
• Condições que levam ao término de processos
– – – – Saída normal (voluntária) Saída por erro (voluntária) Erro fatal (involuntário) Cancelamento por um outro processo (involuntário)
4
Hierarquias de Processos
• Pai cria um processo filho, processo filho pode criar seu próprio processo • Formam uma hierarquia
– UNIX chama isso de “grupo de processos”
• Windows não possui o conceito de hierarquia de processos
– Todos os processos são criados iguais
5
Estados de Processos (1)
Transições entre os estados de um processo
• Possíveis estados de processos
– em execução – bloqueado – pronto para executar
6
Fila dos Prontos
CPU
E/S
Fila de E/S
Solicitação de E/S
Quantum Expirado
Filho executa
Cria processo filho
Interrupção ocorre
Espera interrupção
Filas de Escalonamento de Processos
7
Estados de Processos (2)
• Camada mais inferior de um SO estruturado por processos
– trata interrupções, escalonamento
• Acima daquela camada estão os processos sequenciais
8
Implementação de Processos (1)
Campos da entrada de uma tabela de processos
9
Implementação de Processos (2)
O que faz o nível mais baixo do SO quando ocorre uma interrupção
10
Threads O Modelo de Thread (1)
• Processo ?um espaço de endereço e uma única linha de controle • Threads ? um espaço de endereço e múltiplas linhas de controle
• O