Processos
Processos
Sistemas operacionais modernos criam vários
processadores virtuais, cada um para executar um
programa
...
Processos
Processos
Processos: Programa em execucao
Sistema Operacional e responsavel por assegurar
que processos independ...
Processos
Processos

Transparência implica em custo:
Criacao de espaco de enderecos completamente
independente
Chavear a C...
Processos
Em sistemas tradicionais, cada processo possui o seu
próprio espaço de endereçamento e um único fluxo de
execuçã...
Processos
No entanto, em alguns casos e desejável haver
diversos fluxos de execução compartilhando um único
espaço de ende...
Processos
Unico fluxo de execucao ?
Um servidor de arquivos deve esperar por requisicoes
feitas ao disco. O fluxo de execu...
Processos
Solucao – Varios Fluxos de Execucao
Se o servidor de arquivos e implementado usando
diferentes fluxos de execuca...
Processos
Threads
Cada um dos fluxos de execucao de um
processo e chamado de thread
 Threads podem ser vistas como mini-p...
Processos
Threads em sistemas não distribuidos
 Threads que fazem parte de um mesmo
processo nao sao independentes como o...
Processos
Threads em sistemas naodistribuidos
Threads podem estar em diferentes estados:
executando, bloqueado, pronto ou ...
Processos
Threads em sistemas naodistribuidos
Principais Vantagens:
1) Explorar paralelismo ao executar um programa em
um ...
Processos
Implementacao de Threads em
Sistemas nao-distribuidos
 Implementacao no nivel usuario
– Threads rodam sobre o r...
Processos
Implementação de Threads em Sistemas nãodistribuídos
Nível usuário
– Custo da criação custo de alocar memória pa...
Processos
IImplementacao de Threads em
Sistemas nao-distribuidos
Desvantagem de threads de nivel de usuario:
– Problema es...
Processos
Implementacao de Threads em Sistemas Distribuidos
Importante propriedade de threads e que eles podem
proporciona...
Processos
Clientes Multithreads
Sistemas distribuidos que operam em redes de
longa distancia → escondem longos tempos de
p...
Processos
Clientes Multithreads –Browsers Web
Documento Web consiste em: texto, imagens,
icones, etc.
 A cada elemento, b...
Processos
Clientes Multithreads –Browsers Web
Browsers comecam a exibir dados enquanto a
medida em que novas informacoes c...
Processos
Clientes Multithreads –Browsers Web
 Browser como clientes multithread simplifica
 Threads separados sao ativa...
Processos
Servidores Multithreads
Servidor de arquivos normalmente espera pela
entrada de uma requisição para uma operação...
Processos
Servidores Multithreads
Funcionamento de servidores multithreads:
– requisicoes sao enviadas por clientes para u...
Processos
Servidores Multithreads
Se o servidor é inteiramente CPU bound, não
existe necessidade de diversos threads.
Aume...
Processos
Virtualizacao
Threads e processos podem ser vistos como um
modo de fazer diversas tarefas ao mesmo tempo
 Em co...
Processos
Virtualizacao
 Estende ou substitui uma interface existente de
