Instruções de despachante operacional:manuseio de processos
Essas instruções descrevem os procedimentos para um despachante operacional ao manusear processos. Lembre-se de priorizar os processos com base em algoritmos de agendamento predefinidos (por exemplo, FIFO, SJF, Round Robin).
i. Chegada do processo: 1.
Receber solicitação de processo: Ao receber uma solicitação de processo (por exemplo, de um usuário, chamada do sistema ou interrupção de E/S), registre as seguintes informações:
* ID do processo (PID)
* Nível de prioridade (se aplicável)
* Requisitos de memória
* Time de explosão da CPU (estimado, se disponível)
* Solicitações de E/S (se conhecidas)
2.
Verifique a disponibilidade de recursos: Verifique se recursos suficientes (tempo da CPU, memória, dispositivos de E/S) estão disponíveis para acomodar o novo processo. Caso contrário, coloque o processo em uma fila (por exemplo, fila pronta, fila bloqueada) de acordo com suas necessidades de prioridade e recursos.
3.
alocar recursos (se disponível): Se houver recursos disponíveis, aloque a memória necessária, atribua uma fatia de tempo (se estiver usando o tempo de tempo) e coloque o processo na fila pronta.
ii. Execução do processo: 1.
Seleção do processo: Selecione um processo na fila pronta com base no algoritmo de agendamento.
2.
Switch de contexto (se necessário): Se for necessária uma chave de contexto (alternando de um processo para outro), salve o estado do processo atual (registros, contador de programas, mapa de memória) e carregue o estado do processo selecionado.
3.
Execução do processo: Permita que o processo selecionado seja executado para sua fatia de tempo alocada ou até que ele bloqueie (por exemplo, aguardando a E/S).
4.
Bloqueio do processo: Se um processo precisar aguardar a E/S ou outro recurso, mova -o para a fila bloqueada apropriada e solte a CPU.
iii. Terminação do processo: 1.
Conclusão do processo: Quando um processo concluir sua execução, recupere seus recursos alocados (memória etc.).
2.
Manuseio de terminação: Lidar com as tarefas de limpeza necessárias, como fechar arquivos, liberar bloqueios e liberar recursos alocados.
3.
Remoção das filas: Remova o processo terminado de todas as filas.
iv. Manipulação de processos bloqueados: 1.
E/S Conclusão: Quando uma operação de E/S concluir, mova o processo correspondente da fila bloqueada de volta para a fila pronta.
2.
Disponibilidade de recursos: Quando o recurso necessário de um processo bloqueado estiver disponível, mova -o de volta para a fila pronta.
v. Manuseio de erros: 1.
Exaustão do recurso: Se os recursos estiverem consistentemente esgotados, considere ajustar as políticas de alocação de recursos ou investigar possíveis vazamentos de recursos.
2.
erros de processo: Lidar com erros de processo (por exemplo, falhas de segmentação, instruções ilegais) de acordo com os procedimentos predefinidos de manuseio de erros, potencialmente encerrando o processo.
3.
erros do sistema: Se ocorrer um erro do sistema, tente se recuperar graciosamente ou iniciar os procedimentos de desligamento do sistema.
vi. Monitoramento e log: 1.
Manter o status do processo: Acompanhe o status de todos os processos (em execução, pronto, bloqueado, encerrado).
2.
Eventos de log: Registre eventos significativos, incluindo criação de processos, rescisão, decisões de agendamento, alocação de recursos e erros. Isso é crucial para a análise de depuração e desempenho.
Essas direções fornecem uma estrutura geral. A implementação específica dependerá do algoritmo de design e agendamento do sistema operacional. Sempre consulte a documentação do sistema para obter instruções detalhadas e procedimentos específicos.