Aula 06 Processos - WordPress.com...1 Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel...

28
1 Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 06 Processos 2

Transcript of Aula 06 Processos - WordPress.com...1 Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel...

Page 1: Aula 06 Processos - WordPress.com...1 Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 06 Processos

1

Sistemas OperacionaisProf. Esp. André Luís BeliniBacharel em Sistemas de InformaçõesMBA em Gestão Estratégica de Negócios

Aula 06

Processos

2

Page 2: Aula 06 Processos - WordPress.com...1 Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 06 Processos

2

Processos

• A gerência de um ambiente multiprogramável éfunção exclusiva do S.O. que deve controlar aexecução dos diversos programas e o usoconcorrente do processador e demais recursos.

• Um programa ao ser executado deve estarsempre associado a um processo.

• O conceito de processo é a base para aimplementação de um sistemamultiprogramável.

3

Estrutura do Processo

• O processador é projetado para executarinstruções a partir do ciclo de busca e execução.

• Neste ciclo, o processador busca a instrução aser executada na memória principal, armazena-a no registrador de instruções para, finalmente,decodificar seus bits e realizar a execução.

• O registrador PC tem a função de armazenarsempre o endereço da próxima instrução a serexecutada, e as alterações do seu conteúdodeterminam o sequenciamento de execução dasinstruções armazenadas na M.P.

4

Page 3: Aula 06 Processos - WordPress.com...1 Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 06 Processos

3

Definição Processos

• Um processo pode ser entendido inicialmentecomo um programa em execução, só que seuconceito é mais abrangente.

• Para que a concorrência entre os programasocorra sem problemas, é necessário que todasas informações do programa interrompido sejamguardadas para que, quando este voltar a serexecutado, não lhe falte nenhuma informaçãonecessária à continuação do processamento.

• O conceito de processo pode ser definido comosendo o conjunto necessário de informaçõespara que o S.O. implemente a concorrência

5

Mudança de contexto

• A troca de um processo por outro noprocessador, comandada pelo S.O., édenominada mudança de contexto. É dessamaneira que o S.O. implementa e gerencia umambiente multiprogramável.

• Ao executar um programa, o usuário tem aimpressão de possuir o processor e todos osdemais recursos reservados para seu usoexclusivo. No entanto, isso não ocorre, poistodos os recursos estão sendo compartilhados,inclusive a UCP.

6

Page 4: Aula 06 Processos - WordPress.com...1 Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 06 Processos

4

Estrutura do Processo

7

Programa

Contexto deSoftware

Contexto deHardware

Espaço deEndereçamento

Contexto de Hardware

• O contexto de hardware de um processoarmazena o conteúdo dos registradores geraisda UCP, além dos registradores de usoespecífico, como program counter (PC), stackpointer (SP) e registrador de status.

• Quando um processo está em execução, o seucontexto de hardware está armazenado nosregistradores do processador.

• No momento em que o processo perde autilização da UCP, o sistema salva asinformações no contexto de hardware doprocesso.

8

Page 5: Aula 06 Processos - WordPress.com...1 Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 06 Processos

5

• O contexto de hardware é fundamental para aimplementação dos sistemasmultiprogramáveis, onde os processos sealternam na utilização da UCP, podendo serinterrompidos e, posteriormente, restaurados.

• O S.O. gerencia a mudança de contexto, queconsiste em salvar o conteúdo dos registradoresdo processo que está deixando a UCP ecarregá-lo com os valores referentes ao do novoprocesso que será executado.

9

Mudança de contexto

10

Carrega registradores doProcesso B

Carrega registradores doProcesso A

Sistema Operacional

Salva registradores doProcesso A

executando

executando

executando

Salva registradores doProcesso B

Processo A Processo B

Page 6: Aula 06 Processos - WordPress.com...1 Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 06 Processos

6

Contexto de Software

• No contexto de software de um processo sãoespecificados limites e características dosrecursos que podem ser alocados peloprocesso, como número máximo de arquivosabertos simultaneamente, prioridade deexecução e tamanho do buffer para operaçõesde E/S.

• Algumas dessas características sãodeterminadas no momento da criação doprocesso, enquanto outras podem ser alteradasdurante sua existência.

11

Grupos de informações sobre processos

• O contexto de software é composto por trêsgrupos de informações sobre o processo:

1. Identificação2. Quotas3. Privilégios

12

Page 7: Aula 06 Processos - WordPress.com...1 Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 06 Processos

7

Identificação

• Cada processo criado pelo sistema recebe umaidentificação única (PID – process identification)representada por um número.

• Através do PID, o S.O. e outros processospodem fazer referência a qualquer processoexistente.

• O processo também possui a identificação dousuário ou processo que o criou (owner).

