1. O status do processo
1. Estado criado 2. Estado pronto 3. Estado em execução 4. Estado bloqueado 5. Estado encerrado
Fonte da imagem: Família com conhecimento básico de processos e threads, um conjunto de 30 imagens para levar_Linux_小林coding_InfoQ Writing Community
NULL -> Estado de criação : o primeiro estado quando um novo processo é criado;
Estado de criação -> Estado pronto : Quando o processo é criado e inicializado, e tudo está pronto para ser executado, ele se torna o estado pronto.Esse processo é muito rápido;
Estado pronto -> estado em execução : Após o processo no estado pronto ser selecionado pelo agendador de processos do sistema operacional, ele é atribuído à CPU para executar oficialmente o processo;
Estado de execução -> Estado final : quando o processo terminar de executar ou apresentar um erro, ele será processado pelo sistema operacional como um estado final;
Estado em execução -> Estado pronto : durante o processo em execução de um processo no estado em execução, porque a fatia de tempo de execução alocada para ele está esgotada, o sistema operacional mudará o processo para o estado pronto e, em seguida, selecionará outro processo para executar do estado pronto;
Estado de execução -> estado de bloqueio : quando o processo solicita um evento e deve esperar, como solicitar um evento de I/O;
Estado Bloqueado -> Estado Pronto : Quando o evento que o processo está esperando é concluído, ele muda do estado bloqueado para o estado Pronto;
Três estados básicos de um processo
Estado pronto: quando o processo tiver alocado todos os recursos necessários, exceto a CPU, ele pode ser executado imediatamente, desde que o processador seja obtido, e o estado do processo neste momento é chamado de estado pronto.
Estado de execução: quando o processo obtém o processador (CPU) e seu programa está sendo executado no processador, o estado do processo nesse momento é chamado de estado de execução.
Estado bloqueado: quando um processo que está sendo executado não pode ser executado porque está aguardando a ocorrência de um evento, ele desistirá do processador e ficará em um estado bloqueado. Por exemplo, aguardando a conclusão da E/S, solicitando buffers que não podem ser satisfeitos, aguardando letras (sinais), etc.
Quando o programa aplicativo opera no driver do dispositivo, se o recurso do dispositivo não puder ser obtido, o IO de bloqueio suspenderá o thread correspondente ao programa aplicativo até que o recurso do dispositivo possa ser obtido. Para IO sem bloqueio, o encadeamento correspondente do aplicativo não será suspenso, ele fará uma pesquisa e aguardará até que os recursos do dispositivo estejam disponíveis ou desistirá diretamente.
2. Como criar um processo
1. Inicialização do sistema;
2. Um processo inicia um processo filho durante a operação;
3. A solicitação interativa do usuário cria um novo processo (como clicar duas vezes em qq);
4. Inicialização de um trabalho em lote (aplicado apenas em sistemas de lote de mainframe).
Um trabalho em lote significa executar a mesma operação em cada objeto, o que pode ser feito mecanicamente ou processualmente. Por exemplo, se quisermos mover todos os arquivos de uma pasta para outra pasta no computador, podemos selecioná-los e movê-los todos de uma vez, isso é processamento em lote.