SlideShare uma empresa Scribd logo
1 de 24
Processos e threads 1
Arquitetura de Sistemas
Operacionais
Gerenciamento de Processos
Introdução
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
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
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.
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.
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”
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.
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
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.
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
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.).
Processos e threads 12
Nome do Processo
Estado do Processo
Ponteiros
Lista de Arquivos abertos
Limites da memória
Registradores
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
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.
Processos e threads 15
Troca de Estado do Processo
Bloqueado
Execução
Pronto
Indefinido
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
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
Processos e threads 18
Tipos de Escalonador
Fila de Prontos
Fila de Espera
HD
FimCurto-prazoLongo-prazo
CPU
I/O
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
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.
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.
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.
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.
Processos e threads 24
Colaborações?
Críticas??
Dúvidas???
Sugestões????
Xingamentos?????

Mais conteúdo relacionado

Mais procurados

Gerenciamento de memória cap 03 (ii unidade)
Gerenciamento de memória cap 03 (ii unidade)Gerenciamento de memória cap 03 (ii unidade)
Gerenciamento de memória cap 03 (ii unidade)
Faculdade Mater Christi
 

Mais procurados (20)

Arquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsArquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e Threads
 
Gerências de Processos: Threads
Gerências de Processos: ThreadsGerências de Processos: Threads
Gerências de Processos: Threads
 
Aula 12 - Escalonamento
Aula 12 - EscalonamentoAula 12 - Escalonamento
Aula 12 - Escalonamento
 
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas Operacionais
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas OperacionaisSistemas Operacionais - Aula 2 - Visão Geral de Sistemas Operacionais
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas Operacionais
 
Programação Concorrente - Introdução
Programação Concorrente - IntroduçãoProgramação Concorrente - Introdução
Programação Concorrente - Introdução
 
SO-04 Escalonamento de Processos
SO-04 Escalonamento de ProcessosSO-04 Escalonamento de Processos
SO-04 Escalonamento de Processos
 
Sistemas Operacionais - Aula 06 (Estrutura do S.O)
Sistemas Operacionais - Aula 06 (Estrutura do S.O)Sistemas Operacionais - Aula 06 (Estrutura do S.O)
Sistemas Operacionais - Aula 06 (Estrutura do S.O)
 
Gerência de processos
Gerência de processosGerência de processos
Gerência de processos
 
Sistemas Operacionais - Aula 8 - Sincronização e Comunicação entre Processos
Sistemas Operacionais - Aula 8 - Sincronização e Comunicação entre ProcessosSistemas Operacionais - Aula 8 - Sincronização e Comunicação entre Processos
Sistemas Operacionais - Aula 8 - Sincronização e Comunicação entre Processos
 
Gerenciamento de memória cap 03 (ii unidade)
Gerenciamento de memória cap 03 (ii unidade)Gerenciamento de memória cap 03 (ii unidade)
Gerenciamento de memória cap 03 (ii unidade)
 
Sistemas Operacionais - Aula 9 (Gerencia do Processador)
Sistemas Operacionais - Aula 9 (Gerencia do Processador)Sistemas Operacionais - Aula 9 (Gerencia do Processador)
Sistemas Operacionais - Aula 9 (Gerencia do Processador)
 
Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)
Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)
Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)
 
Sistemas Operacionais Processos e Threads - Wellington Pinto de Oliveira
Sistemas Operacionais Processos e Threads - Wellington Pinto de OliveiraSistemas Operacionais Processos e Threads - Wellington Pinto de Oliveira
Sistemas Operacionais Processos e Threads - Wellington Pinto de Oliveira
 
Sistemas De Arquivos Distribuídos (SAD)
Sistemas De Arquivos Distribuídos (SAD)Sistemas De Arquivos Distribuídos (SAD)
Sistemas De Arquivos Distribuídos (SAD)
 
