processo
Em informática, um processo é uma instância de um programa de computador que está a ser executado. Contém o código do programa e a sua atividade atual. Dependendo do sistema operativo (SO), um processo pode ser constituído por vários segmentos de execução que executam instruções em simultâneo. Um programa de computador é um conjunto passivo de instruções; um processo é a execução efectiva dessas instruções. Podem estar associados vários processos ao mesmo programa; por exemplo, a abertura de várias instâncias do mesmo programa significa frequentemente que está a ser executado mais do que um processo. A multitarefa é um método que permite que vários processos partilhem processadores (CPUs) e outros recursos do sistema. Cada CPU executa uma única tarefa de cada vez. No entanto, a multitarefa permite que cada processador alterne entre as tarefas que estão sendo executadas sem ter que esperar que cada tarefa termine. Dependendo da implementação do sistema operativo, as comutações podem ser efectuadas quando as tarefas executam operações de entrada/saída, quando uma tarefa indica que pode ser comutada ou através de interrupções de hardware. Uma forma comum de multitarefa é a partilha de tempo. A partilha de tempo é um método que permite uma resposta rápida às aplicações interactivas dos utilizadores. Nos sistemas de partilha de tempo, as mudanças de contexto são efectuadas rapidamente. Isto faz com que pareça que vários processos estão a ser executados simultaneamente no mesmo processador. A execução de vários processos aparentemente em simultâneo é designada por concorrência. Por razões de segurança e fiabilidade, a maioria dos sistemas operativos modernos impede a comunicação direta entre processos independentes, fornecendo uma funcionalidade de comunicação inter-processos estritamente mediada e controlada.
