Resumo Bacalhau
Um processo pode ser interpretado como um programa em execução sendo a base para implementação de um ambiente multiprogramável.
A gerência de processos é uma das principais funções de um sistema operacional, pois proporciona aos programas alocar recursos, compartilhar dados, trocar informações e sincronizar suas execuções. Nos sistemas multiprogramáveis os processos são executados de forma concorrente, compartilhando o uso do processador, memoria principal e dispositivos de E/S.
Estrutura do processo
Para que a concorrência entre os processos ocorre sem problemas é necessário que os registradores da UCP salvem o conteúdo do processo interrompido para preservar o seu conteúdo para o retorno do processamento. A troca de um processo por outro recebe o nome de mudança de contexto. Em um sistema multiusuário esta mudança ocorre devido ao compartilhamento dos recursos incluindo também o uso da UCP. O processador executa um programa durante um intervalo de tempo e no instante seguinte estará processando outro programa. A concorrência do processador ocorre rapidamente, dando a impressão de tudo esta acontecendo ao mesmo tempo.
Um processo é composto por três partes, chamados de contexto de hardware, contexto de software e espaço de endereçamento, que juntos conservam todas as informações necessárias à execução de um programa.
Contexto de hardware
A função do contexto de hardware é armazenar o conteúdo dos registradores possibilitando os processos se alternarem na utilização da UCP. O funcionamento do contexto de hardware se resume em salvar o conteúdo dos registradores do processo que esta sendo interrompido e carregar os valores do processo que será executado.
Contexto de software
É responsável por estabelecer limites e características dos recursos que pode ser alocados pelo processo, como o numero máximo de arquivos abertos simultaneamente, prioridades de execução e tamanho de buffer para operações de E/S.
É formado por três grupos de informações de