• Cada usuário possui uma identificação única nosistema (UID – user identification)

13

Quotas

• As quotas são os limites de cada recurso do sistemaque um processo pode alocar. Caso uma quota sejainsuficiente, o processo poderá ser executadolentamente, interrompido durante seu processamento oumesmo não ser executado. Alguns exemplos de quotas:

1. Número máximo de arquivos abertos simultaneamente;2. Tamanho máximo de M.P. e secundária que o processo

pode alocar;3. Número máximo de operações de E/S pendentes;4. Tamanho máximo do buffer para operações de E/S;5. Número máximo de processos, subprocessos e threads

que podem ser criados.

14

Page 8: Aula 06 Processos - WordPress.com...1 Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 06 Processos

8

Privilégios

• Os privilégios ou direitos definem as ações que umprocesso pode fazer em relação a ele mesmo, aosdemais processos e ao sistema operacional.

• Privilégios que afetam o próprio processo permitem quesuas características possam ser alteradas, comoprioridade de execução, limites alocados na M.P. esecundária, etc.

• Os privilégios que afetam os demais processospermitem, além da alteração de suas própriascaracterísticas, alterar as de outros processos.

• Privilégios que afetam o sistema são os mais amplos epoderosos, pois estão relacionados à operação e agerência do ambiente.

15

Espaço de endereçamento

• O espaço de endereçamento é a área dememória pertencente ao processo ondeinstruções e dados do programa sãoarmazenados para execução.

• Cada processo possui seu próprio espaço deendereçamento, que deve ser devidamenteprotegido do acesso dos demais processos.

16

Page 9: Aula 06 Processos - WordPress.com...1 Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 06 Processos

9

17

Espaço de endereçamento

Programa

Contexto deSoftware

prioridade deexecução registrador PC

data/horade criação

tempo deprocessador

registrador SP

quotas

privilégios

endereços de memóriaprincipal alocados

registradorde status

owner (UID)

PID

nomeregistradores

gerais

Contexto deHardware

Espaço deEndereçamento

18

Bloco de Controle do Processo

• O processo é implementado pelo S.O. atravésde uma estrutura de dados chamada de blocode controle de processos (process control block– PCB).

• A partir do PCB, o S.O. mantém todas asinformações sobre o contexto de hardware,contexto de software e espaço deendereçamento de cada processo.

• Os PCBs de todos os processos ativos residemna M.P. em uma área exclusiva do S.O.

Page 10: Aula 06 Processos - WordPress.com...1 Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 06 Processos

10

19

........

ponteiros

Estado do processo

Registradores

Nome do processo

Prioridade do processo

Limites de memória

Lista de arquivos abertos

Bloco de Controle do Processo

20

Estados do Processo

• Em um sistema multiprogramável, um processonão deve alocar exclusivamente a UCP.

• Os processos passam por diferentes estados aolongo do seu processamento, em função deeventos gerados pelo S.O. ou pelo próprioprocesso.

• Um processo ativo pode encontrar-se em trêsdiferentes estados: Execução (running), Pronto(ready) e Espera (wait)

Page 11: Aula 06 Processos - WordPress.com...1 Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 06 Processos

11

21

Execução (Running)

• Um processo é dito no estado de execuçãoquando está sendo processado pela UCP. Emsistemas com apenas uma UCP, somente umprocesso pode estar sendo executado em umdado instante de tempo. Os processos sealternam na utilização do processador seguindouma política estabelecida pelo S.O.

• Em sistemas com múltiplos processadores,existe a possibilidade de mais de um processoser executado ao mesmo tempo

22

Pronto (Ready)

• Um processo está no estado de pronto quandoaguarda apenas para ser executado.

• O S.O. é responsável por determinar a ordem eos critérios pelos quais os processos em estadode pronto devem fazer uso do processador. Estemecanismo é conhecido como escalonamento.

Page 12: Aula 06 Processos - WordPress.com...1 Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 06 Processos

12

23

Espera (Wait)

• Um processo no estado de espera aguarda poralgum evento externo ou por algum recursopara prosseguir seu processamento.

• O sistema organiza os vários processos noestado de espera em listas encadeadas. Emgeral, os processos são separados em listas deespera associadas a cada tipo de evento.

24

........

........

........

........

........

Lista deprocessosem estadode pronto

PCB#5

PCB#9

PCB#1

PCB#2 PCB#4

Lista deprocessosem estadode espera

Lista de PCBs nos Estados Pronto e Espera

Page 13: Aula 06 Processos - WordPress.com...1 Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 06 Processos

13

25

Mudanças de Estado do Processo

