A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Conteúdo Processos e threads Partes do processo

Apresentações semelhantes


Apresentação em tema: "Conteúdo Processos e threads Partes do processo"— Transcrição da apresentação:

1 Conteúdo Processos e threads Partes do processo
Bloco de controle do processo(PCB) Estados do processo e mudanças de estado Tipos de processo CPU-bound / I/O-bound Foreground / Background Sinais

2 Processo O conceito de processo é a base para a implementação de um sistema multiprogramável. O processador é projetado apenas para executar instruções, não sendo capaz de distinguir qual programa se encontra em execução. A gerência de um ambiente multiprogramável é função exclusiva do SO, que deve controlar a execução dos diversos programas e o uso concorrente do processador. A gerência do processador é uma das principais funções de um SO. Através dos processos, um programa pode alocar recursos, compartilhar dados e trocar informações.

3 Processo Um processo pode ser entendido inicialmente como um programa em execução, que tem suas informações mantidas pelo SO. Num sistema multiusuário, cada usuário tem a impressão de possuir o processador e todos os demais recursos reservados exclusivamente para si, mas isto não é verdade. Todos os recursos estão sendo compartilhados, inclusive a CPU. Neste caso, o processador executa o processo do usuário por um intervalo de tempo e, no instante seguinte, poderá estar processando um outro programa, do mesmo ou de outro usuário.

4 Processo Para que a troca de processos possa ser feita sem problemas, é necessário que todas as informações do programa que está sendo interrompido sejam guardadas, para que ele possa retornar à CPU exatamente do ponto em que parou, não lhe faltando nenhuma informação vital à sua continuação. Todas as informações necessárias à execução de um programa fazem parte do processo. Um processo também pode ser definido como o ambiente onde o programa é executado. Este ambiente, além das informações sobre a execução, possui também a quantidade de recursos do sistema que o programa pode utilizar,como espaço de endereçamento, tempo do processador e área em disco.

5 Processo Um processo é formado por três partes: contexto de software,
contexto de hardware e espaço de endereçamento, que juntas mantêm todas as informações necessárias à execução de um programa.

6 Processo Estrutura do processo:

7 Processo Contexto de Software: neste contexto são especificadas características e limites dos recursos que podem ser alocados pelo processo, como número máximo de arquivos abertos, prioridade de execução, número máximo de linhas impressas, etc. Muitas destas características são criadas no momento da criação do processo, quando da sua alocação. O SO obtém, a partir do cadastro de usuários e do cadastro de contas no sistema, as informações e características que valerão para o processo. O contexto de software é composto por três grupos de informações: Identificação: neste grupo são guardadas informações sobre o usuário que criou o processo, e, em função disso, suas áreas de atuação no sistema. Quotas: são os limites de recursos do sistema que um processo pode alocar, como área utilizada em disco, em memória, limite de linhas impressas, número máximo de arquivos abertos, número máximo de operações de E/S pendentes, tempo limite de CPU, etc. Privilégios: diz respeito principalmente às prioridades assumidas pelo processo durante sua execução.

8 Processo •Contexto de Hardware: armazena o conteúdo dos registradores gerais da CPU, além dos registradores de uso específico. Quando um processo está em execução, o seu contexto de hardware está armazenado nos registradores da CPU. No momento em que o processo perde a utilização da CPU, o sistema salva as informações no contexto de hardware do processo. A troca de um processo por outro no processador, comandada pelo SO, é denominada troca/mudança de contexto, que consiste em salvar o conteúdo dos registradores do processo que está deixando a CPU e carregá-los com os valores referentes ao do novo processo que irá executar. Essa operação resume-se em substituir o contexto de hardware de um processo pelo de outro.

9 Processo Troca / Mudança de Contexto

10 Processo Espaço de endereçamento: é a área de memória pertencente a um processo onde as instruções e os dados do programa são armazenados para execução. Cada processo possui seu próprio espaço de endereçamento, que deve ser devidamente protegido do acesso dos demais processos pelo SO. Os contextos de software e de hardware não fazem parte do espaço de endereçamento .

11 Processo Características da Estrutura de um Processo

12 Processo Bloco de controle do processo (BCP): é a estrutura de dados que compõe o processo, contendo os contextos de software e de hardware e o espaço de endereçamento. O BCP reside em memória, numa área reservada ao SO.

13 Processo Bloco de Controle do Processo (PCB - BCP) 5/4

14 Processo Estados do processo
Num sistema multiprogramável, um processo não deve alocar a CPU com exclusividade, de forma que possa existir um compartilhamento no uso do processador. Os processos passam por diferentes estados ao longo do processamento, em função de eventos gerados pelo SO, pelo hardware, ou pelo próprio programa. São estados possíveis de um processo: Criação: Pronto: Execução: Espera: Saída:

15 Processo Mudanças de Estado do Processo 5/6

