title: CPU-bound
text: # CPU-bound
  
  Si definiscono CPU bound in informatica i processi che sfruttano pesantemente le risorse computazionali del processore, ma non richiedono servizi di ingresso/uscita dati al sistema operativo in quantità rilevanti. È in contrapposizione a I/O bound.
  
  Un classico esempio di tali processi sono i programmi di calcolo matematico, i quali necessitano spesso di un'enorme potenza di calcolo, ma sfruttano l'I/O solo all'inizio della loro vita (per caricare gli input) ed alla fine di essa (per produrre gli output).
  
  La differenza tra CPU bound e I/O bound è rilevante nell'ambito degli scheduler del sistema operativo, in quanto diversi algoritmi di scheduling (specialmente quelli non-preemptive) possono privilegiare oltremodo i programmi CPU bound portando alla starvation (ossia alla scarsa assegnazione della risorsa CPU) di altri processi. Quando questo accade, gli interrupt provenienti dalle periferiche possono essere elaborati con un certo ritardo.
  
  Per converso, gli scheduler che interrompono troppo frequentemente il processo in esecuzione portano a privilegiare i task I/O bound, i quali sarebbero comunque inattivi per la maggior parte del ciclo di vita, in attesa del completamento delle operazioni di I/O delle periferiche.
  
  