• Um processo muda de estado durante seuprocessamento em função de eventosoriginados por ele próprio (eventos voluntários)ou pelo S.O. (eventos involuntários).

• Basicamente existem 4 mudanças de estado:» Pronto � Execução» Execução � Espera» Espera � Pronto» Execução � Pronto

26

Pronto ���� Execução

• Após a criação de um processo, o sistema o coloca emuma lista de processos no estado de pronto, ondeaguarda por uma oportunidade para ser executado.

Estado de Execução

Estado de Espera Estado de Pronto

a

c

db

Page 14: Aula 06 Processos - WordPress.com...1 Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 06 Processos

14

27

Execução ���� Espera

• Um processo em execução passa para o estadode espera por eventos gerados pelo próprioprocesso, como uma operação de E/S, ou poreventos externos.

• Um evento externo é gerado, por exemplo,quando o sistema operacional suspende por umperíodo de tempo a execução de um processo.

28

Espera ���� Pronto

• Um processo no estado de espera passa para oestado de pronto quando a operação solicitadaé atendida ou o recurso esperado é concedido.

• Um processo no estado de espera sempre teráde passar pelo estado de pronto antes de poderser novamente selecionado para execução.

• Não existe a mudança do estado de esperapara o estado de execução diretamente.

Page 15: Aula 06 Processos - WordPress.com...1 Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 06 Processos

15

29

Execução ���� Pronto

• Um processo em execução passa para o estadode pronto por eventos gerados pelo sistema,como o término da fatia de tempo que oprocesso possui para sua execução. Nessecaso, o processo volta para a fila de pronto,onde aguarda por uma nova oportunidade paracontinuar seu processamento.

30

residente

não residente

Estado de Execução

Estado de Espera

Estado de Espera

Estado de Pronto

Estado de Pronto

Mudança de estado do processo

Page 16: Aula 06 Processos - WordPress.com...1 Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 06 Processos

16

31

• Um processo em estado de pronto ou de esperapode não se encontrar na M.P. e isso ocorrequando não há espaço suficiente para todos osprocessos na M.P. e parte do contexto doprocesso é levado para a memória secundária.

• A técnica conhecida como swapping.• Retirada processo da M.P. (swap out)• Volta do processo a M.P. (swap in)

32

Criação e Eliminação de Processos

• Processos são criados e eliminados por váriosmotivos.

• A criação de um processo ocorre a partir domomento em que o S.O. adiciona um novo PCBà sua estrutura e aloca um espaço deendereçamento na memória para uso.

• Além dos três estados apresentadosanteriormente para o processo, a maioria doS.O. estabelece para os momentos de criação eeliminação de um processo dois estadosadicionais.

Page 17: Aula 06 Processos - WordPress.com...1 Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 06 Processos

17

33

Estado de Execução Estado de Término

Estado de Espera Estado de Pronto Estado de Criação

Mudanças de estado do processo

34

Criação (new)

• Um processo é dito no estado de criaçãoquando o S.O. já criou um novo PCB, porémainda não pode colocá-lo na lista de processosdo estado de pronto.

Page 18: Aula 06 Processos - WordPress.com...1 Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 06 Processos

18

35

Terminado (exit)

• Um processo no estado de terminado nãopoderá ter mais nenhum programa executadono seu contexto, porém o S.O. ainda mantémsuas informações de controle presentes emmemória.

• O término de processo pode ocorrer por razõescomo:

1. Término normal de execução;2. Elemininação por outro processo;3. Eliminação forçada por ausência de recursos

disponíveis no sistema.

36

Processos CPU-bound e I/O bound

• Processos podem ser classificados como CPU-bound ou I/O bound de acordo com a utilizaçãodo processador e dos dispositivos de E/S.

• CPU-bound: quando passa a maior parte dotempo no estado de execução, utilizando oprocessador, ou pronto. Normalmenteencontrado em aplicações científicas.

• I/O-bound: quando passa a maior parte dotempo no estado de espera, pois realiza umelevado número de operações de E/S.Normalmente encontrado em aplicaçõescomerciais.

Page 19: Aula 06 Processos - WordPress.com...1 Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 06 Processos

19

37

(a) CPU-boundtempo tempo

E/S E/S

UCP UCP

(b) I/O-bound

Processos CPU-bound X I/O bound

38

Processos Foreground e Background

• Um processo possui sempre pelo menos doiscanais de comunicação associados a suaestrutura, pelos quais são realizadas todas asentradas e saídas de dados ao longo do seuprocessamento. Os canais de entrada (input) esaída (output) de dados podem estarassociados a terminais, arquivos, impressoras eaté mesmo a outros processos.

Page 20: Aula 06 Processos - WordPress.com...1 Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 06 Processos

20

39

