Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Capítulo 5 Processo Cap. 5 – Processo 1 Sumário • • • • • • • • • • Introdução Estrutura do processo Estados do processo Mudanças de estado do processo Criação e eliminação de processos 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 Estrutura do Processo • Estrutura do processo Contexto de Software Contexto de Hardware Programa Espaço de Endereçamento Cap. 5 – Processo 3 Contexto de Hardware • Mudança de contexto Sistema Operacional Processo A Processo B executando Salva registradores do Processo A Carrega registradores do Processo B executando Salva registradores do Processo B Carrega registradores do Processo A executando Cap. 5 – Processo 4 Contexto de Software • Identificação • Quotas • Privilégios Cap. 5 – Processo 5 Espaço de Enderaçamento • Estrutura de um processo nome PID owner (UID) registradores gerais prioridade de execução data/ hora de criação registrador PC Contexto de Hardware Contexto de Software registrador SP tempo de processador quotas Programa privilégios registrador de status Espaço de Endereçamento endereços de memória principal alocados Cap. 5 – Processo 6 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 Estados do Processo • Lista de PCBs Lista de processos em estado de pronto .. . .. .. . .. . .. .. . PCB# 5 PCB# 1 .. .. .. .. .. .. .. .. .. .. .. .. PCB# 9 PCB# 2 PCB# 4 Lista de processos em estado de espera Cap. 5 – Processo 9 Mudanças de Estado • Mudanças de estado do processo Estado de Execução d b a c Estado de Espera Cap. 5 – Processo Estado de Pronto 10 Mudanças de Estado • Mudanças de estado do processo (2) Estado de Execução Estado de Espera Estado de Pronto Estado de Espera Estado de Pronto residente não residente Cap. 5 – Processo 11 Criação e Eliminação • Mudanças de estado do processo (3) Estado de Execução Estado de Espera Cap. 5 – Processo Estado de Término Estado de Pronto Estado de Criação 12 Processos Independentes, Subprocessos e Threads • Estrutura de processos e subprocessos Processo A Processo C Processo B Processo D Cap. 5 – Processo Processo E 13 Processos Independentes, Subprocessos e Threads • Processo multithread Contexto de hardware Contexto de hardware Thread 1 Thread 2 Thread 3 Contexto de software Contexto de hardware Espaço de endereçamento Cap. 5 – Processo 14 Processos Foreground e Background • Processos foreground e background (a) Processo Foreground entrada saída terminal terminal (b) Processo Background entrada arquivo de entrada Cap. 5 – Processo saída arquivo de saída 15 Processo Foreground e Background • Pipe saída do Processo A entrada do Processo A saída do Processo B entrada do Processo B Processo A Cap. 5 – Processo Processo B 16 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 e IO Bound • Processos CPU x IO Bound E/ S E/ S UCP UCP tempo (a) CPU-bound Cap. 5 – Processo tempo (b) I/ O-bound 18 Sinais • Uso de sinais interrupção sinal Sistema Operacional [ctrl-C] Processo Cap. 5 – Processo 19 Sinais • Sinais, interrupções e exceções Processo Processo Sinais Sistema Operacional Interrupções Exceções Hardware Cap. 5 – Processo 20