Arquitetura de Sistemas Operacionais – Fucapi/CEEF Arquitetura de Sistemas Operacionais Técnico em Informática Turmas: MBI1 Escalonamento de Tarefas Processo Cap. 5 – Processo 1 Arquitetura de Sistemas Operacionais – Fucapi/CEEF 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 Arquitetura de Sistemas Operacionais – Fucapi/CEEF Estrutura do Processo • Estrutura do processo Contexto de Software Contexto de Hardware Programa Espaço de Endereçamento Cap. 5 – Processo 3 Arquitetura de Sistemas Operacionais – Fucapi/CEEF 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 4 Arquitetura de Sistemas Operacionais – Fucapi/CEEF Contexto de Hardware • Mudança de contexto Sistem a O p er acion al Pr ocesso A Pr ocesso B execu tan do Salva r eg istrad or es d o Pr ocesso A Car rega reg istr ado res do Pr ocesso B execu tan do Salva r eg istrad or es d o Pr ocesso B Car rega reg istr ado res do Pr ocesso A execu tan do Cap. 5 – Processo 5 Arquitetura de Sistemas Operacionais – Fucapi/CEEF Contexto de Software • Identificação • Quotas • Privilégios Cap. 5 – Processo 6 Arquitetura de Sistemas Operacionais – Fucapi/CEEF Bloco de Controle do Processo • PCB Os PCBs de todos os processos residem na memória principal em uma área exclusiva do sistema operacional. O tamanho desta área geralmente é limitado por um parâmetro do sistema operacional que permite especificar o número máximo de processos que podem ser suportados simultaneamente pelo sistema. Toda a gerência dos processos é realizada através de system calls, que realizam operações como criação, alteração de características, visualização, eliminação, sincronização, suspensão de processos. Cap. 5 – Processo 7 Arquitetura de Sistemas Operacionais – Fucapi/CEEF 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 8 Arquitetura de Sistemas Operacionais – Fucapi/CEEF Estados do Processo • Execução (running) • Pronto (ready) • Espera (wait) Cap. 5 – Processo 9 Arquitetura de Sistemas Operacionais – Fucapi/CEEF Estados do Processo • Lista de PCBs Lista de processos em estado de pronto . .. .. .. . PCB# 5 . .. .. .. . PCB# 1 Lista de processos em estado de espera Cap. 5 – Processo . .. .. .. . . .. .. .. . . .. .. .. . PCB# 9 PCB# 2 PCB# 4 10 Arquitetura de Sistemas Operacionais – Fucapi/CEEF 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 11 Arquitetura de Sistemas Operacionais – Fucapi/CEEF 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 12 Arquitetura de Sistemas Operacionais – Fucapi/CEEF Criação e Eliminação • Mudanças de estado do processo (3) E stadodeE xecução E stadodeE spera Cap. 5 – Processo E stadodeT érm ino E stadodeP ronto E stadodeC riação 13 Arquitetura de Sistemas Operacionais – Fucapi/CEEF Processos Independentes, Subprocessos e Threads • Estrutura de processos e subprocessos Processo A Processo C Processo B Processo D Cap. 5 – Processo Processo E 14 • Processo multithread Contexto de hardware Contexto de hardware Contexto de hardware Thread 1 Thread 2 Thread 3 Contexto de software Arquitetura de Sistemas Operacionais – Fucapi/CEEF Processos Independentes, Subprocessos e Threads Espaço de endereçamento Cap. 5 – Processo 15 Arquitetura de Sistemas Operacionais – Fucapi/CEEF Processos Foreground e Background • Processos foreground e background rocessoForeground (a) P entrada saída terminal terminal ackground rocessoB (b) P entrada arquivo deentrada Cap. 5 – Processo saída arquivo desaída 16 Arquitetura de Sistemas Operacionais – Fucapi/CEEF Processo Foreground e Background • Pipe (canalização) saídado P rocessoA entradado P rocessoA saídado P rocessoB entradado P rocessoB P rocessoA Cap. 5 – Processo P rocessoB 17 Arquitetura de Sistemas Operacionais – Fucapi/CEEF 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 Arquitetura de Sistemas Operacionais – Fucapi/CEEF Sinais • Uso de sinais interrupção sinal Sistema Operacional [ctrl-C] Processo Cap. 5 – Processo 19 Arquitetura de Sistemas Operacionais – Fucapi/CEEF Sinais • Sinais, interrupções e exceções Processo Processo Sinais Sistema Operacional Interrupções Exceções Hardware Cap. 5 – Processo 20