====== Scheduling ====== Nella lezione del 12/10 abbiamo visto come i processi vengono gestiti dall'OS, in funzione del tipo di processo. I processi possono infatti essere divisi in: * [[wp>CPU_bound|Batch]]; * [[wp>I/O_bound|Interattivi]]; * [[wp>Real-time_operating_system|Real-time]]. Sono state quindi sviluppate varie strategie di [[wp>Scheduling_(computing)|scheduling]]. In particolare, abbiamo visto: * [[wp>FIFO|First-In First-Out]] (FIFO), anche noto come First Come First Served (FCFS); * [[wp>Round-robin_scheduling|Round Robin]] (RR); * Selfish Round Robin (SRR); * [[wp>Shortest_job_next|Shortest Process First]] (SPF), anche noto come Shortest Job Next (SJN); * [[wp>Highest_response_ratio_next|Highest Response Ratio First]] (HRRN); * [[wp>Shortest_remaining_time|Shortest Remaining time]] (SRT), anche noto come Preemptive SPF; * [[wp>Multilevel_Feedback_Queue|Multilevel Feedback Queue]]; * [[wp>Fair-share_scheduling|Fair Share]]. Notate che SRT viene normalmente impiegato usando l'ultimo burst time come priorità al posto della stima del tempo di esecuzione usata nello SPF.