Você está na página 1de 1

Estados de um processo Um processo pode, num dado instante, estar em um dos seguintes estados: Pronto (ready): o processo est

pronto para usar a CPU, s esperando que o S.O. permita (ou seja, escalone o processo para executar); Executando (running): o processo est, de fato, utilizando um processador do computador (ou seja, est executando trabalho til); Esperando (blocked ou waiting): o processo est esperando a ocorrncia de algum evento, p.e., a concluso de alguma operao de I/O ou a passagem de um intervalo de tempo especificado.

Processos e threads Cada processo tem um espao de memria separado. Consequentemente, no h como dois ou mais processos compartilharem memria. Isso tem a vantagem de segurana, pois torna impossvel (na realidade, muito difcil) a um processo invadir, por erro ou por m inteno, a rea de memria de outro processo. Porm, h situaes em que seria interessante que dois ou mais processos colaborassem para resolver algum problema computacional. Como no h memria compartilhada, a soluo para isso fazer com que os processos se comuniquem utilizando um mecanismo de passagem de mensagem (message passing). Esse mecanismo funciona, porm lento e s usado quando dois processos criados por diferentes equipes precisam se comunicar. Threads Uma soluo melhor existe quando um processo puder definir algumas partes de processamento que podem executar simultaneamente (em paralelo). Essas linhas de execuo so chamadas de threads ou processos peso-leve (lightweigth processes). As threads criadas por um processo compartilham a memria e as quotas do contexto de software, mas cada thread tem seu prprio contexto de hardware. Num ambiente que suporta threads (ambiente multithreaded), as threads tem estados (executando, pronto, bloqueado), e o S.O. escalona as threads (ou seja, atribui uma thread a um processador vago).

Você também pode gostar