Process I\O vs CPU vinculado?

Process I\O vs CPU vinculado?

Eu vi esta pergunta online me preparando para uma entrevista de emprego:

Dado um kernel não preemptivo, que tipo de processo será mais afetado em termos de desempenho e por quê?

  1. E/S vinculado

  2. Limite de CPU


Eu sei que:

Um processo vinculado à CPU obtém quanta longos, mas com baixa prioridade, enquanto um processo vinculado a E/S obtém quanta curtos com alta prioridade.

A princípio, pensei que o limite de I\O será mais afetado, pois deve aguardar a conclusão das leituras do disco (e não apenas pedir ao sistema operacional para ativá-lo quando algo estiver pronto). Mas acho que isso está errado, pois mesmo em Non- Kernel preemptivo: um processo pode decidir por si mesmo terminar seu trabalho e deixar outro trabalhar.

Estou procurando uma resposta detalhada para entender profundamente o que estou perdendo aqui.

Responder1

Não é verdade que "Um processo vinculado à CPU obtém quanta longos, mas com baixa prioridade, enquanto um processo vinculado a E/S obtém quanta curtos com alta prioridade".

Seria ideal se esse fosse o caso - mas geralmente acontece que cada processo obtém praticamente o mesmo intervalo de tempo. Um processo vinculado a E/S abandonaria a CPU rapidamente.

Organizando diferentes prioridadesdinamicamenteou de outra forma seria muito difícil de fazer e como o kernel não pode antecipar, não está claro como essa priorização seria implementada.

informação relacionada