ger ncia de processos
play

Gerncia de processos Requisitos fundamentais Implementar um modelo - PowerPoint PPT Presentation

Gerncia de processos Requisitos fundamentais Implementar um modelo de processo. Implementar facilidades para criao e destruio de processos por usurios Alocar recursos a processos Intercalar a execuo de um nmero


  1. Gerência de processos  Requisitos fundamentais – Implementar um modelo de processo. – Implementar facilidades para criação e destruição de processos por usuários – Alocar recursos a processos – Intercalar a execução de um número de processos para maximizar a utilização do processador, mantendo um tempo de resposta razoável

  2. Gerência de processos  Processo :programa em execução  Formado por: – Instruções – Recursos (ex: memória, arquivos abertos) – Informação de controle interna ao sistema operacional  O arquivo de programa contém informações necessárias para sua execução

  3. Gerência de processos  Processo não é o mesmo que programa !  Programa é como uma receita, com instruções para se resolver um problema  Processo é como alguém seguindo a receita  Processo precisa de recursos computacionais para trabalhar: memória, arquivos, tempo de processador, ...  Programa não trabalha: fica passivamente guardado em um arquivo

  4. Gerência de processos  Exemplo de execução a partir de um arquivo de programa

  5. Gerência de processos SO pode ser monoprogramado: apenas um processo executa por vez (começo ao fim):

  6. Gerência de processos . .. ou multiprogramado (mais de um processo pode executar ao mesmo tempo):

  7. Gerência de processos Por que existe multiprogramação ?  Processos alternam entre uso do processador ou espera por E/S:

  8. Gerência de processos Por que existe multiprogramação ?  Processos podem ser classificados quanto ao uso do processador: – Processos I/O bound  Passam mais tempo em estado de espera que usando de fato o processador – Processos CPU bound  Passam a maior parte do tempo usando de fato o processador

  9. Gerência de processos Por que existe multiprogramação ? Um histograma dos tempos de execução

  10. Gerência de processos Por que existe multiprogramação ?  Um processo típico passa mais tempo em espera que processando  Pode-se aproveitar os tempos de espera para executar outros processos  Assim se aproveita melhor o tempo de processador disponível !

  11. Gerência de processos  Multiprogramação – Capacidade do sistema operacional de manter vários processos ativos ao mesmo tempo – Timesharing : ilusão de que os processos executam ao mesmo tempo

  12. Gerência de processos  Multiprogramação no Linux – Listagem dos processos que mais usam processador

  13. Gerência de processos Processos usam recursos do computador

  14. Gerência de processos Como o SO controla os processos existentes ? – SO precisa decidir que processo deve usar o processador – Somente processos aptos a executar podem usar o processador – Processo apto : q ue não está esperando por E/S

  15. Gerência de processos Modelo de cinco estados Dispatch Termina Entra Novo Apto Rodando Terminado Time-out Espera Evento por evento Ocorre Esperando

  16. Gerência de processos Diagrama de fila Libera Despacha Admissão Processor Fila de aptos Tempo excedido ( timeout ) Fila de espera Espera um evento Evento ocorre

  17. Gerência de processos Escalonamento – Determinação da ordem em que processos alocam o processador – SO usa algum critério para escolher um processo apto para rodar – SO pode também tirar o processador de um processo que estiver rodando

  18. Gerência de processos Escalonamento  Escalonamento não-preemptivo – Processo só perde o processador se terminar ou entrar em estado de espera  Escalonamento preemptivo – Sistema operacional pode retomar o processador mesmo contra a vontade do processo

  19. Gerência de processos  Critérios para um bom escalonamento – Eficiência : ocupação do processador – Justiça : todos os processos têm chance de executar em um ciclo de escalonamento – Tempo de resposta : tempo entre a ocorrência de um evento e a reativação do processo que o aguarda ( IMPORTANTE !) – Throughput : número de processos concluídos por unidade de tempo

  20. Gerência de processos Escalonamentos não-preemptivos  FIFO ( First In First Out ) ou FCFS ( First Come First Served ) – Primeiro que entra é o primeiro que sai da fila – Ex: Processos P1, P2 e P3 têm tempo de CPU de 24, 3 e 3 unidades de tempo respectivamente, e chegam nesta ordem.

  21. Gerência de processos Escalonamentos não-preemptivos  FIFO (cont.) N T = 1 N ∑ – Tempo de execução médio:  N − i  1 ⋅ T i i = 1 – Minimização desse tempo: T i < T i+1 – FIFO é muito simples, mas não atende os requisitos de bom escalonamento (por que ?)

  22. Gerência de processos Escalonamentos preemptivos  RR ( Round Robin ) – Cada processo usa a CPU por até 1 quantum de tempo por ciclo – Fila de aptos segue FIFO

  23. Gerência de processos Escalonamentos preemptivos  RR (cont.) – quantum deve ser maior ou igual ao tempo de interação médio (tempo de CPU médio)

  24. Gerência de processos Escalonamentos preemptivos  RR (cont.) – Se quantum for muito curto, aumenta-se o tempo de execução total:

  25. Gerência de processos Escalonamentos preemptivos RR (cont.)  Casos limites: – q -> 0 : Cada um dos N processos enxerga um processador com 1/N de sua capacidade  Na verdade, overhead do chaveamento de contexto domina o processamento – q -> oo : Escalonamento degenera para FIFO

  26. Gerência de processos Escalonamentos preemptivos Com prioridades – Cada processo possui uma prioridade (um número inteiro) – A fila de aptos é ordenada de acordo com as prioridades

  27. Gerência de processos Escalonamentos preemptivos  Com prioridades (cont.) – Considerado o mais genérico – Qualquer outro algoritmo pode ser implementado usando prioridades  RR e FIFO : todos processos com igual prioridade – Prioridades podemvariar com o tempo  Podem se adaptar ao comportamento dos processos

  28. Gerência de processos Escalonamentos preemptivos  Com prioridades (cont.) – Prioridades dinâmicas: o que aconteceria se o histórico de uso do processador fosse usado como prioridade ?  Ex: prioridade = tempo de uso / tempo total – Que tipo de processo seria priorizado com prioridades assim ? – Que critérios de bom escalonamento seriam respeitados com isto ? E quais não seriam ?

  29. Gerência de processos Escalonamentos preemptivos  Com prioridades (cont.) – Muitos SO usam prioridades dinâmicas, dando maior prioridade para processos I/O bound – Ex: Linux, Windows Xp/Vista, Sun Solaris, MacOS X, ... – Com isto, priorizam processos interativos – Porém, o que dizer de processos que processam streams multimedia ?  Ex: MP3 player, Video player, ...

  30. Gerência de processos Operações sobre processos (Linux)  Descrição de processos – Processos possuem um ID único (PID) – Possuem um usuário dono (UID) e um usuário efetivo (EUID), assim como grupo dono (GID) e grupo efetivo (EGID) – Prioridade base ( nice ) pode ser alterada – Toda a memória e objetos de sua posse estão protegidos de outros processos

  31. Gerência de processos Operações sobre processos (Linux)  Proceso Linux na memória

  32. Gerência de processos Operações sobre processos (Linux)  Listagem de processos com comando ps

  33. Gerência de processos Operações sobre processos (Linux)  Criação de processos: – Um novo processo é idêntico ao processo que o criou – Processo filho compartilha código executável com o processo pai – Filho possui mesmos atributos que processo pai (ex: UID, GID, prioridade,...) – Toda a memória do pai é copiada para o filho – Processo filho começa a executar do ponto exato dentro da chamada fork em que houve a duplicação

  34. Gerência de processos Operações sobre processos (Linux)  Processos no Linux foram uma hierarquia:

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend