Tarefa vs. processo, há realmente alguma diferença?
Estou na necessidade de uma boa definição para os Termos tarefa, processo e threads. Até agora estou confiante de que um processo é a representação de executar (ou suspenso, mas iniciado) programa com sua própria memória, contador de programa, registros, pilha, etc (bloco de controle de processo). Processos podem executar threads que compartilham memória, de modo que a comunicação através de memória compartilhada é possível em contraste com os processos que têm que se comunicar através de IPC.
Mas qual é a diferença entre tarefas e processo? Leio muitas vezes que são permutáveis e que o termo "tarefa" já não é usado. Isso é mesmo verdade?6 answers
Prazo "tarefa" é usado principalmente no contexto de programação*, quando ele pode se referir tanto a um thread ou um *processo de***, que pode ser agendado para ser executado em um processador.
Do ponto de vista do scheduler pode haver pouca-a-nenhuma diferença entre um thread e um processo - ambos representam uma tarefa que deve ser agendada.
Recentemente, o termo "tarefa" está a ganhar um uso mais generalizado, especialmente entre os programadores do. NET, graças, por exemplo, à Biblioteca paralela de Tarefas . Dentro dele, as tarefas são unidades de trabalho que podem ser programadas para executar em threads a partir de um conjunto de threads de trabalhadores.
* p. ex. em programação de kernel, esp. no Linux
** teoricamente, pode criar as suas entidades agendáveis.
A roscagem é uma técnica para mudar o contexto de processamento. Permite que um processador físico conduza vários processos. Sem relação directa com as tarefas.
Processo Processo é uma sequência natural ou projetada de operações ou eventos, possivelmente tomando tempo, espaço, experiência ou outro recurso, que produz algum resultado. Um processo pode ser identificado pelas mudanças que cria nas propriedades de um ou mais objetos sob sua influência
Tópico Threads são similares aos processos, na medida em que ambos representam uma única sequência de instruções executadas em paralelo com outras sequências, seja por corte de tempo ou multiprocessamento. Os tópicos são uma forma de um programa se dividir em duas ou mais tarefas em execução simultâneaTarefa um conjunto de instruções do programa é carregado na memória
Na Ada, uma tarefa é uma construção na linguagem de programação para permitir a concorrência.
Não está especificado qual a construção do sistema operacional deve ser usada para implementá-lo, mas permite memória compartilhada entre as tarefas, então um tópico seria uma implementação mais natural.
Você também pode pensar na tarefa como um pedaço de código em execução. Então uma parte de um fio ou uma parte de um processo pode ser uma tarefa.