• Nenhum resultado encontrado

Agenda - USP

N/A
N/A
Protected

Academic year: 2023

Share "Agenda - USP"

Copied!
4
0
0

Texto

(1)

© 1997-2009 Volnys B. Bernal Versão de 26/9/2011 Processos 1

© 1997-2009 - Volnys Bernal 1

Processos

Volnys Borges Bernal

volnys@lsi.usp.br http://www.lsi.usp.br/~volnys

Laboratório de Sistemas Integráveis

http://www.lsi.usp.br/

© 1997-2009 - Volnys Bernal 2

Agenda

Programa x Processo

Programa

Processo

Concorrência x Paralelismo

Áreas de memória de um processo

Troca de contexto

Ciclo de vida dos processos

Hierarquia de ativação de processos

© 1997-2009 - Volnys Bernal 3

Programa x Processo

© 1997-2009 - Volnys Bernal 4

Programa x Processo

Programa

Seqüência de comandos e dados definidos para realizar uma tarefa

Processo

Execução do programa

© 1997-2009 - Volnys Bernal 5

Programa

© 1997-2009 - Volnys Bernal 6

Programa

Programa Fonte

Programa executável Compilador

Armazenado em arquivo Contém uma de dados e comandos em linguagem de alto nível representados como uma seqüência de caracteres ASCII.

Armazenado em arquivo Contém uma seqüência de instruções e dados codificados em linguagem de máquina

(2)

© 1997-2009 Volnys B. Bernal Versão de 26/9/2011 Processos 2

© 1997-2009 - Volnys Bernal 7

Processo

© 1997-2009 - Volnys Bernal 8

Processo

Processo

Um programa sendo executado

Possui um contexto (informações) como:

Informações de controle

Geralmente armazenadas na tabela de processos Informações:

oidentificação única (pid - process identification)

oRegistradores

oEstado do processo

oIdentificação do usuário

oTerminal do qual foi disparado Áreas de memória

Área de código Área de dados Área da pilha de execução Outras áreas de memória

© 1997-2009 - Volnys Bernal 9

Processos

Visão geral dos processos

Processo é uma abstração criada pelo Sistema Operacional

Sistemas de computação modernos criam a ilusão de que vários processos (aplicações) executam ao mesmo tempo no sistema. Em sistemas monoprocessadores, em um determinado instante existe somente um programa sendo executado pela CPU.

O sistema operacional gerencia o uso da CPU de forma que seja executado “um pouco” de cada processo por vez. Este chaveamento entre os processos é tão rápido que cria a ilusão de que os processos executam simultaneamente.

© 1997-2009 - Volnys Bernal 10

Concorrência x Paralelismo

© 1997-2009 - Volnys Bernal 11

Concorrência x Paralelismo

Concorrência Pseudo paralelismo

Ilusão de execução simultânea de processos devido ao rápido chaveamento entre suas execuções em uma única CPU

Paralelismo Paralelismo real

Em sistemas com mais que uma CPU cada uma pode estar executando um processo efetivamente em paralelo.

Sistema Multiprogramado

Concorrência

(1 CPU) Paralelismo

(várias CPUs)

© 1997-2009 - Volnys Bernal 12

Áreas de memória

de um processo

(3)

© 1997-2009 Volnys B. Bernal Versão de 26/9/2011 Processos 3

© 1997-2009 - Volnys Bernal 13

Áreas de memória de um processo

Dados Pilha Código Espaço de

endereçamento

Linha de execução (thread) Processo

© 1997-2009 - Volnys Bernal 14

Áreas de memória de um processo:

Exemplo UNIX

Espaço de endereçamento

virtual do processo 0

N Código

Data

Pilha de execução Heap

BSS Segmento do

sistema operacional

Segmento de código

Segmento de dados

Segmento da pilha de execução Seção do

arquivo executável

Código Dados iniciados Tabela de símbolos Cabeçalho

Seqüência de instruções

Dados globais iniciados Dados globais não iniciados Alocação dinâmica

Controle de execução de subrotinas: variáveis locais, endereços de retorno, parâmetros das funções

© 1997-2009 - Volnys Bernal 15

Troca de Contexto

© 1997-2009 - Volnys Bernal 16

Troca de Contexto

Contexto de um processo:

É o conjunto de informações relevantes à execução do processo:

Contexto de Hardware:

Registradores da CPU Contexto de Software:

Área de código Área de dados Área da pilha de execução

Identificação do processo (pid – process identification) Estado

Prioridade

Conjunto de arquivos abertos ....

© 1997-2009 - Volnys Bernal 17

Troca de Contexto

Troca de contexto

Atividade de mudança de contexto em um sistema de computação

Atividade realizada pelo Sistema Operacional

Envolve a troca de contexto de hardware e software de um processo

© 1997-2009 - Volnys Bernal 18

Ciclo de Vida

dos Processos

(4)

© 1997-2009 Volnys B. Bernal Versão de 26/9/2011 Processos 4

© 1997-2009 - Volnys Bernal 19

Ciclo de Vida dos Processos

Os processos, assim como qualquer entidade viva, possui um ciclo de vida:

Nasce, vive e morre Estados de um processo

Diagrama simplificado de transição de estados:

bloqueado pronto

parado

zumbi

terminado executando

© 1997-2009 - Volnys Bernal 20

Ciclo de Vida dos Processos

Estados dos Processos Pronto

O processo está pronto para executar. Não está executando porque a CPU está sendo utilizada por outro processo.

Executando

O processo está utilizando a CPU no momento Bloqueado

O processo não pode continuar sua execução enquanto não ocorrer o evento pelo qual espera (ex, leitura de disco, ...)

Parado

O processo foi momentaneamente parado pelo usuário ou operador Zumbi

O processo já terminou mas não foram liberadas suas informações de controle

Terminado

Processo já terminou e toda informação de controle foi liberada

© 1997-2009 - Volnys Bernal 21

Bibliografia

© 1997-2009 - Volnys Bernal 22

Bibliografia

Sistemas Operacionais Modernos

Andrews Tanenbaum

Bibliografia complementar:

The Design of the UNIX Operating System Maurice J. Bach

Prentice-Hall Software Series, 1986

Referências

Documentos relacionados

Nesse aspecto, contemplado mais especificamente no artigo O aparelho formal da enunciação (1989b), Benveniste situa os caracteres formais da enunciação, isto é, os