Conceito de processo Os computadores executam várias operações ao mesmo tempo. - Compilar um programa; - Enviar um arquivo para a impressora; - Exibir uma página web; - Reproduzir músicas; - Receber mensagens de correio eletrônico. Os processos permitem que os sistemas executem e monitorem atividades simultâneas. Os processos transitam entre estados de processo. Os sistemas operacionais executam operações por meio de processos, como criar, destruir, suspender, retomar e acordar. Page 5 Conceitos de Processos Programa: seqüência de instruções com diferentes fluxos de execução comandos condicionais e interativos (entidade passiva) Processo: um programa em execução (entidade ativa) Vários processos podem existir ao mesmo tempo no sistema Processador se reveza entre os processos Page 6 Conceito de processo Quem gerencia a execução de processos? O sistema operacional com: alocação de recursos compartilhamento de dados troca de informações sincronizar execução Alerta: Programa = processo Processo = instruções do programa + informações necessárias para a sua execução Conceitos de Processos Quando o processador muda de um processo para outro, algumas informações devem ser salvas (identificação do processo, estado da máquina, ponteiro da área de dados, de código entre outras) Ao conceito de processo estão associadas algumas informações que caracterizam o seu contexto de execução Page 7 Page 8 1
Conceitos de Processos aula 3103 Termos: job = processo Um processo inclui contador de instruções pilha área de dados Conceitos de Processo AULA 03/04 Representação de um processo no SO bloco de controle de processo () contém informações necessárias ao controle do processo pelas áreas de código e dados na memória LEITURA PAG. 70 A 74 PARA AMANHA Page 9 Page 10 Conceitos de Processo Informações associadas à cada processo estado do processo apontador de instruções registradores da CPU informações relativas ao escalonamento da CPU informações relativas ao gerenciamento de memória dados para contabilidade (estatísticas) informações relativas ao status de I/O Page 11 BLOCO DE CONTROLE DE PROCESSOS Ler da pagina 65 a 72 ponteiro número do processo apontador de instruções registradores limites na memória lista de arquivos abertos.. estado do processo Page 12 2
Criação de Processo Sistemas antigos: só o sistema operacional podia criar novos processos Sistemas atuais, os usuários podem criar e destruir processos dinamicamente. SO deve fornecer chamadas para a manipulação e gerência de processos preparado com as informações básicas e colocado na fila de prontos. Criação de Processo Atribui um pid único (identificação do processo) Alocar as estruturas de dados associadas a um processo Alocar o espaço necessário em memória deve ser iniciado Consistência das listas do SO devem ser mantidas outras estruturas devem ser iniciadas. Page 13 * pid identificador de processo Free quando Powerpoint executado Templates e referência um processo para executar Page 14 Identificação do processo Informação do Estado Informação de Controle Criação de Processo Processo de usuário na memória Pilha do Usuário executando Espaço de Endereçamento privativo do usuário (programas, dados) Espaço de Endereçamento Compartilhado * bloco de controle de processos pronto bloqueado Estrutura com lista de processos Page 15 Page 16 3
Criação de Processo AULA 04/04 Processos pais criam processos filhos, que podem criar novos processos árvore de processos Compartilhamento de recursos Pais e filhos compartilham os mesmos recursos Filhos compartilham um subconjunto dos recursos do pai Pais e filhos não compartilham algum recurso Execução Pai e filhos executam concorrentemente Pai aguarda até que os filhos terminem Page 17 Page 18 Criação de Processo Espaço de endereçamento Filho é uma cópia do pai Filho tem um novo programa carregado Finalização de Processos Processos executam a última linha chamar o SO para controlar a terminação (exit) saída de dados do filho para o pai (wait) recursos do processo são desalocados pelo SO Page 19 Page 20 4
Finalização de Processos Pais podem terminar a execução de processos filhos (abort) filhos excederam os recursos alocados tarefa de encumbência do filho não é mais necessária Pai está terminando SO não permite que o filho continue se o seu pai terminou terminação em Free cascata Powerpoint Templates Page 21 EXERCICIO LIVRO PG. 84 EXERCÍCIO 01 PARA JÁ Page 22 Estados de um Processo Estados de um Processo A execução de um processo é composta por ciclos de execução na CPU (CPU-burst) na E/S (I/O-burst) Durante o seu tempo de vida, um processo pode encontrar-se em diferentes estados *burst cliclos de entrada e saida Page 23 novo: O processo está sendo criado executando: Suas instruções estão sendo executadas espera: O processo está esperando pela ocorrência de algum evento pronto: O processo está esperando para ser escalado para a execução terminado: O processo terminou sua execução Page 24 5
Estados de um Processo AULA 10/04 Transições possíveis entre os estados APRIMORANDO CONHECIMENTOS LER PAG. 72, 73 ESTADOS DO PROCESSO LER PAG. 73, 74 MUDANÇA DE ESTADO PROCESSO LER PAG. 75, 76 LER PAG. 76 PROCESSOS CPU-bound e I/O-bound NENHUM NOVO NOVO PRONTO PRONTO EXECUTANDO EXECUTANDO TERMINADO EXECUTANDO PRONTO EXECUTANDO BLOQUEADO BLOQUEADO PRONTO PRONTO TERMINADO BLOQUEADO Free Powerpoint TERMINADO Templates Page 25 Page 26 Estados de processo Gerenciamento de processo Um processo passa por uma série de estados de processos distintos: Os sistemas operacionais prestam certos serviços fundamentais aos processos. Por exemplo: Estado de execução O processo está sendo executado em um processador. Estado de pronto O processo poderia ser executado em um processador se houvesse algum disponível. Estado bloqueado O processo está aguardando a ocorrência de algum evento para prosseguir. O sistema operacional mantém uma lista de prontos e uma lista de bloqueados para armazenar referências a processos que não estão sendo executados. Criam processos. Destroem processos. Suspendem processos. Retomam processos. Mudam a prioridade de um processo. Bloqueiam processos. Acordam (ativam) processos. Despacham processos. Capacitam os processos à comunicação interprocessos (IPC). Page 27 Page 28 6
Estados de processo Novo (new): o processo está sendo criado (BCP criado, porém ainda não pode ser executado); Execução (runnig): as instruções estão sendo executadas; máximo de um processo em execução por processador em um dado instante; Pronto (ready): esperando para ser atribuído a um processador; Espera (wait): esperando a ocorrência de algum evento (conclusão de operação de I/O, por exemplo); Encerrado (exit): terminou a execução (recursos ainda não foram liberados e BCP ainda existe); Estados de um Processo MODELO DE DOIS ESTADOS Diagrama de transição entrada Parado Diagrama de fila entrada fila despachado pausa/bloqueio (time-out ou interrupção) Executando despachado Processador saída saída Page 29 Free pausa/bloqueio Powerpoint Templates Page 30 Estados de um Processo CRIAÇÃO DO PROCESSO Novo admitir MODELO DE CINCO ESTADOS Pronto desbloqueado quando o evento esperado ocorre Despachado (pelo escalonador) Time-out (preempção) ou interrupção liberar Executando Bloqueado bloqueado a espera de um evento FIM DO PROCESSO Saída Page 31 Estado de processo novo aceito pronto conclusão de I/O ou evento em interrupção execução processador liberado em espera encerrado término do processo * espera por I/O ou evento * O término do processo, na maioria das vezes, ocorre devido a: Término das instruções a serem executadas, eliminação por ausência de recursos. PG 73 e 74 livro Page 32 7
Estados de processo e transição Estados de processo O ato de designar um processador ao primeiro processo da lista de prontos é denominado despacho. O sistema operacional usam um temporizador de intervalo para permitir que um processo seja executado durante um intervalo de tempo específico. A multitarefa cooperativa permite que todo processo seja executado até o fim. Estados de transição Até agora, existem quatro estados de transição possíveis: Quando um processo é despachado, ele transita de pronto para em execução. Quando o tempo de um processo expira, ele transita de em execução para pronto. Quando um processo é bloqueado, ele transita de em execução para bloqueado. Quando um evento ocorre, ele transita de bloqueado para pronto. Estados de processo e transição Não é possível exibir esta imagem no momento. Transições de estado de processo. Page 33 Page 34 8