16 Processo Estados possíveis de um processo:
Criação: neste estado o processo está sendo alocado na memória, sendo criado no sistema. Todos os recursos necessários à execução do processo são reservados durante a passagem do processo por este estado, o que acontece uma única vez. Vários processos podem estar neste estado, ao mesmo tempo. Pronto: é o estado onde os processos, depois de criados ou quando retornam do tratamento de uma interrupção, permanecem aguardando a liberação da CPU para que possam iniciar ou continuar seu processamento. É como se fosse uma fila, gerenciada pelo SO, que se incumbe de organizar os processos de acordo com as informações contidas no contexto de software (identificação, quotas e privilégios). Vários processos podem estar neste estado, ao mesmo tempo. Execução: é onde o processo efetivamente utiliza a CPU. Ele permanece no processador até que seja interrompido ou termine sua execução. Neste estado, somente um processo pode permanecer de cada vez, já que existe apenas um processador. Espera: neste estado estão todos os processos que sofreram algum tipo de interrupção de E/S, onde permanecem até que a intervenção seja resolvida. Vários processos podem estar neste estado, ao mesmo tempo. Saída: é o estado final do processo, quando este termina seu processamento. Vários processos podem estar neste estado, ao mesmo tempo.

17 Processo Mudanças de estado do processo
Um processo muda de estado diversas vezes durante sua permanência no sistema, devido aos eventos ocorridos durante sua execução. São mudanças possíveis: Criação Pronto: o processo foi criado, tem seus recursos alocados, e está apto a disputar o uso da CPU. Pronto  Execução: o processo é o primeiro da fila de pronto e a CPU fica disponível. Neste momento o processo passa a ocupar a CPU, permanecendo em execução até que seja interrompido ou termine sua execução. Execução  Pronto: o processo foi interrompido por fatia de tempo ou por prioridade. Ainda precisa de mais tempo na CPU para terminar sua execução, não tem nenhuma intervenção pendente, por isso volta à fila de pronto para disputar novamente o uso da CPU.

18 Processo Mudanças de estado do processo – continuação
Execução  Espera: esta transição acontece quando o processo foi interrompido por E/S. Significa que deve permanecer no estado de espera até que a interrupção seja tratada pelo sistema. Neste estado o processo fica impedido de disputar o uso da CPU. Espera  Pronto: Após o término do tratamento da interrupção, o processo volta à fila de pronto para disputar novamente o uso da CPU. Execução  Saída: o processo terminou, e não mais disputará o uso da CPU.

19 Processo Mudanças possíveis de estado de um processo.

20 Processo Lista de PCBs nos Estados de Pronto e Espera 5/5

21 Processo Mudanças de Estado do Processo

22 Processo Mudanças de Estado do Processo

23 Processo Tipos de processos
Além dos processos do usuário, a CPU também executa processos do sistema. São aqueles que oferecem os serviços do SO aos usuários, como criação/eliminação de processos, tratamento de interrupção e todos aqueles correspondentes às funções do sistema já estudadas. Estes executam sempre, com certa prioridade, concorrendo com os processos do usuário. Os processos em execução, do usuário, podem assumir dois tipos diferentes, de acordo com suas características de uso de CPU e periféricos: Processo CPU-bound: Processo I/O-bound:

24 Processo Tipos de processos Os processos em execução do usuário:
Os processos em execução do usuário: Processo CPU-bound: é aquele processo que utiliza muito a CPU. Ele ganha uma fatia de tempo e a utiliza por inteiro, sem desperdiçar nenhum tempo. É o caso de programas científicos, de cálculo numérico, estatística, matemática, e também na área de simulação. Normalmente fazem pouca ou nenhuma entrada de dados, e muito processamento. Processo I/O-bound: é o tipo de processo que utiliza muito mais E/S do que CPU. Aplicações em Banco de Dados, onde se faz consultas e atualizações constantes em arquivos em disco são um bom exemplo deste tipo de processo. De acordo com essas características, podemos dizer que este tipo de processo permanece mais tempo em espera (tratando interrupções) do que propriamente em execução, ocupando a CPU por períodos mínimos de tempo.

25 Processo Processos CPU-bound x I/O-bound

26 Processo Processos Foreground e Background
Existem pelo menos 2 canais de comunicação associados estrutura de um processo: Foreground: permite comunicação direta com usuário; Entrada está associada a um teminal (teclado, mouse, monitor); Processamento interativo; Background: Não existe comunicação com o usuário durante seu processamento; E/S não está associada a um dispositivo de E/S Mas sim a um arquivo de E/S

27 Processo Processos Foreground e Background 5/11

28 Processo Formas de criar processos Logon Interativo
Usuário fornece USER e PASS, que são autenticados pelo SO consultando o arquivo de usuários; Um processo foreground é criado; Como num prompt do DOS, onde o usuário interage via linguagem de comando; Apenas o ADM pode modificar e excluir arquivos do usuário; Logoff ou logout – elimina interativamente o processo; Linguagem de Comando Rotina do SO Chamada de aplicações – Word, Notepad, etc

29 Processo Estrutura de Processos e Subprocessos 5/9

30 Processo Processo Multithread 5/10

31 Processo Pipe 5/12

32 Processo Uso de Sinais 5/14

33 Processo Sinais, Interrupções e Exceções 5/15


Carregar ppt "Conteúdo Processos e threads Partes do processo"

Apresentações semelhantes


Anúncios Google