Conhecimento em threads

2405 palavras 10 páginas
Até o final da década de 1970, sistemas operacionais, como Tops-10 (DEC), MVS (IBM) e
Unix (Bell Labs), suportavam apenas processos com um único thread (monothread), ou seja, um processo com apenas um único programa fazendo parte do seu contexto. Em 1979, durante o desenvolvimento do sistema operacional Toth, foi introduzido o conceito de processos lightweight
(peso leve), onde o espaço de endereçamento de um processo era compartilhado por vários programas. Apesar do conceito revolucionário, a idéia não foi utilizada comercialmente, e somente em meados de 1980, com o desenvolvimento do sistema operacional Mach na Universidade de
Carnegie Mellon, ficou clara a separação entre o conceito de processo e thread.
A partir do conceito de múltiplas threads (multithread) é possível projetar e implementar aplicações concorrentes de forma eficiente, pois um processo pode ter partes diferentes do seu código sendo executadas em paralelo, com um menor overhead do que utilizando múltiplos processos. Como os threads de um mesmo processo compartilham o mesmo espaço de endereçamento, a comunicação entre threads não envolve mecanismos lentos de intercomunicação entre processos, aumentando, conseqüentemente, o desempenho da aplicação.
O desenvolvimento de programas que exploram os benefícios da programação multithread não é simples. A presença do paralelismo introduz um novo conjunto de problemas como a comunicação e sincronização de threads. Existem diferentes modelos para a implementação de threads em um sistema operacional, onde desempenho, flexibilidade e custo devem ser avaliados.
Atualmente, o conceito de multithread pode ser encontrado em diversos sistemas operacionais, como no Sun Solaris e Microsoft Windows. A utilização comercial de sistemas operacionais multithread é crescente em função do aumento de popularidade dos sistemas com múltiplos processadores, do modelo cliente-servidor e dos sistemas distribuídos.

6.1 – Ambiente Monothread
Um programa

Relacionados

  • tread
    1292 palavras | 6 páginas
  • Processos e threads
    1691 palavras | 7 páginas
  • Questionário de arquitetura de computadores
    2589 palavras | 11 páginas
  • Sistemas operacionais
    2387 palavras | 10 páginas
  • Threads em C#
    927 palavras | 4 páginas
  • TCC - SIstemas de Informação
    19039 palavras | 77 páginas
  • Threads ciencia da computacao
    3346 palavras | 14 páginas
  • Thread
    3271 palavras | 14 páginas
  • PROGRAMAÇÃO EM THREADS
    1213 palavras | 5 páginas
  • threads
    443 palavras | 2 páginas