Sistemas Operacionais Capítulo 5 Processos Baseado no Livro e Material de Apoio de Arquitetura de Sistemas Operacionais 3ª edição - LTC - 2004 Francis Berenger Machado Luiz Paulo Maia Cap. 5 Processo 1 Introdução Estrutura do processo Estados do processo Mudanças de estado do processo Criação e eliminação de processos Sumário Processos independentes, subprocessos e threads Processos foreground e background Processos do sistema operacional Processos CPU-bound e I/O-bound Sinais Cap. 5 Processo 2 1
Estrutura do Processo Estrutura do processo Software Hardware Programa Espaço de Endereçamento Cap. 5 Processo 3 Hardware Mudança de contexto Sistema Operacional Hardware = necessidades de HW para execução na UCP. Carrega conteúdo dos registradores gerais Registrador - Program Counter Stack Pointer Status Register Memória utilizada Quando em execução, carrega o Hardware Quando perde o controle de uso, salva o Hardware executando executando Salva registradores do Carrega registradores do Salva registradores do Carrega registradores do executando Cap. 5 Processo 4 2
Software Software: - características - limites de recursos que podem ser alocados ao processo Ex. qtde. arquivos abertos simultaneamente - prioridade de execução - tamanho de buffer p/ operações E/S Grupos de informações de processo Identificação: PID Quotas: limites de recursos Privilégios: prioridade de execução, limite de alocação na Memória Principal e Secundária, gerência de ambiente, regras de segurança, modificação da configuração Software Programa Espaço de Endereçamento Hardware Cap. 5 Processo 5 Espaço de Enderaçamento Estrutura de um processo nome PID owner (UID) registradores gerais prioridade de execução registrador PC data/ hora de criação Software Hardware tempo de processador registrador SP quotas privilégios Programa Espaço de Endereçamento registrador de status endereços de memória principal alocados O Espaço de endereçcamento é a área de memória alocada ao processo onde as instruções e dados são armazenados para sua execução Cap. 5 Processo 6 3
Bloco de Controle do Processo PCB ponteiros Estado do processo Nome do processo Prioridade do processo Registradores Limites de memória Lista de arquivos abertos. Cap. 5 Processo 7 Estados do Processo Execução (running) Pronto (ready) Espera (wait) Cap. 5 Processo 8 4
Estados do Processo Lista de PCBs Lista de processos em estado de pronto PCB#5 PCB#1 Lista de processos em estado de espera PCB#9 PCB#2 PCB#4 Cap. 5 Processo 9 Mudanças de Estado Mudanças de estado do processo Estado de Execução a política de escalonamento b a d b - evento externo ou Operação de E/S c Interrupção - Fim de E/S c d time-silicing Estado de Espera Estado de Pronto Cap. 5 Processo 10 5
Mudanças de Estado Mudanças de estado do processo (2) Estado de Execução Residente em Memória residente não residente Estado de Espera Estado de Pronto Não residente em Memória (Swapping) Estado de Espera Estado de Pronto Cap. 5 Processo 11 Criação e Término Mudanças de estado do processo (3) Estado de Execução Estado de Término Estado de Espera Estado de Pronto Estado de Criação Cap. 5 Processo 12 6
software 11/03/2012 Processos Independentes, Subprocessos Estrutura de processos e subprocessos Processo D Processo E Processo C - Processo independente possui PCB - Subprocessos estrutura hierárquica de processos - Concorrência múltiplos processos consomem CPU para a troca de contexto Cap. 5 Processo 13 Processo multithread Threads Contexto de hardware Thread 1 Contexto de hardware Thread 2 Espaço de endereçamento Contexto de hardware Thread 3 THREAD = mesmos conceitos de Processo um Processo pode suportar múltiplos Threads. Cada Thread compartilha o mesmo PCB - HW e SW Economia de recursos de troca de contexto das threads. Concorrência de Threads como processos nas operações de E/S Aumenta o desempenho em comparação com os Processos Cap. 5 Processo 14 7
(a) Processo Foreground Processos Foreground e Background entrada saída terminal terminal Processo Foregroung interação direta do usuário com o processo. (b) ackground entrada saída arquivo de entrada arquivo de saída ackground não existe interação, processamento Batch. Cap. 5 Processo 15 Pipe Processo Foreground e Background entrada do saída do entrada do PIPE saída do Pipe canal de ligação entre dois processos. (saída do processo A = entrada do processo B) Cap. 5 Processo 16 8
Processos do Sistema Auditoria e segurança Serviços de rede Contabilização do uso de recursos Contabilização de erros Gerência de impressão Gerência de jobs batch Temporização Comunicação de eventos Interface de comandos (shell) Cap. 5 Processo 17 Processos CPU Bound e IO Bound CPU Bound x IO Bound E/ S E/ S UCP UCP (a) CPU-bound tempo (b) I/ O-bound tempo Passa maior parte do tempo no estado de execução, utilizando processador Passa maior parte do tempo no estado de espera, realizando elevado número de operações E/S. Cap. 5 Processo 18 9