Buscar

Estrutura e Gerenciamento de Processos

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Sistemas Operacionais
Capítulo 5
Processo
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Sumário
Introdução
Estrutura do processo
Estados do processo
Mudanças de estado do processo
Criação e eliminação de processos
Processos independentes, subprocessos e threads
Processos foreground e background
Processos do sistema operacional
Processos CPU-bound e I/O-bound
Sinais
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Introdução
Conceito de processo é base para 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 multiprogamavel é uma função do SO, que deve controlara execução dos diversos programas e o uso concorrente do processador.
Para isso para ser executado um programa precisa ser vinculado a um processo
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Introdução
Apesar de denominações como tarefa ou job ainda serem encontradas com o mesmo sentido, o termo processo é atualmente utilizado por grande partes das bibliografias.
Gerencias de processo é umas das principais funções de um sistema operacional 
Através de processo, um programa pode alocar recursos, compartilhar dados, trocar informações e sincronizar sua execução. 
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Introdução
Nos sistemas multiprogramaveis, os processos são executados concorrentemente, compartilhando, dentre outros recursos, o uso do processador, da memória principal e dos recursos de E/S
Pergunta: Em um sistema com múltiplos processadores existes concorrência de processos?
Não só existe a concorrência de processos pelo uso do processador como também a execução simultânea de processos nos diferente processadores.
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Estrutura do Processo
Def 1:
Um processo é entendido inicialmente como um programa em execução, só que seu conceito é mais abrangente.
Isso se torna mais claro quando pensamos como um sistema multiprogramaveis atendem os diversos usuários e mantem informações a respeito dos vários programas que estão sendo executados concorrente mente ? 
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Estrutura do Processo
Num sistema multiusuário, cada usuário é associado a um processo.
Ao executar um programa, o usuário tem a impressão de possuir o processador e todos os demais recursos reservados exclusivamente para o seu uso.
Neste caso o processador executa o programa de um usuário durante um intervalo de tempo e, no instante seguinte poderá estar processando um outro programa.
Para que a troca ocorra de programas ocorra sem problemas é necessário que todas as informações do programa interrompido sejam guardadas para que, quando o programa retornar a ser executado, não lhe falte informações necessárias a continuação do processamento 
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Estrutura do Processo
Todas as informações necessárias à execução de um programa fazem parte do processo 
Def 2:
Um processo também pode ser definido como um ambiente onde um programa é executado.
Este ambiente, além das informações sobre execução, possui também o quanto de recurso do sistema o programa pode utilizar, como espaço de endereçamente, tempo do processador e area em disco. 
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Estrutura do Processo
A execução de um mesmo programa pode variar dependendo do processo no qual ele é executado, ou seja, em função dos recursos disponíveis.
A falta de recursos pode impedir a execução com sucesso de um programa.
Um processo é formado por três partes, juntas mantêm todas a informações necessárias à execução de um programa conhecidas como:
Contexto de Hardware 
Contexto de Software
Espaçamento de Endereçamento 
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Estrutura do processo
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Estrutura do Processo
Contexto de Hardware
O contexto de hardware armazena o conteúdo dos registradores gerais do UCP, além dos registradores de uso específico, como program counter (PC), stack pointer (SP) e registradores de status.
Os registradores são dispositivos com a função principal de armazenar dados temporariamente 
Alguns registradores podem diretamente por instruções (registradores de uso geral).
Enquanto outros são responsáveis por armazenar informações de controle do processador e do sistema operacional (registradores de uso específicos). 
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Estrutura do Processo
Contexto de Hardware
Registradores de uso específicos 
Program counter (PC): Contém os endereços da próxima instrução que o processador deve buscar e executar.
Stack Pointer (SP): Contém o endereço de memória do topo da pilha, que é a estrutura de dados onde o sistema mantém as informações sobre os programas que estão sendo executados e tiveram que ser interrompidos;
Registradores de status:É responsável por armazenar informaçoes sobre a execução de instuções.
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Estrutura do Processo
Contexto de Hardware
Quando um processo está em execução seu contexto de hardware está armazenado no registradores do processador.
No momento em que o processo perde a utilização da UCP, o sistema salva as informações do contexto de hardware no processo.
O contexto de hardware é fundamental para implementação dos sistemas multiprogramaveis, onde os processos revezam na utilização da UCP, podendo ser interrompidos e posteriormente restaurados. 
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Estrutura do Processo
Contexto de Hardware
A troca de um processo por outro no processador, comandada pelo sistema operacional, e denominado de mudança de contexto.
A mudança de contexto consiste em salvar o conteúdo dos registradores do processo que está deixando a UCP e carrega-los com os valores referentes do novo processo que será executado 
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Estrutura do Processo
Contexto de Hardware
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Estrutura do Processo
Contexto de Software
No contexto de software são especificados características e limites dos recursos que podem ser alocados pelo processo como:
Numero máximo de arquivos que podem ser abertos simultaneamente.
Prioridade de execução.
Tamanho de buffer para operação de E/S
A maior parte das informações do contexto de software do processo são previamente de um arquivo do SO conhecido de como arquivos de contas
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Estrutura do Processo
Contexto de Software
O contexto de software é composto por 3 grupos de informações sobre o processo:
Identificação 
Quotas 
Privilégios 
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Estrutura do Processo
Contexto de Software
Identificação
Cada processo criado pelo sistema recebe um identificação única:
PID (Process Identification) – representado por um número.
Através do PID o SO e outros processos podem fazer referência a qualquer processo existente, consultando seu contexto ou alterando uma de suas características.
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Estrutura do Processo
Contexto de Software
Identificação
O processo também possui a identificação do usuário do processo (owner).Cada usuários possui uma identificação única:
UID (User
Identification)
A UID permite implementar um modelo de segurança, onde apenas objetos (processos, arquivos, áreas de memórias e etc...) que possuem o mesmo UID de usuário podem ser acessados. 
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Estrutura do Processo
Contexto de Software
Quota
 As quotas são os limites de cada recurso do sistema que o processo pode alocar.
