processos e threads
Processos e Threads
Thiago Leite
Processos e Threads
• Processo
• Programa em execução
• Todo processo é um programa?
• Mais: o programa é apenas parte do estado. • Menos: programas podem gerar vários processos. Processos e Threads
• Abstração de processo
• permite execução de múltiplas tarefas
(multiprogramação)
• prevenir que um processo interfira em outro Processos e Threads
• Cada processo possui um espaço de endereçamento • recursos de auxílio ao processo
• O processo e seu respectivo espaço de
endereçamento chamam-se “imagem do núcleo” Processos e Threads
• Espaço de endereçamento
• Programa executável
• Dados do programa
• Registradores
• Arquivos abertos
• Alarmes pendentes
• Listas de processos relacionados
Processos e Threads
• Segmentos de um processo Unix
• Pilha
• conjunto de instruções de uma sub-rotina
• Heap
• extensão da memória
• BSS (Block Memory Starting with Symbol)
• variáveis não inicializadas
• Data
• variáveis inicializadas
• Texto
• instruções do programa
Processo Unix
Processos e Threads
• Multiprogramação
• vários processos em memória
• vários fluxos de execução
• processos desconhecem o momento que serão executados
• apenas um contador de programa real
Multiprogramação
Processos e Threads
• Sistema operacional lida com a Tabela de
Processos
• estruturas de cada processo em execução Processos e Threads
• Árvore de Processos
• Pode criar um ou mais processos filhos
• Processos filhos também podem criar processos filhos
Árvore de Processos
Processos e Threads
•
Hierarquias de processos •
Em Unix todos os processos compõe uma árvore com a raíz o INIT
•
Em Windows todos os processos são iguais Processos e Threads
• Chamadas de sistema de gestão de processos • criação e