modo a imitar o comportamento de um outro
sistem...
Processos
Virtualizacao
Softwares em nivel mais alto sao mais estaveis
que o hardware e sistemas de software de baixo
nive...
Processos
Virtualizacao
Essência da virtualização é
imitar o comportamento das
interfaces (instruções de
máquina, chamadas...
Processos
Virtualizacao
Maquina virtual de processo
Aplicacoes desenvolvidas para um SO sao
executadas em outro SO
Virtual...
Processos
Virtualizacao
Monitor de maquina virtual
Fornece o conjunto de instrucoes completo
do hardware
Varios sistemas o...
Aula 4   processosx
Aula 4   processosx
Upcoming SlideShare
Loading in …5
×

Aula 4 processosx

250
-1

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
250
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Aula 4 processosx

  1. 1. Processos Processos Sistemas operacionais modernos criam vários processadores virtuais, cada um para executar um programa Para monitorar os processadores virtuais o sistema operacional tem uma tabela de processos que contem entradas para armazenar valores de registradores de CPU, mapas de memoria, arquivos abertos, etc.
  2. 2. Processos Processos Processos: Programa em execucao Sistema Operacional e responsavel por assegurar que processos independentes nao afetem (modos intencional, malicioso ou acidental) a correcao do comportamento dos outros processos sendo executados Transparencia no compartilhamento da mesma CPU e outros recursos de hardware
  3. 3. Processos Processos Transparência implica em custo: Criacao de espaco de enderecos completamente independente Chavear a CPU entre dois processos Salvar o contexto da CPU Troca de informacoes entre disco e memoria principal
  4. 4. Processos Em sistemas tradicionais, cada processo possui o seu próprio espaço de endereçamento e um único fluxo de execução
  5. 5. Processos No entanto, em alguns casos e desejável haver diversos fluxos de execução compartilhando um único espaço de endereçamento,ou seja, mesma regiao de memoria
  6. 6. Processos Unico fluxo de execucao ? Um servidor de arquivos deve esperar por requisicoes feitas ao disco. O fluxo de execucao que fez a requisicao e bloqueado aguardando a resposta. PERDA DE DESEMPENHO
  7. 7. Processos Solucao – Varios Fluxos de Execucao Se o servidor de arquivos e implementado usando diferentes fluxos de execucao, outras requisicoes de clientes podem ser processadas, enquanto o primeiro fluxo aguarda a resposta do disco MELHOR VAZAO (THROUGHPUT) E GANHO DE DESEMPENHO
  8. 8. Processos Threads Cada um dos fluxos de execucao de um processo e chamado de thread  Threads podem ser vistas como mini-processos  Cada thread executa sua propria porcao de codigo  Threads compartilham a CPU do mesmo modo que diferentes processos (timesharing) 
  9. 9. Processos Threads em sistemas não distribuidos  Threads que fazem parte de um mesmo processo nao sao independentes como o caso de diferentes processos  TODOS threads em um mesmo processo possuem mesma regiao de memoria, compartilhando as mesmas variaveis globais  Um determinado thread pode ler, escrever ou mudar a pilha de dados de um outro thread  Protecao deve ser feita pela 'aplicacao'
  10. 10. Processos Threads em sistemas naodistribuidos Threads podem estar em diferentes estados: executando, bloqueado, pronto ou finalizado 
  11. 11. Processos Threads em sistemas naodistribuidos Principais Vantagens: 1) Explorar paralelismo ao executar um programa em um sistema multiprocessador Ex.: Cada thread e designado a uma CPU, enquanto dados compartilhados são armazenados em memoria compartilhada 2) Grandes aplicacoes, desenvolvidas como um conjunto de programas cooperativos Evita chaveamento entre diferentes processos – devido comunicação através de Interprocess Communication (IPC)
  12. 12. Processos Implementacao de Threads em Sistemas nao-distribuidos  Implementacao no nivel usuario – Threads rodam sobre o runtime system – coleção de procedimentos que gerenciam as threads – Quando um thread executa uma chamada de sistema, 'dorme', opera um semaforo ou mutex, o runtime system verifica se o thread deve ser suspenso
  13. 13. Processos Implementação de Threads em Sistemas nãodistribuídos Nível usuário – Custo da criação custo de alocar memória para a pilha Chaveamento de contexto de thread pode ser feito em apenas algumas instruções: não há necessidade de mudar mapas de memória, descarregar o TLB (Translation Lookaside Buffer) »Ex.: Threads que precisam entrar em sincronia
  14. 14. Processos IImplementacao de Threads em Sistemas nao-distribuidos Desvantagem de threads de nivel de usuario: – Problema esta em como chamadas de sistemas bloqueantes sao implementadas Ex.: ler um pipe vazio → chamada de sistema → bloqueio – Todos os threads sao bloqueados ! 
  15. 15. Processos Implementacao de Threads em Sistemas Distribuidos Importante propriedade de threads e que eles podem proporcionar um meio conveniente de permitir chamadas bloqueantes de sistema sem bloquear o processo inteiro Threads sao particurlamente atraentes para utilizacao em sistemas distribuidos →facilitam muito expressar comunicacao na forma de manter multiplas conexoes logicas ao mesmo tempo
  16. 16. Processos Clientes Multithreads Sistemas distribuidos que operam em redes de longa distancia → escondem longos tempos de propagacao de mensagens entre processos  A maneira de ocultar latencias de comunicacao e iniciar a comunicacao e imediatamente prosseguir com outra atividade 
  17. 17. Processos Clientes Multithreads –Browsers Web Documento Web consiste em: texto, imagens, icones, etc.  A cada elemento, browser esttabelece uma conexao TCP/IP, para ler os dados e passar ao monitor do usuario  Operacoes bloqueadoras: estabelecimento da conexao, leitura de dados 
  18. 18. Processos Clientes Multithreads –Browsers Web Browsers comecam a exibir dados enquanto a medida em que novas informacoes chegam  Enquanto o texto esta sendo disponibilizado para o usuario, incluindo as facilidades de rolamento, p.ex., o browser continua buscando outros arquivos, como imagens  Vantagem: usuario nao precisa esperar ate que todos os componentes sejam buscados 
  19. 19. Processos Clientes Multithreads –Browsers Web  Browser como clientes multithread simplifica  Threads separados sao ativados para se encarregar de buscar diferentes partes de uma pagina  Caso o servidor esteja em sobrecarga, ter um cliente multithread possibilita estabelecer conexoes com diferentes servidores, permitindo transmissao dos dados em paralelo  Cliente pode manipular fluxos de dados de entrada em paralelo → Threads!
  20. 20. Processos Servidores Multithreads Servidor de arquivos normalmente espera pela entrada de uma requisição para uma operação de arquivo e, na sequência, executa a requisição e então devolve a resposta. Como aumentar o desempenho?
  21. 21. Processos Servidores Multithreads Funcionamento de servidores multithreads: – requisicoes sao enviadas por clientes para uma porta no servidor – Thread despachante le requisicoes que entram para uma operacao de arquivo – Servidor escolhe um thread operario – Se o thread escolhido estiver suspenso, outro thread e selecionado para ser executado: p.ex., o thread despachante pode ser selecionado para adquirir mais trabalho
  22. 22. Processos Servidores Multithreads Se o servidor é inteiramente CPU bound, não existe necessidade de diversos threads. Aumento de complexidade sem ganho de desempenho
  23. 23. Processos Virtualizacao Threads e processos podem ser vistos como um modo de fazer diversas tarefas ao mesmo tempo  Em computadores monoprocessador, execucao simultanea e uma ilusao → unica CPU, somente uma instrucao de um unico thread ou processo sera executada por vez  Virtualizacao de recursos: “fingir” que um determinado recurso esta replicado no sistemaServidores Multithreads 
  24. 24. Processos Virtualizacao  Estende ou substitui uma interface existente de modo a imitar o comportamento de um outro sistema
  25. 25. Processos Virtualizacao Softwares em nivel mais alto sao mais estaveis que o hardware e sistemas de software de baixo nivel → virtualizacao pode ajudar transportando as interfaces de softwares para novas plataformas. Novas plataformas sao capazes de executar softwares existentes anteriormente
  26. 26. Processos Virtualizacao Essência da virtualização é imitar o comportamento das interfaces (instruções de máquina, chamadas de sistema)
  27. 27. Processos Virtualizacao Maquina virtual de processo Aplicacoes desenvolvidas para um SO sao executadas em outro SO Virtualizacao feita somente para um unico Processo emuladores → imitar chamadas de sistema → Nao e trivial
  28. 28. Processos Virtualizacao Monitor de maquina virtual Fornece o conjunto de instrucoes completo do hardware Varios sistemas operacionais diferentes executando independente e concorrentemente na mesma plataforma Importantes no contexto de confiabilidade e seguranca → isolamento de uma aplicacao e seu ambiente → falhas nao afetam a maquina inteira Ex.: VMware
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×