Conceito de processos

757 visualizações

Publicada em

INTRODUÇÃO
MODELO DE PROCESSO
CONTEXTO DE HARDWARE
CONTEXTO DE SOFTWARE
ESPAÇO DE ENDEREÇAMENTO
ESTADO DO PROCESSO
MUDANÇAS DE ESTADO DO PROCESSO
SUBPROCESSO E THREAD
PROCESSOS DO SISTEMA
TIPOS DE PROCESSO

Publicada em: Educação
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Conceito de processos

  1. 1. Sistemas Operacionais Conceito de processos
  2. 2. SUMÁRIO • INTRODUÇÃO • MODELO DE PROCESSO – CONTEXTO DE HARDWARE – CONTEXTO DE SOFTWARE – ESPAÇO DE ENDEREÇAMENTO • ESTADO DO PROCESSO • MUDANÇAS DE ESTADO DO PROCESSO • SUBPROCESSO E THREAD • PROCESSOS DO SISTEMA • TIPOS DE PROCESSO • QUESTÕES
  3. 3. INTRODUÇÃO O termo processo apareceu, de forma a ser usado pelos autores, após o surgimento dos sistemas multi-programáveis, sendo um dos conceitos mais importantes em sistemas operacionais.
  4. 4. INTRODUÇÃO “Processo pode ser entendido como um programa em execução, só que seu conceito é mais abrangente. Este conceito torna-se mais claro quando pensamos de que forma os sistemas multiprogramáveis (multitarefa) atendem os diversos usuários (tarefas) e mantêm informações a respeito dos vários programas que estão sendo executados concorrentemente.” Machado, Francis Berenger e Maia, Luiz Paulo pag. 65
  5. 5. MODELO DE PROCESSO O conceito de processo pode ser definido como sendo o ambiente onde se executa um programa. Um mesmo programa pode produzir resultados diferentes, em função do processo no qual ele é executado.
  6. 6. MODELO DE PROCESSO “O sistema operacional materializa o processo através de uma estrutura chamada bloco de controle do processo (Process Control Block – PCB)” Machado, Francis Berenger e Maia, Luiz Paulo pag.66 A partir do bloco de controle de processo o sistema operacional mantém todas as informações sobre o processo.
  7. 7. MODELO DE PROCESSO • Identificação • Prioridade • Estado corrente • Recursos alocados
  8. 8. MODELO DE PROCESSO Bloco de controle de processo
  9. 9. MODELO DE PROCESSO Os processos são gerenciados através de system calls, realizando operações como criação, eliminação sincronização, suspensão de processos. O processo pode ser dividido em três elementos básicos: contexto de hardware, contexto de software e espaço de endereçamento
  10. 10. MODELO DE PROCESSO: CONTEXTO DE HARDWARE “O contexto de hardware constitui-se, basicamente, do conteúdo de registradores: program counter (PC), stack pointer (SP) e bits de estado. Quando um processo está em execução, o seu contexto de hardware está armazenado nos registradores do processador. No momento em que o processo perde a utilização da UCP, o sistema salva suas informações no seu contexto de hardware” Machado, Francis Berenger e Maia, Luiz Paulo pag.66
  11. 11. MODELO DE PROCESSO: CONTEXTO DE HARDWARE O contexto de hardware é fundamental, implementa o time-sharing (sistema de tempo compartilhado) onde os processos se revezam no uso do processador, podendo sofrer interrupções. A troca de um processo por outro na UCP é denominada context switching (mudança de contexto).
  12. 12. MODELO DE PROCESSO: CONTEXTO DE HARDWARE Essa mudança de contexto consiste em salvar o conteúdo dos registradores da UCP e carrega-los com os valores referentes ao do processo que esteja ganhando a utilização do processador. Essa operação resume-se em substituir o contexto de hardware de um processo pelo outro
  13. 13. MODELO DE PROCESSO: CONTEXTO DE HARDWARE
  14. 14. MODELO DE PROCESSO: CONTEXTO DE SOFTWARE “Contexto de software especifica características do processo que vão influir na execução de um programa...” Machado, Francis Berenger e Maia, Luiz Paulo pag.66 Contexto de software define três grupos de informações sobre um processo: Identificação, quotas e privilégios.
  15. 15. MODELO DE PROCESSO: CONTEXTO DE SOFTWARE Identificação: Os processos criados pelo sistemas recebem um identificação única, PID( Process Identification) que é representada por um número. Observação: Alguns sistemas identificam o processo por um nome, além do PID.
  16. 16. MODELO DE PROCESSO: CONTEXTO DE SOFTWARE Identificação: É através do PID, que o sistema operacional e outros processos podem fazer referência a um determinado processo e também podendo alterar uma de suas características.
  17. 17. MODELO DE PROCESSO: CONTEXTO DE SOFTWARE Identificação: Owner, é o nome dado a identificação gerada pelo usuário ou um processo UID (user identification), cada usuário possui uma identificação única atribuída ao processo no momento de sua criação. A UID é usada como modelo de segurança, onde apenas objetos que possuem a mesma UID do usuário podem ser acessados.
  18. 18. MODELO DE PROCESSO: CONTEXTO DE SOFTWARE Quotas: São os limites de cada recurso do sistema que um processo pode alocar. Quanto uma quota é insuficiente, o processo será executado lentamente ou não será executado.
  19. 19. MODELO DE PROCESSO: CONTEXTO DE SOFTWARE Quotas: Alguns exemplos de quotas • Número máximo de arquivos abertos simultaneamente; • Tamanho máximo de memória que o processo pode alocar; • Número máximo de operações de E/S pendentes; • Tamanho máximo do buffer de operações de E/S; • Número máximo de processos e sub-processos que podem ser criados.
  20. 20. MODELO DE PROCESSO: CONTEXTO DE SOFTWARE Privilégios: Define o que o processo pode ou não fazer em relação ao sistema e aos outros processos. “... Existem privilégios associados à segurança que permitem a um usuário eliminar processos de outros usuários e ter acesso a arquivos que não lhe pertencem.”Machado, Francis Berenger e Maia, Luiz Paulo pag.68
  21. 21. MODELO DE PROCESSO: ESPAÇO DE ENDEREÇAMENTO É a área da memória do processo onde o programa será executado. Cada processo possui seu próprio espaço de endereçamento.
  22. 22. ESTADOS DOS PROCESSOS Um processo não é executado todo o tempo pelo processador. Ele transita por uma série de estados, sendo três mais básicos: • Execução (running) • Pronto (ready) • Espera (wait)
  23. 23. ESTADOS DOS PROCESSOS Execução: Um processo é dito no estado de execução quando está sendo processado pela UCP. Os processos revezam a utilização do processador seguindo uma politica estabelecida pelo sistema operacional.
  24. 24. ESTADOS DOS PROCESSOS Pronto: Quando aguarda para ser executado, ou seja espera a UCP executar. O sistema operacional é responsável por determinar a ordem dos processos em estado de pronto para ganhar a UCP. “... Normalmente existem vários processos no sistema no esta de pronto.”Machado, Francis Berenger e Maia, Luiz Paulo pag.69
  25. 25. ESTADOS DOS PROCESSOS Espera: Quando aguarda um evento externo ou algum recurso para poder prosseguir seu processamento. Em alguns sistemas esse estado pode assumir uma subdivisão em função ao tipo de evento que processo aguarda. Quando o recurso não se encontra disponível é dito que o processo esta em estado de bloqueado (blocked).
  26. 26. ESTADOS DOS PROCESSOS “O sistema operacional gerencia os processos através de lista encadeadas, onde cada PCB tem um ponteiro para seu sucessor. Como podem existir vários processos nos estados de pronto ou de espera, o sistema implementa listas, onde os processos aguardam seu processamento... Ou esperam por algum evento....” Machado, Francis Berenger e Maia, Luiz Paulo pag.69
  27. 27. MUDANÇAS DE ESTADO DO PROCESSO Um processo muda de estado varias vezes em função de eventos originados por ele próprio ou pelo sistema operacional.
  28. 28. MUDANÇAS DE ESTADO DO PROCESSO Pronto para execução Quando um processo é criado o sistema o coloca em uma lista de processos no “estado pronto” aguardando para ser executado. Cada sistema operacional tem seus critérios e algoritmos para escolha da ordem de execução dos processos.
  29. 29. MUDANÇAS DE ESTADO DO PROCESSO Execução para espera Passa-se para o estado de espera por eventos gerados pelo próprio processo.
  30. 30. MUDANÇAS DE ESTADO DO PROCESSO Espera para pronto Passa-se para o estado de pronto quando a operação solicitada é atendida ou o recurso é concedido. Um processo no estado de espera sempre terá de passar pelo estado de pronto antes de poder ser novamente selecionado para execução.
  31. 31. MUDANÇAS DE ESTADO DO PROCESSO Execução para pronto Passa-se para o estado de pronto por eventos gerados pelo sistema.
  32. 32. MUDANÇAS DE ESTADO DO PROCESSO
  33. 33. SUBPROCESSO E THREAD “Um processo pode criar outros processo de maneira hierárquica. Quando um processo (processo pai) cria um outro, chamamos o processo criado de subprocesso ou processo filho.” Machado, Francis Berenger e Maia, Luiz Paulo pag.71
  34. 34. SUBPROCESSO E THREAD Usar subprocessos permite dividir uma aplicação em partes que podem trabalhar de forma concorrente. O uso de subprocessos no desenvolvimento de aplicações concorrentes demanda consumo de diversos recursos do sistema. Na tentativa de diminuir o tempo gasto na criação/eliminação de processos, bem como economizar recursos do sistema como um todo, foi introduzido o conceito de thread
  35. 35. SUBPROCESSO E THREAD Em ambientes com múltiplos threads (multithread), não é necessário haver vários processos para se implementar aplicações concorrentes. Cada processo pode responder a várias solicitações concorrentemente ou mesmo simultaneamente, se houver mais de um processador.
  36. 36. SUBPROCESSO E THREAD A diferença entre subprocessos e threads é em relação ao espaço de endereçamento. Enquanto processos possuem, cada um, espaços independentes e protegidos as threads compartilham o mesmo espaço de endereçamento do processo, sem nenhuma proteção, permitindo assim que um thread possa alterar dados de outro thread. Threads são desenvolvidas para trabalhar de forma cooperativa.
  37. 37. PROCESSOS DO SISTEMA “O conceito de processo, além de estar associado a aplicações de usuário, pode também ser implementado na própria estrutura do sistema operacional.” Machado, Francis Berenger e Maia, Luiz Paulo pag.73
  38. 38. PROCESSOS DO SISTEMA “Quando se usa processos para a implementação de funções do sistema, estamos retirando código do seu núcleo, tornando-o menos e mais estável.” Machado, Francis Berenger e Maia, Luiz Paulo pag.73
  39. 39. PROCESSOS DO SISTEMA Algumas funções do sistema operacional implementadas através de processos • Auditoria e segurança • Serviço de rede • Contabilização de recursos • Contabilização de erros • Gerencia de impressão • Gerencia de jobs batch • Temporização • Comunicação de eventos • Interface de comandos (shell)
  40. 40. TIPOS DE PROCESSOS • CPU- bound quando o processo passa a maior parte do tempo no estado de execução • I/O-bound Quando passa a maior parte do tempo em estado de espera, pois realiza um elevado número de operações de entrada e saída.
  41. 41. QUESTÕES 1. Defina conceito de processo. 2. A partir do bloco de controle de processo, quais informações o sistema operacional mantem sobre o processo? 3. Em contexto de hardware como é chamado a troca de um processo por outro na UCP? 4. Em contexto de software, qual os três grupos de informação de um processo? 5. Defina PID (contexto de software). 6. O que é espaço de endereçamento? 7. Quais os três estados de um processo?
  42. 42. REFERÊNCIAS MACHADO, Francis Berenger e MAIA, Luiz Paulo. Arquitetura de Sistemas Operacionais. Rio de Janeiro, RJ. Editora LTC, 1994.

×