Aula04 Sistemas Distribuídos - Processos
Aula04 Sistemas Distribuídos - ProcessosAula04 Sistemas Distribuídos - Processos
Aula04 Sistemas Distribuídos - Processos
 
Sistemas Operacionais - Aula 07 (Thread e Processos)
Sistemas Operacionais - Aula 07 (Thread e Processos)Sistemas Operacionais - Aula 07 (Thread e Processos)
Sistemas Operacionais - Aula 07 (Thread e Processos)
 
Capítulo 6 Sistemas Operacionais Modernos
Capítulo 6 Sistemas Operacionais ModernosCapítulo 6 Sistemas Operacionais Modernos
Capítulo 6 Sistemas Operacionais Modernos
 
Sistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 DeadlockSistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 Deadlock
 
Visão geral do sistema operacional
Visão geral do sistema operacionalVisão geral do sistema operacional
Visão geral do sistema operacional
 
Tema3 procesos
Tema3 procesos Tema3 procesos
Tema3 procesos
 

Destaque (20)

THREADS EM JAVA: INTRODUÇÃO
THREADS EM JAVA: INTRODUÇÃOTHREADS EM JAVA: INTRODUÇÃO
THREADS EM JAVA: INTRODUÇÃO
 
Arquitetura 9
Arquitetura 9Arquitetura 9
Arquitetura 9
 
Arquitetura 8 2
Arquitetura 8 2Arquitetura 8 2
Arquitetura 8 2
 
Arquitetura 7
Arquitetura 7Arquitetura 7
Arquitetura 7
 
Arquitetura 4
Arquitetura 4Arquitetura 4
Arquitetura 4
 
Arquitetura 8 1 - 2012.2
Arquitetura 8   1 - 2012.2Arquitetura 8   1 - 2012.2
Arquitetura 8 1 - 2012.2
 
Arquitetura 8 1
Arquitetura 8 1Arquitetura 8 1
Arquitetura 8 1
 
Arquitetura 8 1
Arquitetura 8 1Arquitetura 8 1
Arquitetura 8 1
 
Apostila 9 virtualização - nova
Apostila 9   virtualização - novaApostila 9   virtualização - nova
Apostila 9 virtualização - nova
 
Arquitetura 8 2
Arquitetura 8 2Arquitetura 8 2
Arquitetura 8 2
 
Arquitetura 8 1 - 2012.2
Arquitetura 8   1 - 2012.2Arquitetura 8   1 - 2012.2
Arquitetura 8 1 - 2012.2
 
Arquitetura 8
Arquitetura 8Arquitetura 8
Arquitetura 8
 
Arquitetura 10
Arquitetura 10Arquitetura 10
Arquitetura 10
 
Arquitetura 6 1
Arquitetura 6   1Arquitetura 6   1
Arquitetura 6 1
 
Arquitetura 8 3
Arquitetura 8 3Arquitetura 8 3
Arquitetura 8 3
 
Arquitetura 6 exercícios
Arquitetura 6   exercíciosArquitetura 6   exercícios
Arquitetura 6 exercícios
 
Arquitetura 3
Arquitetura 3Arquitetura 3
Arquitetura 3
 
Arquitetura 6
Arquitetura 6Arquitetura 6
Arquitetura 6
 
Arquitetura digital works
Arquitetura   digital worksArquitetura   digital works
Arquitetura digital works
 
Arquitetura 5
Arquitetura 5Arquitetura 5
Arquitetura 5
 

Semelhante a Apostila 5 processos e threads

2 organização do sistema operativo - sistemas operativos
2   organização do sistema operativo - sistemas operativos2   organização do sistema operativo - sistemas operativos
2 organização do sistema operativo - sistemas operativos
Maria194536
 
Fso parte iii
Fso parte iiiFso parte iii
Fso parte iii
paulocsm
 
Seminário 1º Tema parte III - Estados de processos e escalonamento de processos
Seminário 1º Tema parte III - Estados de processos e escalonamento de processosSeminário 1º Tema parte III - Estados de processos e escalonamento de processos
Seminário 1º Tema parte III - Estados de processos e escalonamento de processos
Robson Ferreira
 
