Apostila 5 processos e threads

1,188 views

Published on

processos e threads em sistemas operacionais

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,188
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
61
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Apostila 5 processos e threads

  1. 1. Processos e threads 1 Arquitetura de Sistemas Operacionais Gerenciamento de Processos Introdução
  2. 2. Processos e threads 2 Sumário • Introdução • Tipos de Processos • Classificação de processos • Bloco de controle de processo • Controle sobre os processos • Estados do processo • Troca de estado do processo • Escalonamento • Tipos de escalonamento
  3. 3. Processos e threads 3 O processador é projetado apenas para executar instruções, não sendo capaz de distinguir qual programa se encontra em execução. UCP Unidade De Controle Analisador de instruções Registradores Unidade Lógica E Aritmética Memória Principal Entrada Saída instrução Executa a instrução Modelo de Arquitetura da Máquina de von Neumann Introdução
  4. 4. Processos e threads 4 Usuário • Neste tipo de sistema cada usuário é associado a um processo e, ele tem a impressão de possuir o processador e todos os demais recursos reservados exclusivamente para seu uso quando está executando um programa.
  5. 5. Processos e threads 5 O que é um Processo? • Elemento ativo do sistema • Um programa em execução o qual é constituído por uma seqüência de instruções, um conjunto de dados e um registro descritor.
  6. 6. Processos e threads 6 Processo Um processo é definido como o ambiente onde o programa é executado. Este ambiente, além das informações sobre a execução, possui também o quanto de recursos do sistema cada programa pode utilizar. Recursos : • Espaço de endereçamento • Tempo do processador • Área em disco Na maioria das vezes processo é definido como “um programa em execução”
  7. 7. Processos e threads 7 Programa É uma seqüência de instruções. É algo passivo dentro do sistema. Ele não altera o seu próprio estado. Processo É um elemento ativo. O processo altera seu estado, à medida que executa um programa. É o processo que faz chamadas de sistema, ao executar os programas.
  8. 8. Processos e threads 8 nome PIDOwner (UID) Prioridade de execução Data/hora de criação Tempo de processador quotas privilégios Registradores gerais Registrador PC Registrador SP Registrador de status Endereços de memória principal alocados Espaço de Endereçamento Programa
  9. 9. Processos e threads 9 Tipos de Processos • Processos de usuário – executam as tarefas programadas pelo usuário • Processos de sistema – executam funções de gerenciamento de recursos e gerenciamento de processos do usuário.
  10. 10. Processos e threads 10 Classificação de Processos • Processos Independentes – sua execução não afete e não seja afetada pela execução de um outro processo • Processos Cooperantes – interage (troca informações) com outros processos presentes no sistema
  11. 11. Processos e threads 11 Bloco de Controle de Processo • É uma estrutura de dados que representa e contém informações associadas com o processo – 1. Nome do processo. – 2.Estado do processador (contador de programa, conteúdo dos registradores, máscaras de interrupções etc.). – 3. Estado do processo. – 4. Prioridade relativa para a aquisição de recursos. – 5. Endereço da memória virtual. – 6. Informação sobre recursos. – 7. Contadores (tempo de cpu, quantidade de memória, volume de I/O etc.).
  12. 12. Processos e threads 12 Nome do Processo Estado do Processo Ponteiros Lista de Arquivos abertos Limites da memória Registradores
  13. 13. Processos e threads 13 Controle sobre os Processos • Para que o sistema operacional mantenha o controle sobre os diferentes processos e os diferentes estados em que cada processo pode estar, o sistema utiliza estruturas de listas encadeadas. Lista de Prontos Lista de Espera : : : : : : : : :........... . BCP# 5 BCP# 1 BCP# 3 : : : : : : : : :........... . BCP# 2 BCP# 4 BCP# 6
  14. 14. Processos e threads 14 Estados do Processo • Execução (Running): Um processo está no estado de execução quando ele está sendo executado pelo processador. • Pronto (Ready): O processo encontra-se pronto para a execução. • Bloqueado(Wait): Um processo está no estado bloqueado quando aguarda a ocorrência de algum evento externo para poder prosseguir. • Indefinido: Um processo estará neste estado antes de ser criado ou depois de ser destruído.
  15. 15. Processos e threads 15 Troca de Estado do Processo Bloqueado Execução Pronto Indefinido
  16. 16. Processos e threads 16 Escalonamento • Escalonamento, ou scheduling é o procedimento pelo qual o SO estabelece a ordem na escolha dos processos para a execução, dentre os vários que concorrem pela utilização do processador • Existem 3 tipos de escalonadores: – Escalonador de longo prazo – Escalonador de curto prazo – Escalonador de médio prazo
  17. 17. Processos e threads 17 Tipos de Escalonador • Escalonador de Longo Prazo – Seleciona os processos do disco para o processamento na memória – Controla o grau de multiprogramação – Possui uma execução menos freqüente • Escalonador de Curto Prazo – Seleciona os processos da memória (fila dos prontos) para a CPU – Possui uma execução mais freqüente – Deverá ser bastante rápido para não correr o risco de se tornar o processo que mais consome tempo de CPU
  18. 18. Processos e threads 18 Tipos de Escalonador Fila de Prontos Fila de Espera HD FimCurto-prazoLongo-prazo CPU I/O
  19. 19. Processos e threads 19 Tipos de Escalonador • Escalonador de médio-prazo Fila de Prontos Fila de Prontos HD Fim Swap outSwap in CPU I/O Processos parcialmente executados disco
  20. 20. Processos e threads 20 Escalonamento de processos • Quando um ou mais processos estão prontos para serem executados, o sistema operacional de decidir qual deles vai ser executado primeiro. • A parte do sistema operacional responsável por essa decisão é chamado de escalonador, e o algoritmo usado para tal é chamado de algoritmo de escalonamento.
  21. 21. Processos e threads 21 Critérios de escalonamento 1. Justiça: fazer com que cada processo ganhe seu tempo justo de CPU; 2. Eficiência: manter a CPU ocupada 100% do tempo (se houver demanda) 3. Tempo de resposta: minimizar o tempo de resposta para os usuários interativos; 4. Tempo de Turnaround: minimizar o tempo que o usuário batch devem esperar pelo resultado 5. Throughput: maximizar o número de jobs processados por unidade de tempo.
  22. 22. Processos e threads 22 Tipos de Escalonamento • Escalonamento Não-Preemptivo – O processador, uma vez alocado a um processo, só será liberado quando o processo concluir a sua execução ou tiver a sua execução bloqueada devido à espera pela execução de uma operação de entrada/saída. • Escalonamento Preemptivo – Os algoritmos de escalonamento ditos preemptivos apresentam como principal característica o fato da execução de um dado processo poder ser interrompida mesmo que o processo não tenha concluído ou tenha sido bloqueado.
  23. 23. Processos e threads 23 Tipos de Escalonamento • Escalonamento Não-Preemptivo – O processador, uma vez alocado a um processo, só será liberado quando o processo concluir a sua execução ou tiver a sua execução bloqueada devido à espera pela execução de uma operação de entrada/saída. • Escalonamento Preemptivo – Os algoritmos de escalonamento ditos preemptivos apresentam como principal característica o fato da execução de um dado processo poder ser interrompida mesmo que o processo não tenha concluído ou tenha sido bloqueado.
  24. 24. Processos e threads 24 Colaborações? Críticas?? Dúvidas??? Sugestões???? Xingamentos?????

×