Prévia do material em texto
UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL Fábio Goulart de Matos Sistemas de Informação - UEMS SI/UEMS Acadêmico: Fábio Goulart de Matos RGM: 017707 Sistemas Operacionais e Aplicações – Silberschatz Resumo: Capitulo 4 – Processos Um processo pode ser considerado um programa em execução. Ele precisa de recursos – tais como tempo de CPU, memória, arquivos e dispositivos de I/O – para realizar uma tarefa. Recursos alocados quando o processo é criado ou esta em execução. 4.1 Conceitos de processo – sistema batch executa Jobs, Sis. Tempo compartilhado executa programas de usuário ou tarefas. Processo inclui atividade corrente, contador do programa e conteúdo dos registradores do processador. Pilha de processo dados locais e temporários e seção de código variável global. Programa entidade passiva, Processo entidade ativa. Estados do processo: novo, em execução, em espera, pronto, encerrado. Bloco de controle do processo: Estado do processo, Contador do programa, Registradores de CPU, Informações de escalonamento de CPU, Informações de gerência de memória, Informações de contabilização, Informações de Status de I/O. Processos podem tem múltiplos fluxos de execução threads. 4.2 Escalonamentos de processos – alternar a CPU entre os processos. Filas de escalonamento – os processos ao iniciar no sistema, são colocados em uma fila de Jobs. Que estão na memória principal esperando ganhara a CPU. O processo pode emitir um pedido de I/O e ser colocado em uma fila de I/O. O processo pode criar um novo subprocesso e esperar seu término. O processo pode ser removido à força da CPU, como resultado de uma interrupção e ser colocado de volta na fila de processos prontos. Escalonadores – o processo de seleção é executado pelo escalonador (scheduler) adquado. Escalonador de logo prazo, ou o escalonador de Jobs, seleciona processos desse conjunto e os carrega na memória para execução posterior. Escalonador de curto prazo, escalonador de CPU, seleciona dentre os processos que estão prontos para a execução e aloca a CPU a um deles. A diferença entre eles é a frequência de execução. Troca de contexto – requer salvar o estado do processo antigo e carregar o estado salvo do novo processo. Troca de contexto é puro overhead. 4.3 Operações nos processos – criação de processo chamada ao sistema, durante sua execução. Processo criador pai, novos processos filhos. Formam uma árvore de processos. Cada processo tem um ID. Término do processo quando executa a instrução final e pede que UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL Fábio Goulart de Matos Sistemas de Informação - UEMS SI/UEMS o SO exclua usando a chamada ao sistema exit. Criando processo fork, resultado das operações(saida) wait. 4.4 Processos cooperativos – processo independente não é afetado e não afeta outros processos. Processos afetados por outros processos são compartilhados, logo cooperativos. Compart. De Informaçoes, velocidade de computação (CPU), Modularidade (funções), Conveniência. Produtor – consumidor – buffer não-limitado o consumidor talvez espere, já o produtor sempre produz. Buffer limitado consumidor espera se o buffer estiver vazio, e o produtos espera se o buffer estiver cheio. 4.5 Comunicações entre processos – IPC mecanismos de comunicação e sincronização de processos. Funciona através de troca de mensagens – permite que os processos se comuniquem sem dados compartilhados. Send e receive. Comunicação direta – o destino precisa ser explicitamente identificado. Possui a seguinte configuração, canal, canal associado aos dois processos. Comunicação indireta – mensagens enviadas a uma caixa de correio, cada processo tem essa caixa em comum, assim podem se comunicar. Sincronização – troca de mensagens podem ser bloqueantes (síncronos) e não bloqueantes (assíncronos). Síncronos – send bloqueado até receive. Receive bloqueado até send. E Assincronos send liberado, e receive, recebe mensagem valida ou nada. Buffering – Capacidade Zero – bloqueante, Capacidade Limitada - bloqueante, Capacidade ilimitada- não bloqueante.