sdfçlkjsdfsf
1339 palavras
6 páginas
Unidade 1-1Processos e Threads
O que é um Processo
• Um processo é uma atividade (ou tarefa) de um programa, que contém o código e dados de uma atividade. • Essas são: leitura de dados, escrita de dados, cálculos no processador, comunicação com o usuário, comunicação com um BD, comunicação com a rede interna ou externa, entre outras.
Processos
– Um trecho de código em execução em uma máquina. – É a unidade de processamento concorrente que um processador sob um SO pode processar.
– Identificado pelo seu PID (Process Identifier).
– Unix (anos 70) foi construído para executar processos. Problema com Processos
• Nos anos 80, foi descoberto que a noção tradicional de um sistema operacional, de um processo que executa um único fluxo de execução, era diferente dos requisitos dos sistemas operacionais distribuídos.
• Solaris (anos 90), originalmente, utiliza processos.
Problema com Processos
• E também, diferente dos requisitos dos aplicativos mais sofisticados que utilizam um único processador, mas que exigem concorrência de suas atividades internas.
Problema com Processos
• O processo tradicional torna complicado e dispendioso o compartilhamento de recursos entre atividades relacionadas.
Solução para o Processamento
Concorrente
• Aprimorar a noção de processo, para que ele pudesse ser associado a múltiplas atividades internas a ele.
Surgimento de Threads
• Com o surgimento de processadores de mais alto desempenho, uma nova unidade de processamento concorrente pode ser definida dentro do próprio processo, novos fluxos de execução e assim pode-se ter múltiplos fluxos de execução (múltiplas threads) num mesmo processo. • Cada fluxo de execução é chamada Thread.
Threads
• Atualmente, um processo consiste em um ambiente de execução, contendo uma ou mais threads.
• Thread: unidade de processamento concorrente nos sistemas operacionais atuais. Contexto de um Processo
•
•
•
•
•
•
•