12/03/2010 - Sistemas Operacionais Aula3
12/03/2010 - Sistemas Operacionais Aula312/03/2010 - Sistemas Operacionais Aula3
12/03/2010 - Sistemas Operacionais Aula3
Universal.org.mx
 

Semelhante a Apostila 5 processos e threads (20)

2 organização do sistema operativo - sistemas operativos
2   organização do sistema operativo - sistemas operativos2   organização do sistema operativo - sistemas operativos
2 organização do sistema operativo - sistemas operativos
 
Fso parte iii
Fso parte iiiFso parte iii
Fso parte iii
 
SO02 - Sistemas-Operacionais - Gerencia de Processos.pdf
SO02 - Sistemas-Operacionais - Gerencia de Processos.pdfSO02 - Sistemas-Operacionais - Gerencia de Processos.pdf
SO02 - Sistemas-Operacionais - Gerencia de Processos.pdf
 
2. conceito de processos
2. conceito de processos2. conceito de processos
2. conceito de processos
 
Sistemas operacionais 03
Sistemas operacionais   03Sistemas operacionais   03
Sistemas operacionais 03
 
Lecture 4-Processos e Threads pt mz.pptx
Lecture 4-Processos e Threads pt mz.pptxLecture 4-Processos e Threads pt mz.pptx
Lecture 4-Processos e Threads pt mz.pptx
 
Apostila 3 concorrência
Apostila 3   concorrênciaApostila 3   concorrência
Apostila 3 concorrência
 
Seminário 1º Tema parte III - Estados de processos e escalonamento de processos
Seminário 1º Tema parte III - Estados de processos e escalonamento de processosSeminário 1º Tema parte III - Estados de processos e escalonamento de processos
Seminário 1º Tema parte III - Estados de processos e escalonamento de processos
 
Escalonador Earliest Deadline First - TDC2014SP
Escalonador Earliest Deadline First - TDC2014SPEscalonador Earliest Deadline First - TDC2014SP
Escalonador Earliest Deadline First - TDC2014SP
 
02 so
02 so02 so
02 so
 
Gerencia de processo by "slideplayer.com.br"
Gerencia de processo by "slideplayer.com.br"Gerencia de processo by "slideplayer.com.br"
Gerencia de processo by "slideplayer.com.br"
 
ProcessosEscalonamento.pdf
ProcessosEscalonamento.pdfProcessosEscalonamento.pdf
ProcessosEscalonamento.pdf
 
Processos
ProcessosProcessos
Processos
 
Hierarquia dos Processadores da Intel.pptx
Hierarquia dos Processadores da Intel.pptxHierarquia dos Processadores da Intel.pptx
Hierarquia dos Processadores da Intel.pptx
 
12/03/2010 - Sistemas Operacionais Aula3
12/03/2010 - Sistemas Operacionais Aula312/03/2010 - Sistemas Operacionais Aula3
12/03/2010 - Sistemas Operacionais Aula3
 
Categorias de Escalonamento e Objetivos do Algoritmo de Escalonamento
Categorias de Escalonamento e Objetivos do Algoritmo de EscalonamentoCategorias de Escalonamento e Objetivos do Algoritmo de Escalonamento
Categorias de Escalonamento e Objetivos do Algoritmo de Escalonamento
 
Categorias de Escalonamento e Objetivos do Algorítmo Escalonador
Categorias de Escalonamento e Objetivos do Algorítmo EscalonadorCategorias de Escalonamento e Objetivos do Algorítmo Escalonador
Categorias de Escalonamento e Objetivos do Algorítmo Escalonador
 
Apresentação Sobre Sistemas Operacionais com Orbis OS
Apresentação Sobre Sistemas Operacionais com Orbis OSApresentação Sobre Sistemas Operacionais com Orbis OS
Apresentação Sobre Sistemas Operacionais com Orbis OS
 
