Академический Документы
Профессиональный Документы
Культура Документы
Processos
Prof. Msc. Marcelo Iury de Sousa Oliveira marceloiury@gmail.com http://sites.google.com/site/marceloiury/
Processos
Processo engloba duas caractersticas:
Representao - a um processo alocado um espao de endereos virtual para representar a prpria imagem (imagem do processo) Execuo - processo um fluxo de execuo ao longo de um ou mais programas intercalvel com outros processos
Conceito de Processos
Um sistema operacional executa uma variedade de programas:
Sistemas Batch jobs, Sistemas TimeShared - programas de usurios e tarefas.
Um processo possui:
Registradores, Pilhas e Filas, Seo de dados, Seo de instrues.
5
Estados do Processo
Um processo pode assumir vrios estados durante o seu ciclo de vida:
novo: o processo est sendo criado. executando: instrues esto sendo executadas. bloqueado: o processo est aguardando algum evento ou resposta de uma operao de I/O. pronto: o processo est aguardando para ser processado pela CPU. encerrado: o processo finalizou suas execues.
6
Pergunta que no quer calar: em um PC comum, temos vrios processos e alguns poucos processadores e recursos de entrada e sada. Como fazemos para esses processos coexistirem? 8
Pergunta que no quer calar: em um PC comum, temos vrios processos e alguns poucos processadores e recursos de entrada e sada. Como fazemos para esses processos coexistirem? 9
10
Escalonador
Parte do sistema operacional que
escolhe quem deve utilizar a CPU
Executando (CPU) Escalonador
processo processo
Bloqueado
processo
Pronto
processo processo
12
Escalonador
Tem que escolher o processo certo Tem que se preocupar em fazer uso eficiente da CPU
Alternar processos muito caro!
Modo usurio modo supervisor Estado atual do processo e seus registradores devem ser salvos O mapa de memria deve ser salvo Um novo processo deve ser escolhido O novo processo precisa ser iniciado Recarregar memria cache
13
15
Escalonadores no-preemptivos
FIFO
H uma fila nica de processos prontos Novos jobs so encaminhados para o fim da fila Quando um processo bloqueia, o prximo da fila selecionado Processos que passaram do estado bloqueado para pronto so colocados no fim da fila
Escalonadores preemptivos
Alternncia circular (Round-Robin)
H uma lista circular de processos prontos Cada processo tem um quantum no qual ele permitido executar Se o quantum no for suficiente para o processo terminar, ele vai para o fim da fila e aguarda a prxima rodada Qual o tamanho do quantum?
Qual o problema de usar um quantum pequeno? Processo Qual o problema de usar um quantum grande?
Corrente Prximo Processo Processo Corrente
D (a)
D (b)
B
17
Escalonadores preemptivos
Escalonamento por prioridades
Cada processo tem uma prioridade O processo pronto com prioridade mais alta escolhido para utilizar a CPU O que fazer para que o processo com prioridade mais alta no monopolize a CPU?
Reduo de prioridade Quantum mximo
18
Mudana de Contexto
20
Mudana de Contexto
Quando a CPU altera para um outro processo, o sistema deve armazenar o estado do processo antigo e carregar o estado armazenado do novo processo. O tempo gasto para a mudana de contexto no til aos processos (overhead). Este tempo gasto dependente das caractersticas do hardware.
21
22
O Modelo de Thread
Diferena entre thread e processo
Processos so usados para agrupar recursos Threads so entidades escalonadas para a execuo sobre a CPU
Threads permitem que mltiplas execues ocorram no mesmo ambiente do processo de forma independente
23
O Modelo de Thread
Mltiplas threads executando em paralelo semelhante a mltiplos processos executando em um computador Threads compartilham um mesmo espao de endereamento Processos compartilham um espao fsico de memria, discos e impressoras e recursos semelhantes Exemplo: fazer um bolo
24
O Modelo de Thread
Threads tambm so chamados de processos leves (lightweight process)
Pois possuem somente algumas propriedades dos processos
Multithread
Sistemas com a possibilidade de execuo de vrios threads para um mesmo processo Neste ambiente, um processo definido como a unidade de proteo e a unidade de alocao de recursos
25
Processos e Threads
26
Suspender um processo implica em suspender todas as threads deste processo j que compartilham o mesmo espao de endereamento O trmino de um processo implica no trmino de todas as threads desse processo
27
28
Clientes Multithread
Usados para ocultar latncias de comunicao, separando threads de envio/recebimento de dados com threads de processamento da interface.
Torna possvel recebimento de vrios arquivos de uma pgina WEB ao mesmo tempo; Torna possvel acesso a vrios servidores (redundantes), que serviro os dados independentemente, gerando maior velocidade.
29
Servidores Multithread
Alm de simplificar o cdigo do servidor, explora paralelismo para obter alto desempenho, mesmo em sistemas monoprocessadores;
Um thread despachante cria a diviso de vrios threads com tarefas distintas, como ler disco, receber dados de socket, enviar dados para socket, atender N usurios simultaneamente; O thread despachante atribui a requisio a um thread operrio ocioso (bloqueado).
30
31