Caso uma quota seja insuficiente, o processo poderá ser executado lentamente, interrompido durante o seu processamento ou mesmo não ser executado. Exemplos de quotas:
Numero máximo de arquivos abertos simultaneamente
Tamanho máximo de memória principal e secundaria que o processo pode alocar.
Numero Maximo de operações de E/S 
Tamanho máximo dos buffers de E/S
Numero máximo de processos, subprocessos e threads podem ser criados 
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Estrutura do Processo
Contexto de Software
Privilégios 
Privilégios ou direitos definem a ação que um processo pode fazer em relação a ele mesmo, aos demais processos e ao sistema operacional
Privilégios que afetam o próprio processo permitem que suas características possam ser alteradas, como prioridades de execução, limites alocados na memória principal, etc.
Privilégios que afetam o SO são mais amplos e poderosos, pois estão relacionados a operação e gerência do ambiente, como desativação do sistema, alteração de regras de segurança, criação de processos privilegiados, modificação de parâmetros de configuração do sistema. A maioria dos sistemas operacionais possuem uma conta de com todos esse privilégios disponíveis. 
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Estrutura do Processo
Espaço de Endereçamento 
 O espaço de endereçamento é a área da memória pertencente ao 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 devem ser devidamente protegido do acesso dos demais processo.
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Estrutura do Processo
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Estrutura do Processo
Bloco de Controle 
O processo é implementado pelo SO através de uma estrutura dados chamado de bloco de controle de processo (Process Control Block - PCB).
A partir do PCB, o SO mantêm todas as informações sobre o contexto de hardware, contexto de software e o espaço de endereçamento de memória.
Os PCBs de todos os processo residem na memória principal em uma área exclusiva do SO 
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Estrutura do Processo
Bloco de Controle
PCB
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Estrutura do Processo
Bloco de Controle
O tamanho desta área geralmente é limitado por um parâmetro do sistema operacional que permite especificar quantos processo podem ser suportados simultaneamente pelo sistema. 
Toda a gerência de processo é realizado através de system calls que realizam operações como:
Criação 
Alteração de Características
Visualização 
Eliminação 
Sincronização 
Suspensão de processos 
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Estados do Processo 
Em um sistema multiprogramavel, um processo não deve alocar a UCP com exclusividade, de forma que possa existir um compartilhamento no uso do computador.
Os processos passam por diferente estados ao longo do seu processamento, em função de eventos gerados pelo sistema operacional ou pelo próprio processo. 
Um processo ativo pode encontra-se em 3 estados diferentes 
Execução (running)
Pronto (ready)
Espera (wait)
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Estados do Processo 
Execução (running)
Um processo é dito no estado de execução quando está sendo processado pelo UCP.
Em um sistema com apenas uma UCP, somente um processo pode está sendo executado em um dado instante 
Então os processo se alternam na utilização do processador seguindo um política estabelecida seguido pelo SO 
Em sistemas com múltiplos processadores, existe a possibilidade de mais de um processo está sendo executada ao mesmo temp. 
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo 
Estados do Processo 
Pronto (ready)
Um processo está no estado de pronto quando aguarda apenas para ser executado.
O SO é responsável por determinar a ordem e os critérios pelos quais os processos em estados de pronto devem fazer uso do processador 
Este mecanismo é conhecido como escalonamento 
Em geral existem vários processos no sistema no estado pronto organizados em filas encadeadas.
Os processos devem estar ordenados pela sua importância, permitindo que processos mais prioritários sejam selecionados primeiramente para execução 
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Estados do Processo 
Espera (wait)
Um processo no estado de espera aguarda por algum evento externo ou por algum recurso para prosseguir seu processamento.
Por exemplo
Podemos citar o término de uma operação de entrada e saída.
Também podemos citar um processo a espera de uma data e/ou hora para continuar sua execução.
O SO organiza os vários processos no estado de espera em filas encadeadas.
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Estados do Processo 
Espera (wait)
Em geral os processos são separados em filas de esperas associadas a cada tipo de evento.
Neste caso, quando um evento acontece todos os processos da lista associada ao evento são transferidos para o estado de pronto 
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Estados do Processo 
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Mudança de Estados
Um processo muda se estado durante um processamento em função de eventos organizados por ele próprio (eventos voluntários) ou pelo SO (eventos involuntários).
Praticamente, existem 4 mudanças de estados que podem ocorrer a um processo 
Pronto  Execução
Após a criação do processo, o SO o coloca na lista de no estado de pronto.
Cada SO tem seus próprios critérios e algoritmos para a escolha da ordem que os processo serão executados (políticas de escalonamento )
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Mudança de Estados
Execução  Espera
Um processo em execução passa para o estado de espera quando por eventos gerados pelo próprio processo como uma operação de E/S ou por eventos externos.
Um evento externo é gerado, por exemplo, quando o sistema operacional suspende por um período de tempo a execução de um processo.
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Mudança de Estados
Espera  Pronto 
Um processo no estado de espera passa para o estado de pronto quando a operação solicitada é atendida ou o recurso esperado é atendido.
Um processo no estado de espera sempre terá que passar pelo estado de pronto para voltar a ser executado.
Não existe a mudança do estado de espera para o estado de execução diretamente.
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Mudança de Estados
Execução  Pronto 
Um processo em execução passa para o estado de pronto por eventos gerados pelo SO como término da fatia de tempo que o processo possui para sua execução.
Nesse caso, o processo volta para fila de pronto, onde aguarda por uma nova oportunidade de para executar seu processamento. 
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Mudança de Estados
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Mudança de Estados
Um processo em estado de pronto ou de espera pode não se encontrar na memória principal.
Essa condição ocorre quando não existe espaço suficiente para todos os processos na memória principal e parte do contexto do processo é levada para a memória secundária.
Uma técnica chamada Swapping retira processos da memória e traz de volta seguindo critérios de cada SO.
Neste caso, os processos em estado de espera e pronto podem estar residentes ou não residentes na memória principal. 
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Mudança de Estados
Um processo em estado de pronto ou de espera pode não se encontrar na memória principal.
Essa condição ocorre quando não existe espaço suficiente para todos os processos na memória principal e parte do contexto do processo é levada para a memória secundária.
Uma técnica chamada Swapping retira processos da memória e traz de volta seguindo critérios de cada SO.
Neste caso, os processos em estado de espera e pronto podem estar residentes ou não residentes na memória principal. 
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Mudança de Estados
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Criação e Eliminação de Processos 
Processos são criados e eliminados por diverso motivos 
A criação de um processo ocorre a partir do momento em que o SO adiciona um novo PCB a sua estrutura e aloca um espaço de endereçamento na memória para o seu uso.
A partir da criação do PCB, o SO já reconhece a existência do processo, podendo gerenciá-lo e associar programas ao seu contexto para serem executados.
No caso da eliminação de um processo, todos os recursos associados ao processo são deslocados e o PCB é eliminado pelo SO.
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Criação e Eliminação de Processos 
Processos são criados e eliminados por diverso motivos 
A criação de um processo ocorre a partir do momento em que o SO adiciona um novo PCB a sua estrutura e aloca um espaço de endereçamento na memória para o seu uso.
A partir da criação do PCB, o SO já reconhece a existência do processo, podendo gerenciá-lo e associar programas ao seu contexto para serem executados.
No caso da eliminação de um processo, todos os recursos associados ao processo são deslocados e o PCB é eliminado pelo SO.
Alem dos três estados apresentados anteriormente para o processo a maioria dos sistemas operacionais estabelece dois estados adicionais: Criação(new) e Terminado(exit)
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Criação e Eliminação de Processos 
Criação (New)
Um processo é dito no estado de criação quando o SO já criou um novo PCB, porem ainda não pode colocá-lo na lista de processos do estados de pronto
Alguns SO limitam o número de processos ativos em função de recurso disponíveis ou de desempenho.
Terminado (Exit)
Um processo no estado de término não poderá ter mais nenhum programa executado no seu contexto, porem o SO ainda mantêm as informações de controle presente na memória 
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Criação e Eliminação de Processos 
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Processo Independentes, Subprocessos e Thread 
Processo independentes, subprocessos e threads são maneiras diferentes de implementar a concorrência dentro de uma aplicação.
Processo Independentes 
É a maneira mais fácil de implementar concorrência em sistemas multiprogramáveis. Neste caso não existe vínculo do processo criado com o processo criador 
Subprocesso 
São processo criados dentro de uma estrutura hierárquica. Neste momento o processo criador é denominado processo pai enquanto o novo processo é denominado de subprocesso ou processo filho. 
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Processo Independentes, Subprocessos e Thread 
Thread 
Trabalho 
Artigo sobre thread 
Modelos de tópicos 
Introdução 
Ambiente Monothread
Ambiente Multithread
Arquitetura 
Implementação 
Entrega 2013
Apresentação serão sorteados 4 artigos 
Equipes com 2 componentes 
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Processo Foreground e Background 
Um processo sempre é associado à sua estrutura pelo menos dois canais de comunicação.
Por onde são realizadas todas as entradas e saídas de dados ao longo do seu processamento.
O canais de entrada (input) e de saída (output) de dados podem estar associados:
Terminais
Arquivos 
Impressora
Até mesmo outros processos 
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Processo Foreground e Background
Processo Foreground
Um processo foreground é aquele que permite a comunicação direta do usuário com o processo.
Neste caso tanto o canal de entrada como o canal de saída estão associados a um terminal com teclado, mouse e monitor, permitindo assim a interação com usuário.
Processos interativos tem como base processo foreground.
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Processo Foreground e Background
Processo Foreground
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Processo Foreground e Background
Processo Background
Um processo Background é aquele onde não existe comunicação com usuário durante seu processamento 
Neste caso, os canais de E/S não estão associados a nenhum dispositivo de E/S interativo, mais em geral a arquivos de E/S.
O processamento do tipo Batch é realizado através de processamento background
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Processo Foreground e Background
Processo Background
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Processo Foreground e Background
Também é possível associar o canal de saída de um processo ao canal de entrada de outro processo. 
Neste caso dizemos que existe um pipe ligando os dois processos.
Exemplo 
Supomos que um processo A seja responsável por gerar uma listagem e o processo B seja responsável por ordenar essa listagem. Então basta associar um pipe ligando o canal de saida do processo A ao canal de entrada ao processo B 
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Processo Foreground e Background
PIPE
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Processo do Sistema Operacional 
O conceito de processo alem de está associado a aplicações do usuários, também pode ser implementado na própria arquitetura do SO.
O SO implementa processos que disponibilizam serviços para processos das aplicações e do próprio sistema operacional
A seguir uma lista de alguns serviços que o sistema operacional pode implementar através de processo:
Auditoria e segurança
Serviços de rede;
Contabilização de recursos 
Contabilização de erros 
Gerencia de impressão 
Temporização 
Comunicação de eventos 
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Processo CPU-Bound e I/O Bound
Os processos podem ser classificados como CPU-Bound e I/O Bound, de acordo com a utilização do processador e dos dispositovos de E/S
CPU-Bound 
Um processo é definido CPU-Bound (Ligado à UCP) quando passa a maior parte to tempo em estado de execução, ou seja, utilizando o processador.
I/O-Bound 
Um processo é definido I/O-Bound (Ligado à E/S) quando passa a maior parte do tempo no estado de espera, pois realiza um elevado numero de operações de E/S. 
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processo
Processo CPU-Bound e I/O Bound
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processos
Sinais
Sinais são um mecanismos que permite notificar processo de eventos gerados por outros processos ou pelo SO.
O uso de sinais é fundamental para a gerencia de processos, alem de possibilitar a comunicação e sincronização
entre processos
Exemplo 
Quando o usuário utiliza uma seqüência de caracteres do teclado, como [Ctrl+C], para interromper a execução de um programa, neste caso o SO gera um sinal a partir da digitação desta combinação de teclas, sinalizando o processo a ocorrência do evento.
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processos
Sinais
A geração de um sinal ocorre quando o sistema operacional, a partir da ocorrência de eventos síncronos ou assíncronos notifica o processo através de bits de sinalização localizados no seu PCB.
O processo não responde instantaneamente a um sinal os sinais ficam pendentes ate que o processo seja escalonado, quando então são tratados
O tratamento de um sinal ocorre é muito semelhante ao mecanismo de interrupções, quando o sinal é tratado o contexto do processo é salvo e a execução desviada para um código de tratamento de sinal(Signal handler), geralmente no núcleo do sistema 
Sistemas Operacionais 
*
Departamento de Informatica-DI/UFPA
Processos
Sinais
O mecanismo de sinais assemelha-se ao tratamento de interrupções e exceções. O sinal está para o processo assim como a interrupção e exceções estão para SO.

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais

Perguntas Recentes