Categorias de escalonamento e objetivos do algoritmo de escalonamento
Categorias de escalonamento e objetivos do algoritmo de escalonamentoCategorias de escalonamento e objetivos do algoritmo de escalonamento
Categorias de escalonamento e objetivos do algoritmo de escalonamento
 
Sistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e ThreadsSistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e Threads
 

Mais de Paulo Fonseca

Mais de Paulo Fonseca (17)

Apostila 8 sistema de arquivos
Apostila 8   sistema de arquivosApostila 8   sistema de arquivos
Apostila 8 sistema de arquivos
 
Arquitetura 6 1
Arquitetura 6 1Arquitetura 6 1
Arquitetura 6 1
 
Arquitetura 6
Arquitetura 6Arquitetura 6
Arquitetura 6
 
Arquitetura 6 exercícios
Arquitetura 6   exercíciosArquitetura 6   exercícios
Arquitetura 6 exercícios
 
Arquitetura 5
Arquitetura 5Arquitetura 5
Arquitetura 5
 
Arquitetura 4 complemento de 2
Arquitetura 4   complemento de 2Arquitetura 4   complemento de 2
Arquitetura 4 complemento de 2
 
Arquitetura 2
Arquitetura 2Arquitetura 2
Arquitetura 2
 
Apostila 9 virtualização - nova
Apostila 9   virtualização - novaApostila 9   virtualização - nova
Apostila 9 virtualização - nova
 
Apostila 6 gerência de memória
Apostila 6   gerência de memóriaApostila 6   gerência de memória
Apostila 6 gerência de memória
 
Apostila 2 conceitos de hardware e software
Apostila 2   conceitos de hardware e softwareApostila 2   conceitos de hardware e software
Apostila 2 conceitos de hardware e software
 
Cabeamento 5 componentes do cabeamento estruturado
Cabeamento 5   componentes do cabeamento estruturadoCabeamento 5   componentes do cabeamento estruturado
Cabeamento 5 componentes do cabeamento estruturado
 
Cabeamento 3 limitação de sinais nos meios de transmissão
Cabeamento 3   limitação de sinais nos meios de transmissãoCabeamento 3   limitação de sinais nos meios de transmissão
Cabeamento 3 limitação de sinais nos meios de transmissão
 
Cabeamento 2 visão geral do cabeamento estuturado
Cabeamento 2   visão geral do cabeamento estuturadoCabeamento 2   visão geral do cabeamento estuturado
Cabeamento 2 visão geral do cabeamento estuturado
 
Cabeamento 1 introdução - normas - categorias
Cabeamento 1   introdução - normas - categoriasCabeamento 1   introdução - normas - categorias
Cabeamento 1 introdução - normas - categorias
 
Cabeamento 4 meios de transmissão
Cabeamento 4   meios de transmissãoCabeamento 4   meios de transmissão
Cabeamento 4 meios de transmissão
 
Arquitetura 9
Arquitetura 9Arquitetura 9
Arquitetura 9
 
Arquitetura 8 3
Arquitetura 8 3Arquitetura 8 3
Arquitetura 8 3
 

Apostila 5 processos e threads

  • 1. Processos e threads 1 Arquitetura de Sistemas Operacionais Gerenciamento de Processos Introdução
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Processos e threads 12 Nome do Processo Estado do Processo Ponteiros Lista de Arquivos abertos Limites da memória Registradores
  • 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. 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. Processos e threads 15 Troca de Estado do Processo Bloqueado Execução Pronto Indefinido
  • 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. 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. Processos e threads 18 Tipos de Escalonador Fila de Prontos Fila de Espera HD FimCurto-prazoLongo-prazo CPU I/O
  • 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. 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. 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. 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. 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. Processos e threads 24 Colaborações? Críticas?? Dúvidas??? Sugestões???? Xingamentos?????