Trab
Processo é um módulo executável único, que corre concorrentemente com outros módulos executáveis. Por exemplo, em um ambiente multi-tarefa (como o Unix) que suporta processos, um processador de texto, um navegador e um sistema de banco de dados são processos separados que podem rodar concomitantemente. Processos são módulos separados e carregáveis, ao contrário de threads, que não podem ser carregadas. Múltiplas threads de execução podem ocorrer dentro de um mesmo processo. Além das threads, o processo também inclui certos recursos, como arquivos e alocações dinâmicas de memória e espaços de endereçamento.
O que é Escalonador de Processos
Um Escalonador de Processos é um subsistema do Sistema Operacional responsável por decidir o momento em que cada processo obterá a CPU. É utilizado algoritmos de escalonamento que estabelecem a lógica de tal decisão. Nesse momento de decidir qual escalonador será utilizado no sistema operacional, cabe avaliar o cenário que o sistema será utilizado.
Deve-se ter cuidado com algumas variáveis como em casos que necessitam de mais processamento, ou seja, ação da CPU. Como com processos que necessitam de processamento, ocuparão a CPU por um tempo maior e não precisarão, ou de pouca, intervenção do usuário. Por exemplo, programas de cálculo científico, que o usuário insere parâmetros e executa o programa que demorará um determinado tempo para mostrar os resultados, isso exige processamento da CPU, com entrada e saída de dados apenas no momento inicial. Já processos que necessitam de mais entrada e saída de dados, ou seja, o processo necessita de intervenção do usuário. Por exemplo, ao digitar um texto, há entrada e saída de dados, logo, a resposta do ato de teclar e a resposta de aparecer isso na tela exige que esse processo “entra e sai” da CPU inúmeras vezes e em um pequeno espaço de tempo.
Em que momento é necessário realizar o escalonamento?
Temos dois cenários de escalonamento:
O Escalonamento Não