Podcast
Questions and Answers
Quali sono le classi di scheduling riconosciute da Linux?
Quali sono le classi di scheduling riconosciute da Linux?
- SCHED FIFO, SCHED ROUND ROBIN, SCHED LATENCY
- SCHED FIFO, SCHED RR, SCHED OTHER (correct)
- SCHED PRIORITY, SCHED FIFO, SCHED TIME SHARING
- SCHED REALTIME, SCHED FIFO, SCHED DYNAMIC
Qual è il range di priorità per i processi nelle classi SCHED FIFO e SCHED RR?
Qual è il range di priorità per i processi nelle classi SCHED FIFO e SCHED RR?
- Da 0 a 140
- Da 1 a 99 (correct)
- Da 100 a 139
- Da 50 a 150
Cosa determina la preemption in Linux?
Cosa determina la preemption in Linux?
- L'interazione dell'utente con il processo
- L'esaurimento del quanto di tempo del processo attualmente in esecuzione (correct)
- La priorità assegnata al processo
- L'uso della memoria da parte del processo
In quali casi un processo può essere soppiantato da un altro processo?
In quali casi un processo può essere soppiantato da un altro processo?
Che cosa indica la priorità 0 nel contesto del scheduling in Linux?
Che cosa indica la priorità 0 nel contesto del scheduling in Linux?
Quale di queste affermazioni è vera riguardo alle wait queues?
Quale di queste affermazioni è vera riguardo alle wait queues?
Come viene gestita la priorità nei processi in Linux?
Come viene gestita la priorità nei processi in Linux?
Qual è il tempo massimo raccomandato per dare la CPU ai processi interattivi?
Qual è il tempo massimo raccomandato per dare la CPU ai processi interattivi?
Quale affermazione sulla gestione della memoria tra il long-term e il medium-term è corretta?
Quale affermazione sulla gestione della memoria tra il long-term e il medium-term è corretta?
Qual è la frequenza degli interrupt del timer in Linux per garantire un buon funzionamento delle applicazioni real-time?
Qual è la frequenza degli interrupt del timer in Linux per garantire un buon funzionamento delle applicazioni real-time?
Cosa caratteristiche hanno i processi batch rispetto a quelli interattivi?
Cosa caratteristiche hanno i processi batch rispetto a quelli interattivi?
Cosa sono le runqueues in Linux?
Cosa sono le runqueues in Linux?
Qual è uno degli obiettivi principali della gestione dello scheduling in Linux?
Qual è uno degli obiettivi principali della gestione dello scheduling in Linux?
Qual è uno svantaggio del round-robin nei processi I/O bound?
Qual è uno svantaggio del round-robin nei processi I/O bound?
Cosa comporta la degenerazione del round robin in FCFS?
Cosa comporta la degenerazione del round robin in FCFS?
Qual è la differenza principale tra processi CPU-bound e I/O bound?
Qual è la differenza principale tra processi CPU-bound e I/O bound?
Quale vantaggio offre il round-robin virtuale?
Quale vantaggio offre il round-robin virtuale?
Nel contesto dello SPN, cosa significa 'breve'?
Nel contesto dello SPN, cosa significa 'breve'?
Qual è una conseguenza della stimazione errata del tempo di esecuzione nello SPN?
Qual è una conseguenza della stimazione errata del tempo di esecuzione nello SPN?
Che problema possono affrontare i processi lunghi a causa dello SPN?
Che problema possono affrontare i processi lunghi a causa dello SPN?
Quale affermazione è corretta riguardo al time-slicing nel round-robin?
Quale affermazione è corretta riguardo al time-slicing nel round-robin?
Qual è l'obiettivo principale dello scheduling in un sistema operativo?
Qual è l'obiettivo principale dello scheduling in un sistema operativo?
Quale tipo di scheduling si occupa di decidere quali processi possono essere eseguiti nel sistema?
Quale tipo di scheduling si occupa di decidere quali processi possono essere eseguiti nel sistema?
Quali sono i criteri prestazionali per l'utente nello short-term scheduling?
Quali sono i criteri prestazionali per l'utente nello short-term scheduling?
Che cosa indica il termine 'Starvation' nello scheduling?
Che cosa indica il termine 'Starvation' nello scheduling?
Quale tipo di scheduling è conosciuto anche come dispatcher?
Quale tipo di scheduling è conosciuto anche come dispatcher?
Che cos'è il throughput in un sistema di gestione dei processi?
Che cos'è il throughput in un sistema di gestione dei processi?
Quale affermazione è vera riguardo ai criteri di sistema per lo short-term scheduling?
Quale affermazione è vera riguardo ai criteri di sistema per lo short-term scheduling?
Qual è il ruolo del medium-term scheduling?
Qual è il ruolo del medium-term scheduling?
Qual è la funzione principale dell'utilizzo del processore?
Qual è la funzione principale dell'utilizzo del processore?
Cosa misura il Turnaround time?
Cosa misura il Turnaround time?
Cosa implica il bilanciamento delle risorse nello scheduling di processi?
Cosa implica il bilanciamento delle risorse nello scheduling di processi?
Quale strategia tipica è utilizzata nel long-term scheduling per i lavori interattivi?
Quale strategia tipica è utilizzata nel long-term scheduling per i lavori interattivi?
Qual è il significato di fairness nello scheduling dei processi?
Qual è il significato di fairness nello scheduling dei processi?
Quale problema potrebbe verificarsi con processi a bassa priorità?
Quale problema potrebbe verificarsi con processi a bassa priorità?
Che cosa intende il termine 'Throughput' nello context di scheduling?
Che cosa intende il termine 'Throughput' nello context di scheduling?
Qual è il criterio principale di validità per il response time?
Qual è il criterio principale di validità per il response time?
Qual è la differenza principale tra scheduling preemptive e non-preemptive?
Qual è la differenza principale tra scheduling preemptive e non-preemptive?
Cosa accade in un sistema non-preemptive quando un processo è in esecuzione?
Cosa accade in un sistema non-preemptive quando un processo è in esecuzione?
Quale affermazione descrive meglio il ruolo del short-term scheduling?
Quale affermazione descrive meglio il ruolo del short-term scheduling?
Qual è uno svantaggio del metodo FCFS (First Come First Served)?
Qual è uno svantaggio del metodo FCFS (First Come First Served)?
In quale stato un processo può passare da "blocked" a "blocked/suspend"?
In quale stato un processo può passare da "blocked" a "blocked/suspend"?
Qual è il principio alla base del Round-Robin scheduling?
Qual è il principio alla base del Round-Robin scheduling?
Quale dei seguenti fattori deve essere considerato per la funzione di selezione dei processi?
Quale dei seguenti fattori deve essere considerato per la funzione di selezione dei processi?
Quale strategia viene utilizzata per aumentare la priorità di un processo nel tempo?
Quale strategia viene utilizzata per aumentare la priorità di un processo nel tempo?
In un sistema preemptive, in quale situazione un processo può essere interrotto?
In un sistema preemptive, in quale situazione un processo può essere interrotto?
Che cosa determina se un processo diventa 'ready' nel contesto della preemption?
Che cosa determina se un processo diventa 'ready' nel contesto della preemption?
Qual è la formula per il calcolo del tempo di esecuzione nel metodo di Exponential Averaging?
Qual è la formula per il calcolo del tempo di esecuzione nel metodo di Exponential Averaging?
Che cosa significa il parametro α nell'Exponential Averaging?
Che cosa significa il parametro α nell'Exponential Averaging?
Qual è la caratteristica principale della schedulazione SRT (Shortest Remaining Time)?
Qual è la caratteristica principale della schedulazione SRT (Shortest Remaining Time)?
Qual è il rapporto utilizzato nella schedulazione HRRN (Highest Response Ratio Next)?
Qual è il rapporto utilizzato nella schedulazione HRRN (Highest Response Ratio Next)?
Quale metodo di scheduling tradizionale utilizza il round robin con priorità?
Quale metodo di scheduling tradizionale utilizza il round robin con priorità?
Qual è uno svantaggio dell'assegnamento statico nei sistemi multiprocessore?
Qual è uno svantaggio dell'assegnamento statico nei sistemi multiprocessore?
Nel contesto dell'assegnamento dinamico, quale delle seguenti affermazioni è vera?
Nel contesto dell'assegnamento dinamico, quale delle seguenti affermazioni è vera?
Quale delle seguenti affermazioni è vera riguardo il scheduling in Linux?
Quale delle seguenti affermazioni è vera riguardo il scheduling in Linux?
Che tipo di processo è classificato con priorità alta nel sistema di scheduling di UNIX?
Che tipo di processo è classificato con priorità alta nel sistema di scheduling di UNIX?
Quale modalità di assegnazione permette a un processo di vagare su vari processori?
Quale modalità di assegnazione permette a un processo di vagare su vari processori?
Cosa accade ai processi in esecuzione dentro una coda nel sistema di scheduling tradizionale di UNIX?
Cosa accade ai processi in esecuzione dentro una coda nel sistema di scheduling tradizionale di UNIX?
Quale dei seguenti approcci è utilizzato per migliorare la programmazione nei multiprocessori?
Quale dei seguenti approcci è utilizzato per migliorare la programmazione nei multiprocessori?
Quale dei seguenti scenari può causare un bottleneck nel sistema operativo?
Quale dei seguenti scenari può causare un bottleneck nel sistema operativo?
Flashcards
Scheduling
Scheduling
Il processo di allocazione delle risorse di un sistema operativo tra diversi processi che ne fanno richiesta in contemporanea, come il tempo di esecuzione su un processore.
Long-Term Scheduling (LTS)
Long-Term Scheduling (LTS)
Il processo di decidere quali programmi possono essere eseguiti nel sistema operativo.
Grado di Multiprogrammazione
Grado di Multiprogrammazione
L'obiettivo del LTS è controllare il grado di multiprogrammazione del sistema, ovvero quanti processi sono in esecuzione contemporaneamente.
Medium-Term Scheduling (MTS)
Medium-Term Scheduling (MTS)
Signup and view all the flashcards
Short-Term Scheduling (STS)
Short-Term Scheduling (STS)
Signup and view all the flashcards
I/O Scheduling
I/O Scheduling
Signup and view all the flashcards
Turnaround Time
Turnaround Time
Signup and view all the flashcards
Response Time
Response Time
Signup and view all the flashcards
Predictability
Predictability
Signup and view all the flashcards
Throughput
Throughput
Signup and view all the flashcards
Processor utilization
Processor utilization
Signup and view all the flashcards
Fairness
Fairness
Signup and view all the flashcards
Enforcing Priorities
Enforcing Priorities
Signup and view all the flashcards
Balancing Resources
Balancing Resources
Signup and view all the flashcards
Round Robin
Round Robin
Signup and view all the flashcards
SPN (Shortest Process Next)
SPN (Shortest Process Next)
Signup and view all the flashcards
Round Robin Virtuale
Round Robin Virtuale
Signup and view all the flashcards
Processi CPU-bound vs I/O bound
Processi CPU-bound vs I/O bound
Signup and view all the flashcards
Tempo di Esecuzione Stimato
Tempo di Esecuzione Stimato
Signup and view all the flashcards
Predicibilità dei processi lunghi
Predicibilità dei processi lunghi
Signup and view all the flashcards
Starvation
Starvation
Signup and view all the flashcards
Abbandono di un processo
Abbandono di un processo
Signup and view all the flashcards
Processo Interattivo
Processo Interattivo
Signup and view all the flashcards
Processo Batch
Processo Batch
Signup and view all the flashcards
Dispatcher (short-term scheduler)
Dispatcher (short-term scheduler)
Signup and view all the flashcards
Runqueue
Runqueue
Signup and view all the flashcards
Wait Queue
Wait Queue
Signup and view all the flashcards
Quanto di tempo
Quanto di tempo
Signup and view all the flashcards
Scheduling in Linux
Scheduling in Linux
Signup and view all the flashcards
Utilizzo del processore
Utilizzo del processore
Signup and view all the flashcards
Bilanciamento delle risorse
Bilanciamento delle risorse
Signup and view all the flashcards
Priorità
Priorità
Signup and view all the flashcards
Funzione di selezione
Funzione di selezione
Signup and view all the flashcards
Modalità di decisione
Modalità di decisione
Signup and view all the flashcards
Non-preemptive
Non-preemptive
Signup and view all the flashcards
Preemptive
Preemptive
Signup and view all the flashcards
FCFS (First Come First Served)
FCFS (First Come First Served)
Signup and view all the flashcards
Svantaggio di FCFS
Svantaggio di FCFS
Signup and view all the flashcards
Quanto di tempo: ottimale per il sistema
Quanto di tempo: ottimale per il sistema
Signup and view all the flashcards
Quanto di tempo: non ottimale per il sistema
Quanto di tempo: non ottimale per il sistema
Signup and view all the flashcards
Quanto di tempo: calcola il tempo medio di interazione
Quanto di tempo: calcola il tempo medio di interazione
Signup and view all the flashcards
Stima del Tempo di Esecuzione
Stima del Tempo di Esecuzione
Signup and view all the flashcards
Exponential Averaging
Exponential Averaging
Signup and view all the flashcards
Shortest Remaining Time (SRT)
Shortest Remaining Time (SRT)
Signup and view all the flashcards
Highest Response Ratio Next (HRRN)
Highest Response Ratio Next (HRRN)
Signup and view all the flashcards
SRT (Shortest Remaining Time)
SRT (Shortest Remaining Time)
Signup and view all the flashcards
Priorità del Processo in UNIX
Priorità del Processo in UNIX
Signup and view all the flashcards
Processo Degradato (Nice)
Processo Degradato (Nice)
Signup and view all the flashcards
Cluster
Cluster
Signup and view all the flashcards
Processori Specializzati
Processori Specializzati
Signup and view all the flashcards
Assegnamento Statico
Assegnamento Statico
Signup and view all the flashcards
Assegnamento Dinamico
Assegnamento Dinamico
Signup and view all the flashcards
SO fisso, processi mobili
SO fisso, processi mobili
Signup and view all the flashcards
SO mobile
SO mobile
Signup and view all the flashcards
Scheduling Tradizionale di UNIX
Scheduling Tradizionale di UNIX
Signup and view all the flashcards
Processi Real-Time
Processi Real-Time
Signup and view all the flashcards
Schemi di Pianificazione Real-Time
Schemi di Pianificazione Real-Time
Signup and view all the flashcards
Processi Standard
Processi Standard
Signup and view all the flashcards
Priorità dei Processi
Priorità dei Processi
Signup and view all the flashcards
Study Notes
Introduzione allo Scheduling
- Lo scheduling è la funzione del sistema operativo che gestisce l'allocazione delle risorse, soprattutto del tempo di esecuzione, tra i diversi processi che ne fanno richiesta contemporaneamente.
- Questa risorsa viene allocata tramite lo "scheduling" (o pianificazione).
Scopo dello Scheduling
- L'obiettivo dello scheduling è assegnare ad ogni processore i processi da eseguire a mano a mano che vengono creati e distrutti.
- Questo obiettivo si raggiunge ottimizzando aspetti come il tempo di risposta, il throughput e l'efficienza del processore.
Obiettivi dello Scheduling
- Distribuire il tempo di esecuzione in modo equo (fair) tra tutti i processi, senza favoritismi.
- Gestire le priorità dei processi quando necessario, garantendo un trattamento equo tra processi con la stessa priorità, con favoritismi solo se giustificati.
- Evitare la starvation (morte per fame) dei processi.
- Usare il processore in modo efficiente.
- Minimizzare l'overhead.
Tipi di Scheduling
- Long-term scheduling (lungo termine): decide quali programmi devono essere aggiunti al sistema per essere eseguiti. Spesso segue una politica FIFO (First-In, First-Out).
- Medium-term scheduling (medio termine): gestisce l'aggiunta di processi alla memoria principale ed il loro spostamento in memoria secondaria (swap) per gestire il grado di multiprogrammazione.
- Short-term scheduling (breve termine): chiamato anche dispatcher, decide ogni qualvolta quale processo tra quelli pronti deve essere eseguito dal un processore. È chiamato frequentemente in base a diversi eventi.
- I/O scheduling (input/output): decide quale processo deve accedere a quale dispositivo I/O.
Stati dei Processi e Scheduling
- Il sistema operativo gestisce i processi attraverso diversi stati (New, Ready, Running, Blocked, Exit).
- Il medium-term scheduler gestisce anche lo spostamento dei processi tra memoria principale e secondaria.
- Le transizioni tra gli stati dei processi sono decise dai diversi scheduler.
Criteri per lo Short-Term Scheduling
- Utente contro Sistema: i criteri per lo scheduling devono considerare sia le esigenze dell'utente (tempo di risposta, visualizzazione dell'output immediato) che le prestazioni del sistema (utilizzo efficiente del processore).
- Prestazioni: i criteri legati alle prestazioni comprendono il tempo di risposta, il throughput e l'utilizzo del processore, tutti quantitativi e misurabili.
- Non Prestazioni: i criteri legati a fattori qualitativi come la predicibilità, l'equità, e il bilanciamento delle risorse, sono più complessi da misurare.
Criteri Utente per lo Short-Term Scheduling
- Tempo di ritorno (Turnaround time): il tempo totale trascorso dalla creazione di un processo fino al suo completo completamento.
- Tempo di risposta (Response time): il tempo trascorso dalla richiesta di un processo fino all'inizio della sua risposta (utile per processi interattivi).
- Scadenza (Deadline): il tempo massimo consentito per l'esecuzione di un processo.
- Predicibilità: la capacità di prevedere i tempi di risposta dei processi.
Criteri di Sistema per lo Short-Term Scheduling
- Throughput: il volume di lavoro completato in un determinato periodo di tempo.
- Utilizzo del processore (processor utilization): la percentuale di tempo in cui il processore è utilizzato.
- Equità (Fairness): garantire un uso equo delle risorse del sistema a tutti i processi.
- Gestione delle priorità (Enforcing priorities): assegnare priorità a processi diversi e garantire che le priorità vengano rispettate.
- Bilanciamento delle risorse (Balancing resources): bilanciare l'utilizzo delle risorse a disposizione tra i processi.
Turnaround Time
- Il tempo tra la creazione (sottomissione) di un processo e il suo completo completamento.
- Include le attese dovute alle operazioni I/O e all'utilizzo del processore.
- Utile per i processi batch (non interattivi).
Response Time
- Tempo tra la richiesta di un processo e l'inizio della sua risposta.
- Considerato per i processi interattivi.
- I processi interattivi devono restituire una risposta il più velocemente possibile.
Deadline e Predicibilità
- Importanza di soddisfare le scadenze, quando possibile.
- La variabilità nei tempi di risposta è accettabile a meno che il sistema sia completamente saturo.
Throughput
- Misura del volume di lavoro completato nell'unità di tempo.
- Misura quanto lavoro viene effettuato.
- Dipende dalla durata media di un processo.
Utilizzo del Processore
- Percentuale di tempo in cui il processore è effettivamente in uso.
- Lo scheduler deve minimizzare i periodi non produttivi del processore.
- Utile in sistemi costosi dove si desidera maximizzare l'utilizzo.
Bilanciamento delle risorse
- Lo scheduler deve assicurarsi che le risorse del sistema siano usate al massimo possibile.
- Favorire processi con un minore consumo di risorse.
Fairness e Priorità
- Nessun favoritismo tra processi a meno che non siano presenti priorità definite esternamente.
- Se ci sono priorità, lo scheduler deve assegnare le priorità più alte a i processi con priorità più alte.
- Se ci sono priorità, il scheduler si serve di code differenti, una per ogni livello di priorità.
Code per la Gestione delle Priorità
- Diverse code separatamente gestite per ogni livello di priorità.
- I processi in esecuzione sono prelevati dalla coda con la priorità più alta.
Priorità e Starvation
- I processi a bassa priorità possono subire starvation
- In caso di priorità, il sistema può gestire un processo con priorità alta che può causare la starvation in processi con priorità bassa
Politiche di Scheduling
- Il capitolo riporta le varie politiche di scheduling, come FCFS, Round Robin, SPN, SRT e HRRN, con le loro caratteristiche chiave (non preemptive/preemptive, utilizzo, tempo di risposta).
Funzione di Selezione
- Sceglie effettivamente il processo da mandare in esecuzione.
- Dipende da vari parametri come il tempo trascorso in attesa, il tempo passato in esecuzione e il tempo totale richiesto.
- Definisce l'istanza temporale in cui la funzione di selezione viene invocata.
Modalità di Decisione
- Può essere preemptive o non-preemptive.
- Non preemptive: se un processo sta eseguendo, viene mantenuto fino a quando non termina o richiede un'operazione I/O, o fino a quando un'altra condizione causa un'interruzione forzata.
- Preemptive: il sistema operativo può interromperlo anche se in esecuzione.
Preemptive e Non-Preemptive
- Il sistema operativo decide se un processo può essere interrotto in esecuzione.
- Preempzione utilizzata in base a nuovi processi o interrupt, per garantire un controllo più equo sull'utilizzo delle risorse.
CPU-bound vs I/O bound
- Nel round-robin, i processi CPU-bound sono avvantaggiati perché consumano l'intero quantum di tempo. I processi I/O-bound ne usano solo una parte.
- Il round-robin virtuale migliora l'equità considerando le richieste di I/O. I processi I/O-bound hanno una priorità più alta, dopo le operazioni I/O, per garantire un'esperienza utente migliore.
Round-Robin Virtuale
- È una politica specifica per l'allocazione del processore in architettura multiprocessore.
- Con un solo processore, il sistema funziona come il round-robin base, ma con più processori, per garantire l'utilizzo della CPU in diverse zone, creando code apposite per ogni tipo di I/O.
SPN: Shortest Process Next
- Seleziona il processo con il tempo di esecuzione stimato più breve tra quelli pronti.
- Politica non preemptive.
- Problema di predicibilità su tempi di esecuzione imprecisi.
SPN: Come Stimare il Tempo di Esecuzione?
- Metodi per effettuare delle previsioni sul tempo di esecuzione dei processi, come l'uso del valore medio passato.
- Si usa l'exponential averaging per evitare la perdita di informazioni e privilegiare le informazioni più recenti.
Exponential Averaging
- Metodo efficace per prevedere il futuro con informazioni passate, dando più peso alle informazioni più recenti.
SRT: Shortest Remaining Time
- Variante preemptive di SPN, che tiene conto del tempo rimanente di esecuzione.
- Interrompe i processi in esecuzione a favore di quelli con tempo rimanente più breve.
HRRN: Highest Response Ratio Next
- Prioritizza i processi basandosi su un rapporto tra il tempo di attesa e il tempo richiesto.
- Favorisce i processi che hanno atteso a lungo.
Confronto
- Confronto tra diverse politiche di scheduling in base a vari criteri.
Scheduling in Linux
- Scheduling in Linux, che combina una versione preemptive a priorità dinamica, con le caratteristiche di altre politiche.
Scheduling in Linux: Regole Generali
- Descrizione dettagliata delle regole del scheduling in Linux, inclusi i tipi di processo (Interattivi, Batch, Real-Time).
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Scopri le classi di scheduling riconosciute da Linux e il range di priorità per i processi nelle classi SCHED FIFO e SCHED RR. Questo quiz esplora anche la preemption in Linux e le condizioni in cui un processo può essere soppiantato. Testa le tue conoscenze sullo scheduling in ambiente Linux.