• Um processo foreground é aquele que permite acomunicação direta do usuário com o processodurante o seu processamento.

• Um processamento background é aquele quenão existe a comunicação com o usuáriodurante o seu processamento.

• Nesse caso, os canais de E/S não estãoassociados a nenhum dispositivo de E/Sinterativo, mas em geral a arquivos de E/S

40

(a) Processo Foreground

(b) Processo Background

saída

saída

arquivode saída

terminalterminal

entrada

entrada

arquivode entrada

Processos Foreground e Background

Page 21: Aula 06 Processos - WordPress.com...1 Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 06 Processos

21

41

Formas de Criação de Processos

• Um processo pode ser criado de diversasmaneiras, tais como:

1. Logon interativo;2. Via linguagem de programação;3. Via rotina do sistema operacional

42

Logon interativo

• No logon interativo, o usuário, por intermédio deum terminal, fornece ao sistema um nome deidentificação e uma senha:

Page 22: Aula 06 Processos - WordPress.com...1 Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 06 Processos

22

43

Via linguagem de comando

• Quando um processo é criado a partir de umoutro processo.

• O principal objetivo para quem um usuário criediversos processos é a possibilidade deexecução de programas concorrentes.

44

Via Rotina do Sistema Operacional

• Um processo pode ser criado a partir dequalquer programa executável com o uso derotinas do sistema operacional.

• A rotina de criação de processos depende doS.O. e possui diversos parâmetros.

Page 23: Aula 06 Processos - WordPress.com...1 Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 06 Processos

23

45

Processos independentes, subprocessose Threads

• Processos independentes, subprocessos ethreads são maneiras diferentes de implementara concorrência dentro de uma aplicação.

46

Processos Independentes

• O uso de processos independentes é a maneiramais simples de implementar a concorrência emsistemas multiprogramáveis.

• Não existe vínculo do processo criado com oseu criador.

• A criação de um processo independente exige aalocação de um PCB, possuindo contextos dehardware, contextos de software e espaços deendereçamento próprios.

Page 24: Aula 06 Processos - WordPress.com...1 Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 06 Processos

24

47

Subprocessos

• Subprocessos são processos criados dentro deuma estrutura hierárquica. Neste modo, oprocesso criador é denominado de processo-pai, enquanto no novo processo é chamadoprocesso-filho.

• O processo filho fica subordinado ao processopai.

• Também possui seu próprio contexto dehardware, software e espaço deendereçamento.

48

Threads

• O conceito de thread foi introduzido na tentativade reduzir o tempo gasto em criação, eliminaçãoe troca de contexto nas aplicaçõesconcorrentes, além de economizar recursos dosistema como um todo.

• Threads compartilham o processador da mesmamaneira que um processo, ou seja, enquantoum thread espera por uma operação de E/S,outro thread pode ser executado.

Page 25: Aula 06 Processos - WordPress.com...1 Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 06 Processos

25

49

Contextode hardware

Contextode hardware

Contextode hardware

Espaço deendereçamento

Co

nte

xto d

eso

ftw

are

Thread 3Thread 2Thread 1

Processo Multi Threads

50

Processos do Sistema Operacional

• Um processo pode ser associado a aplicaçõesdos usuários, no entanto, também pode estarassociado ao próprio S.O.

• Quando processos são utilizados para aimplementação de serviços do sistema, estamosretirando código do seu núcleo, tornando-omenor e mais estável.

Page 26: Aula 06 Processos - WordPress.com...1 Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 06 Processos

26

51

Alguns serviços implementados

• Alguns serviços que o S.O. pode implementaratravés de processos:

1. Auditoria e segurança;2. Serviços de rede;3. Contabilização do uso de recursos;4. Contabilização de erros;5. Gerência de impressão;6. Gerência de jobs batch;7. Temporização;8. Comunicação de eventos;9. Interface de comendos (shell)

52

Sinais

• Sinais é um mecanismo que permite notificarprocessos e eventos gerados pelo S.O. ou poroutros processos.

• O uso de sinais é fundamental para a gerênciade processos, além de possibilitar acomunicação e sincronização entre processos.

• Um exemplo do uso de sinais é quando ousuário pressiona (Ctrl-C)

Page 27: Aula 06 Processos - WordPress.com...1 Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 06 Processos

27

53

[ctrl-C]

Processo

interrupção sinalSistema Operacional

Sinais

54

Hardware

Sistema Operacional

InterrupçõesExceções

Sinais

Processo Processo

Sinais, interrupções e exceções

Page 28: Aula 06 Processos - WordPress.com...1 Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 06 Processos

28

Prof. André Luís BeliniE-mail: [email protected]

Blog: http://profandreluisbelini.wordpress.com/