1 / 30

Sistemas Operacionais

Sistemas Operacionais. Prof. Edivaldo Serafim Curso: Tecnólogo em Análise e Desenvolvimento de Sistemas - 2013 IFSP – Campus Capivari. Processos. 20/08/2013. Tópicos abordados. Estrutura do processo Contexto de hardware; Contexto de software; Espaço de endereçamento;

Download Presentation

Sistemas Operacionais

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Sistemas Operacionais Prof. Edivaldo Serafim Curso: Tecnólogo em Análise e Desenvolvimento de Sistemas - 2013 IFSP – Campus Capivari

  2. Processos 20/08/2013

  3. Tópicos abordados • Estrutura do processo • Contexto de hardware; • Contexto de software; • Espaço de endereçamento; • Bloco de controle de processo; • Estado de processos; • Processos independentes, subprocessos e threads; • Processos do SO; • Sinais. Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 2013

  4. Introdução • A Gerência de um ambiente multiprogramável é de responsabilidade do SO; • Programas em execução são processos carregados na memória que concorrem para o uso da CPU; • O conceito de processo é a base para implementação de um SO; • A gerencia de processos é uma das principais funções do SO; • Em sistemas com múltiplos processadores, não existe apenas a gerencia de processos, mas sim a possibilidade de execução paralela de processos diferentes. Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 2013

  5. Relembrando... • Relembrando a estrutura da CPU: • PC; • IR; • MAR; • MBR; • ULA; • O ciclo de instrução compreende basicamente em dois subciclos: • Ciclo de Busca; • Ciclo de Execução. Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 2013

  6. Processo • Um programa é uma sequência de instruções; • Um processo é a execução dessa sequência de instruções; • Para que a troca de contexto ocorra, um processo deve conter várias informações extras, além das instruções; • Um processo portanto possui muito mais do que a sequência de instruções: • Espaço de endereçamento; • Contexto de hardware; • Contexto de software. • O conceito de processos permite que sistemas operacionais implemente a concorrência entre programas. Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 2013

  7. Estrutura do processo • Quando um processo irá iniciar a execução, inicialmente PC é apontado com o endereço de memória da instrução (Ciclo de busca); • Depois de carregado os bits do endereço da instrução a CPU deve decodifica-la; • Uma vez decodificada é executada a instrução e o ciclo recomeça com o incremento ou alteração de PC; • Para o processador, o que ele executa são apenas instruções, independente de qual processo; • É de responsabilidade do SO implementar a concorrência adequada para os processos utilizarem a CPU; • Essa concorrência é crucial em sistemas multiprogramáveis. Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 2013

  8. Estrutura do processo • Um processo é muito mais do que um programa em execução; • Um processo é um conjunto de informações necessárias para que o SO implemente a concorrência adequada; • Nesse conjunto estão todas as informações do estado atual do processo dentro da CPU; • Essas informações são utilizadas pelo SO para escalonar os processos; • Quando um processo dá lugar a outro na CPU ocorre a troca de contexto; • Essa troca é transparente ao usuário parecendo não existir, pois é muito rápida; Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 2013

  9. Estrutura do processo Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 2013

  10. Estrutura do processo • Em vista geral, um processo é formado pro três partes: • Contexto de Hardware: • Todos os registradores utilizados pelo processo: • Contexto de Software: • Todas as instruções do processo; • Espaço de armazenamento: • Todos os endereços de memória que o processo necessita. • Essas partes juntas mantém todas as informações para a execução do processo; Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 2013

  11. Estrutura do processo Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 2013

  12. Contexto de Hardware • Possui todas as informações referente aos registradores da CPU utilizados pelo processo: • PC; • MAR; • MBR; • IR, etc. • Essas informações são utilizadas na troca de contexto, quando um processo deve ser escalonado; • Seu conteúdo é salvo na memória ao dar lugar a outro processo; • O mesmo conteúdo integralmente deve ser carregado nos registradores quando o processo voltar a execução. • Esse procedimento compreende a troca de contexto. Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 2013

  13. Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 2013

  14. Contexto de software • Neste contexto possui as características dos recursos do processo como: • Número máximo de arquivos abertos simultaneamente; • Prioridade de execução; • Tamanho de buffer para I/O, etc. • Muitas dessas características são definidas na criação do processo; • Muitas são alteradas durante a execução do processo; • Essas informações ficam geralmente armazenadas em um arquivo do SO chamado de arquivo de usuários; • Esse arquivo é gerido pelo SO. Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 2013

  15. Contexto de software • O contexto de software é composto por três grupos de informações do processo: • Identificação: • PID – Número do processo atribuído pelo SO na sua criação; • UID – ID do usuário ou processo que criou o processo. • Quotas: • Limites de recursos que o processo pode alocar: • Numero máximo de arquivos abertos, número máximo de endereços de memória, numero máximo de buffer para I/O, etc. • Privilégios: • Define as ações que o processo pode ter sobre ele mesmo, outros processo e sobre o SO. Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 2013

  16. Espaço de endereçamento • Define todas as áreas de memória que o processo pode utilizar; • Cada processo possui sua própria área de endereçamento; • Outros processos não podem utilizar essa mesma área, pois ela é protegida; • Outros processo podem alterar as informações dessa área, desde que de forma autorizada pelo processo dono desta área de endereçamentos. Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 2013

  17. Estrutura do processo Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 2013

  18. Bloco de controle de processo • O bloco de controle de processo ou BCP contém todas as informações referente ao processo; • É através dessas informações que o SO gerencia o escalonamento de processos; • Na BCP estão as informações do contexto de hardware, de software e de espaço de endereçamento; • A BCP reside na memória principal, em endereços reservados e protegidos pelo SO e define quantos processos podem ser executados simultaneamente; • Toda a gerência de processo se dá por meio de chamadas a rotinas de sistema e realizam operações como: • Criação de processo, eliminação, alteração de características, sincronização suspensão, etc. Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 2013

  19. BCP Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 2013

  20. Processos independentes, subprocessos e threads • Processos independentes, subprocessos e threads são maneiras de implementar concorrência dentro da aplicação; • Busca-se dividir o código para melhor cooperação da aplicação. Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 2013

  21. Processos independentes, subprocessos e threads • Processos independentes: • É um processo normal, com BPC própria e completo desvinculo com o processo criador; • Subprocesso: • Existe uma estrutura hierárquica e o processo criador é chamado de processo pai e o processo criado é o processo filho ou subprocesso; • O subprocesso pode criar outros subprocessos abaixo na hierarquia; • Quando um processo pai é eliminado, todos os subprocessos abaixo dele são também extintos; • Subprocessos possuem também sua própria BCP Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 2013

  22. Processos independentes, subprocessos e threads • Subprocesso: • O processo pai compartilha suas quotas com os seus subordinados; • Tanto para criação de processo quanto para criação de subprocessos o sistema consome CPU e recursos computacionais; • Ocorre perda de tempo para a eliminação e “desalocação” de recursos; • Outro problema é a comunicação e sincronização entre processos que é de forma custosa e pouco eficiente devido aos espaços de endereçamento independentes. Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 2013

  23. Processos independentes, subprocessos e threads • Estrutura de Subprocesso: Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 2013

  24. Processos independentes, subprocessos e threads • Threads: • Surgiu na tentativa de melhorar o tempo gasto na criação, eliminação e sincronização de processos; • Um processo pode abrigar múltiplos threads, onde cada uma pode possuir partes do código; • Threads compartilham o processador da mesma maneira que os processos; • Cada thread possui seu próprio contexto de hardware, mas compartilham o contexto de software e espaço de endereçamento do processo; • Compartilhar o espaço de endereçamento do processo permite comunicação de threads mais eficiente. Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 2013

  25. Processos independentes, subprocessos e threads • Processo mutithread: Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 2013

  26. Processos do SO • Processos também podem estar associados com o SO, e não somente com aplicações; • SOs que implementam muitos processos são os que possuem microkernel; • Isso permite um núcleo menor e processos que não serão utilizados podem deixar de existir momentaneamente; • Exemplos de processos de SO: • Auditoria e segurança; • Serviços de rede; • Contabilização; • Contabilização de erros; • Gerência de impressão; • Temporização; • Interface de comandos, etc. Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 2013

  27. Sinais • Sinais são mecanismos utilizados pelo SO para notificar os processos sobre algo; • Seu uso é fundamental para a gerência de processos; • Possibilita a comunicação e sincronização de processos; • Podem ser utilizado junto com temporizadores; • Podem ser gerados por exceções, interrupções, por outros processos, pelo SO ou pelo Hardware; • O SO notifica o processo através de bits de sinalização contidos na BCP; • O sinal está para o processo assim como a interrupção e exceção estão para o processador; Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 2013

  28. Sinais Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 2013

  29. Sinais Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 2013

  30. Estado de processos • Fazer na atividade PG 72 • Estado de processos; • Mudança de estado de processos; • Criação e eliminação de processos; • Processos CPU bound e I/O bound • Processos foreground e background; • Formas de criação de processos; Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 2013

More Related