Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
* * Processos Prof. Leandro Marzulo Sistemas Operacionais I março de 2012 * * * Conceito * * É um programa em execução * * Conceito * * * * Espaço de endereçamento * * Código executável do processo (área de texto) Dados do processo (globais) Heap (alocação dinâmica) Pilha (parâmetros de função, endereços de retorno e variáveis locais). PILHA Livre HEAP DADOS TEXTO * * Process Control Block (PCB) * * Usado para armazenar informações do processo que precisam de um controle do SO. Estado do Processo Número do Processo (PID) Contador de Programa (PC) Registradores da CPU Informações de gerenciamento da memória (registradores base e limite, tabelas de páginas ou de segmentos, etc) Informações de status de I/O (lista de arquivos abertos, lista de dispositivos alocados a um processo, etc) Informações de Contabilização (tempo de execução real e de CPU, etc) Informações de escalonamento (prioridade, ponteiros para filas de escalonamento, parâmetros) ESTADO PID PC REGISTRADORES LIMITES DA MEMÓRIA LISTA DE ARQUIVOS ABERTOS ... * * Estados de um processo * * Novo – O processo está sendo criado Em execução – Instruções estão sendo executadas Em espera (ou bloqueado) – aguardando por algum evento ocorra (conclusão de I/O ou recebimento de um sinal) Pronto – esperando para ser atribuído a um processador Concluído – O processo terminou a sua execução EM EXECUÇÃO EM ESPERA PRONTO NOVO CONCLUÍDO * * Transições * * Processo P É admitido É escolhido para execução Solicita uma operação de I/O e é bloqueado O I/O é finalizado É escolhido para execução (novamente) É interrompido É escolhido para execução (pela terceira vez) É concluído EM EXECUÇÃO EM ESPERA PRONTO NOVO CONCLUÍDO admitido Interrupção escalonado saída conclusão de evento ou I/O espera por evento ou I/O P * * Diagrama Clássico (3 estados) * * * * Residente / Não Residente * * * * Alternância de processos * * Processo P0 Sistema Operacional Processo P1 Salva estado no PCB0 Recarrega estado a partir doPCB1 ocioso Interrupção ou chamada de sistema Salva estado no PCB1 Recarrega estado a partir doPCB0 Interrupção ou chamada de sistema ocioso em execução em execução em execução * * Filas * * início fim registradores ... cabeçalho Fila de prontos PCB7 registradores ... PCB2 início fim registradores ... cabeçalho Disco Unidade 0 PCB3 registradores ... PCB14 registradores ... PCB6 início fim registradores ... cabeçalho Terminal Unidade 0 PCB5 início fim cabeçalho CD-ROM Unidade 0 * * Escalonadores * * De longo prazo (de jobs) – spool de processos não a serem carregados em memória De curto prazo (de CPU) De médio prazo – Sistemas de tempo real – remover processos da memória – reduzir grau de multiprogramação * * Escalonador * * Fila de prontos CPU I/O Fila de I/O Solicitação de I/O Período de tempo expirou Gera um filho Espera uma interrupção O filho é executado Ocorre uma interrupção Processos extraídos parcialmente executados fim Extração Reintrodução Escalonador de médio prazo * * Processos CPU Bound e I/O Bound * * CPU Bound – “Rajadas” de CPU mais longas que de I/O – Ocupa bastante a CPU I/O Bound – O oposto – Processos interativos * * Processos Foreground e Background * * & e nohup Daemons * * Árvore de processos * *
Compartilhar