funções
Sistemas Operacionais
Prof. Diego Mello da Silva
Instituto Federal de Minas Gerais - Campus Formiga
23 de janeiro de 2014
fig/logo-ifmg
diego.silva@ifmg.edu.br (IFMG)
Sistemas Operacionais
23 de janeiro de 2014
1 / 57
Sumário
1
Processos
2
Scheduling de processos
3
Criação e encerramento de processos
4
Comunicação Interprocessos
5
Threads
6
Referências Bibliográficas fig/logo-ifmg diego.silva@ifmg.edu.br (IFMG)
Sistemas Operacionais
23 de janeiro de 2014
2 / 57
Processos
fig/logo-ifmg
diego.silva@ifmg.edu.br (IFMG)
Sistemas Operacionais
23 de janeiro de 2014
3 / 57
Processos
Processo é um programa em execução
Sistema é composto por processos que executam concorrentemente processos do SO (código de sistema, fora do Kernel) processos de usuário (código de usuário)
Programa se torna processo quando seu código é carregado na memória
n processos iniciados do mesmo programa: código compartilhado (text), fig/logo-ifmg dados independentes (data, heap, stack)
Cada processo é uma unidade de execução independente diego.silva@ifmg.edu.br (IFMG)
Sistemas Operacionais
23 de janeiro de 2014
4 / 57
Estados de um Processo
Estado
Novo
Em Execução
Em Espera
Pronto
Encerrado
Processo está neste estado quando...
Processo está sendo criado
Instruções estão sendo executadas
Esperando que evento de I/O ocorra
Aguardando ser atribuído para uma CPU
Terminou sua execução fig/logo-ifmg diego.silva@ifmg.edu.br (IFMG)
Sistemas Operacionais
23 de janeiro de 2014
5 / 57
Bloco de Controle de Processos (PCB)
PCB contém informações associados com um processo específico
No Linux, é implementado pela estrutura task_struct, em linux/sched.h
O PCB contém informações sobre:
Estado: de acordo com a máquina de estados
Contador de Programa: endereço da próxima instrução a ser executada
Registradores: acumuladores, pilha,