logging in or signing up SOPA - SOP Jubarius Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINT lite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 361 Category: Education License: All Rights Reserved Like it (1) Dislike it (0) Added: July 09, 2008 This Presentation is Public Favorites: 0 Presentation Description TRAMPO DE SISTEMAS OPERACIONAIS Comments Posting comment... Premium member Presentation Transcript Slide 1: Sistemas Operacionais Processos Gerência de Processos : Gerência de Processos Conceito de Processo Escalonamento de Processos Operações sobre Processos Processos Cooperantes Comunicação entre Processos Comunicação em Sistemas Cliente-Servidor Conceito de Processo : Conceito de Processo Um sistema operacional executa uma variedade de programas: Sistemas Batch– tarefas Sistemas de tempo compartilhado – programas de usuário ou tarefas Processo Um programa em execução Ambiente onde um programa é executado A execução do processo precisa ocorrer de maneira seqüencial Estrutura do Processo : Estrutura do Processo Estrutura do processo Espaço de Endereçamento : Espaço de Endereçamento Estrutura de um processo Bloco de Controle de Processo (PCB) (Process Control Block) : Bloco de Controle de Processo (PCB) (Process Control Block) Informações associadas a cada processo Estado do processo Contador de programa Registradores da CPU Informação de escalonamento de CPU Informação de gerenciamento de memória Informação contábil Informação de status de E/S Bloco de Controle de Processo (Process Control Block) : Bloco de Controle de Processo (Process Control Block) Estado do Processo : Estado do Processo Conforme um processo é executado, ele muda de estado novo: O processo está sendo criado executando: As instruções estão sendo executadas esperando: O processo está esperando que ocorra algum evento pronto: O processo está esperando para ser atribuído a um processador terminado: O processo terminou sua execução Diagrama de Estado do Processo : Diagrama de Estado do Processo Troca de Contexto : Troca de Contexto Quando a CPU passa para outro processo, o sistema precisa salvar o estado do processo antigo e carregar o estado salvo do novo processo O tempo da troca de contexto é custo adicional; o sistema não realiza qualquer trabalho útil durante a troca O tempo depende do suporte do hardware Troca da CPU de um Processo para Outro : Troca da CPU de um Processo para Outro Filas de Escalonamento de Processo : Filas de Escalonamento de Processo Fila de tarefas (Job Queue) – conjunto de todos os processos no sistema Fila de prontos (Ready Queue) – conjunto de todos os processos residindo na memória principal que estão prontos e esperando para serem executados Fila de dispositivo (Device Queue) – conjunto dos processos esperando um dispositivo de E/S Migração de processo entre as diversas filas Fila de Prontos e Várias Filas de Dispositivo de E/S : Fila de Prontos e Várias Filas de Dispositivo de E/S Representação do Escalonamento de Processos : Representação do Escalonamento de Processos Escalonadores : Escalonadores Escalonador de longo prazo (ou escalonador de tarefas) – seleciona os processos que devem ser trazidos para a fila de prontos Escalonador de curto prazo (ou escalonador de CPU) – seleciona os processos que devem ser executados em seguida e aloca a CPU Acréscimo do Escalonamento de Médio prazo : Acréscimo do Escalonamento de Médio prazo Escalonadores : Escalonadores O escalonador de curto prazo é chamado freqüentemente (milissegundos) precisa ser veloz O escalonador de médio prazo é chamado raramente (segundos ou minutos) pode ser lento O escalonador de longo prazo controla o grau de multiprogramação Os processos podem ser descritos como: Processos I/O-Bound – gasta mais tempo realizando E/S do que cálculos; muitos surtos de CPU curtos Processos CPU-Bound – gasta mais tempo realizando cálculos; poucos surtos de CPU muito longos Criação de Processo : Criação de Processo Os processos pai criam processos filhos, que, por sua vez, criam outros processos, formando uma árvore de processos Compartilhamento de recursos Pai e filhos compartilham todos os recursos Filhos compartilham um subconjunto dos recursos do pai Pai e filho não compartilham recurso algum Execução Pai e filhos são executados concorrentemente Pai espera até que os filhos terminem Criação de Processo : Criação de Processo Espaço de endereços Cópia filha do processo pai Filho contém um programa carregado Exemplos do UNIX Chamada de sistema fork cria novo processo Chamada de sistema exec usada após um fork para substituir o espaço de memória do processo por um novo programa Programa em C criando um processo separado : Programa em C criando um processo separado #include <stdio.h> #include <unistd.h> int main(int argc, char **argv) { int pid; /* cria outro processo */ pid = fork(); if (pid < 0) { /* ocorreu erro na execução do Fork */ fprintf(stderr, “Falha no Fork "); exit(-1); } else if (pid == 0) { /* processo filho */ execlp("/bin/ls","ls",NULL); exit(1); } else { /* processo pai */ wait(NULL); /* pai espera o término do filho */ printf(“Filho terminou "); exit(0); } } Árvore de Processos no UNIX : Árvore de Processos no UNIX Término de processo : Término de processo O processo executa sua instrução final e pede ao sistema operacional que o termine (exit()) Envia os dados de saída do filho para o pai (através do wait()) Os recursos do processo são desalocados pelo sistema operacional Término de processo : Término de processo O pai pode terminar a execução dos processos filhos (abort()) O filho excedeu os recursos alocados A tarefa atribuída ao filho não é mais necessária Se o pai está terminando Alguns sistemas operacionais não permitem que o filho continue se seu pai tiver terminado Todos os filhos terminaram – término em cascata Processos Cooperativos : Processos Cooperativos Um processo independente não pode afetar ou ser afetado pela execução de outro processo Um processo cooperante pode afetar ou ser afetado pela execução de outro processo Vantagens da cooperação de processos Compartilhamento de informações Agilidade na computação Modularidade Conveniência Problema Produtor-Consumidor : Problema Produtor-Consumidor Paradigma para os processos cooperativos, um processo produtor gera informações que são consumidas por um processo consumidor You do not have the permission to view this presentation. In order to view it, please contact the author of the presentation.
SOPA - SOP Jubarius Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINT lite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 361 Category: Education License: All Rights Reserved Like it (1) Dislike it (0) Added: July 09, 2008 This Presentation is Public Favorites: 0 Presentation Description TRAMPO DE SISTEMAS OPERACIONAIS Comments Posting comment... Premium member Presentation Transcript Slide 1: Sistemas Operacionais Processos Gerência de Processos : Gerência de Processos Conceito de Processo Escalonamento de Processos Operações sobre Processos Processos Cooperantes Comunicação entre Processos Comunicação em Sistemas Cliente-Servidor Conceito de Processo : Conceito de Processo Um sistema operacional executa uma variedade de programas: Sistemas Batch– tarefas Sistemas de tempo compartilhado – programas de usuário ou tarefas Processo Um programa em execução Ambiente onde um programa é executado A execução do processo precisa ocorrer de maneira seqüencial Estrutura do Processo : Estrutura do Processo Estrutura do processo Espaço de Endereçamento : Espaço de Endereçamento Estrutura de um processo Bloco de Controle de Processo (PCB) (Process Control Block) : Bloco de Controle de Processo (PCB) (Process Control Block) Informações associadas a cada processo Estado do processo Contador de programa Registradores da CPU Informação de escalonamento de CPU Informação de gerenciamento de memória Informação contábil Informação de status de E/S Bloco de Controle de Processo (Process Control Block) : Bloco de Controle de Processo (Process Control Block) Estado do Processo : Estado do Processo Conforme um processo é executado, ele muda de estado novo: O processo está sendo criado executando: As instruções estão sendo executadas esperando: O processo está esperando que ocorra algum evento pronto: O processo está esperando para ser atribuído a um processador terminado: O processo terminou sua execução Diagrama de Estado do Processo : Diagrama de Estado do Processo Troca de Contexto : Troca de Contexto Quando a CPU passa para outro processo, o sistema precisa salvar o estado do processo antigo e carregar o estado salvo do novo processo O tempo da troca de contexto é custo adicional; o sistema não realiza qualquer trabalho útil durante a troca O tempo depende do suporte do hardware Troca da CPU de um Processo para Outro : Troca da CPU de um Processo para Outro Filas de Escalonamento de Processo : Filas de Escalonamento de Processo Fila de tarefas (Job Queue) – conjunto de todos os processos no sistema Fila de prontos (Ready Queue) – conjunto de todos os processos residindo na memória principal que estão prontos e esperando para serem executados Fila de dispositivo (Device Queue) – conjunto dos processos esperando um dispositivo de E/S Migração de processo entre as diversas filas Fila de Prontos e Várias Filas de Dispositivo de E/S : Fila de Prontos e Várias Filas de Dispositivo de E/S Representação do Escalonamento de Processos : Representação do Escalonamento de Processos Escalonadores : Escalonadores Escalonador de longo prazo (ou escalonador de tarefas) – seleciona os processos que devem ser trazidos para a fila de prontos Escalonador de curto prazo (ou escalonador de CPU) – seleciona os processos que devem ser executados em seguida e aloca a CPU Acréscimo do Escalonamento de Médio prazo : Acréscimo do Escalonamento de Médio prazo Escalonadores : Escalonadores O escalonador de curto prazo é chamado freqüentemente (milissegundos) precisa ser veloz O escalonador de médio prazo é chamado raramente (segundos ou minutos) pode ser lento O escalonador de longo prazo controla o grau de multiprogramação Os processos podem ser descritos como: Processos I/O-Bound – gasta mais tempo realizando E/S do que cálculos; muitos surtos de CPU curtos Processos CPU-Bound – gasta mais tempo realizando cálculos; poucos surtos de CPU muito longos Criação de Processo : Criação de Processo Os processos pai criam processos filhos, que, por sua vez, criam outros processos, formando uma árvore de processos Compartilhamento de recursos Pai e filhos compartilham todos os recursos Filhos compartilham um subconjunto dos recursos do pai Pai e filho não compartilham recurso algum Execução Pai e filhos são executados concorrentemente Pai espera até que os filhos terminem Criação de Processo : Criação de Processo Espaço de endereços Cópia filha do processo pai Filho contém um programa carregado Exemplos do UNIX Chamada de sistema fork cria novo processo Chamada de sistema exec usada após um fork para substituir o espaço de memória do processo por um novo programa Programa em C criando um processo separado : Programa em C criando um processo separado #include <stdio.h> #include <unistd.h> int main(int argc, char **argv) { int pid; /* cria outro processo */ pid = fork(); if (pid < 0) { /* ocorreu erro na execução do Fork */ fprintf(stderr, “Falha no Fork "); exit(-1); } else if (pid == 0) { /* processo filho */ execlp("/bin/ls","ls",NULL); exit(1); } else { /* processo pai */ wait(NULL); /* pai espera o término do filho */ printf(“Filho terminou "); exit(0); } } Árvore de Processos no UNIX : Árvore de Processos no UNIX Término de processo : Término de processo O processo executa sua instrução final e pede ao sistema operacional que o termine (exit()) Envia os dados de saída do filho para o pai (através do wait()) Os recursos do processo são desalocados pelo sistema operacional Término de processo : Término de processo O pai pode terminar a execução dos processos filhos (abort()) O filho excedeu os recursos alocados A tarefa atribuída ao filho não é mais necessária Se o pai está terminando Alguns sistemas operacionais não permitem que o filho continue se seu pai tiver terminado Todos os filhos terminaram – término em cascata Processos Cooperativos : Processos Cooperativos Um processo independente não pode afetar ou ser afetado pela execução de outro processo Um processo cooperante pode afetar ou ser afetado pela execução de outro processo Vantagens da cooperação de processos Compartilhamento de informações Agilidade na computação Modularidade Conveniência Problema Produtor-Consumidor : Problema Produtor-Consumidor Paradigma para os processos cooperativos, um processo produtor gera informações que são consumidas por um processo consumidor