Espaço e endereçamento
O espaço de endereçamento é a área de memória do processo onde o programa será executado, além do espaço para os dados utilizados por ele. Para gerenciar a memória principal, o SO mantém uma tabela das regiões da memória que estão em uso ou que permanecem livres. Antes de carregar um programa, o SO examina essa tabela, à procura de espaços disponíveis. Notamos que a tabela nada tem a ver com programas que já estejam na memória; ela é utilizada para se determinar onde os novos programas podem ser carregados.
Estados do Processo
Basicamente, existem três estados em que um processo pode se encontrar no sistema:
Execução = quando está sendo processado
Pronto = quando aguarda uma oportunidade para executar
Espera/Bloqueado = quando aguarda algum evento externo ou por algum recurso para prosseguir seu processamento.
EXECUTANDO
EXECUTANDO
ESTÁ USANDO A CPU
PROCESSO PEDE RECURSO
PROCESSO PEDE RECURSO
ESCALONAMENTO
ESCALONAMENTO
RELÓGIO
PRONTO
PRONTO
AGUARDANDO A CPU
INTERRUPÇÃO DE LIBERAÇÃO DO RECURSO
INTERRUPÇÃO DE LIBERAÇÃO DO RECURSO BLOQUEADO
BLOQUEADO
AGUARDANDO UM RECURSO
Mudanças de Estado do Processo
Basicamente, existem quatro mudanças de estado que podem ocorrer a um processo:
Pronto -> Execução
Quando um processo é criado, o sistema o coloca em uma lista de processos no estado de pronto, onde aguarda uma oportunidade para ser executado.
Execução -> Espera
Um processo passa para o estado de espera devido a eventos gerados pelo próprio processo, como uma operação de entrada/saída.
Espera -> Pronto
Um processo em espera passa para o estado de pronto quando a operação solicitada é atendida ou o recurso esperado é concedido.
Execução -> Pronto
Um processo em execução