Processos e Threads Sistemas Operacionais (SOPBCC) De: Andrew S. Tanenbaum Tradução: Ronaldo A.L. Gonçalves Luís A. Consulado
Responsável pela disciplina: Prof. Dr. Maurício Aronne Pillon Curso de Ciência da Computação
1 Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Processos e Threads 2.1 Processos 2.2 Threads 2.3 Comunicação interprocesso 2.4 Problemas clássicos de IPC 2.5 Escalonamento
2 Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Processo (introdução) • Computadores (atuais) permitem a execução de várias tarefas simultâneas; • Pseudoparalelismo (monoprocessado) • Paralelismo (multiprocessado) 3 Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Processo (conceito) • Processo: • Um programa em execução acompanhado dos valores atuais do contador de programa, dos registradores e das variáveis.
• Cada processo tem (conceitualmente) uma CPU virtual própria. • Na realidade, existe uma permuta da CPU entre os processos em execução (mecanismo de multiprogramação). 4 Pearson Education Sistemas Operacionais Modernos – 2ª Edição
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 5 Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Criação de Processos Principais eventos que levam à criação de processos 1. Início do sistema 2. Execução de chamada ao sistema de criação de processos 3. Solicitação do usuário para criar um novo processo 4. Início de um job em lote 6 Pearson Education Sistemas Operacionais Modernos – 2ª Edição
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)
7 Pearson Education Sistemas Operacionais Modernos – 2ª Edição
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 8 Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Estados de Processos (1)
• Possíveis estados de processos – em execução – bloqueado – pronto
• Mostradas as transições entre os estados 9 Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Estados de Processos (2) • Em execução p/ bloqueado: •
O próprio processo faz uma chamada de block ou pause.
• O SO identifica um pipe ou arquivo especial e automaticamente coloca o processo solicitante no estado de bloqueado.
Em execução p/ pronto: • O SO (escalonador) quando ele “achar” que o processo já executou tempo suficiente na CPU. 10 Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Estados de Processos (3)
Pronto p/ em execução: – O SO (escalonador) se houver mais de um processo solicitando uma mesma CPU.
Bloqueado p/ Pronto: – Um evento externo ocorreu e a restrição de execução não existe mais. 11
Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Estados de Processos (4)
• Camada mais inferior de um SO estruturado por processos – trata interrupções, escalonamento, etc • Acima daquela camada estão os processos sequenciais
12 Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Implementação de Processos (1)
Campos da entrada de uma tabela de processos 13 Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Implementação de Processos (2)
Esqueleto do que o nível mais baixo do SO faz quando ocorre uma interrupção 14 Pearson Education Sistemas Operacionais Modernos – 2ª Edição