Linux Scheduling Classes Quiz
60 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

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?

  • Da 0 a 140
  • Da 1 a 99 (correct)
  • Da 100 a 139
  • Da 50 a 150

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?

<p>Quando un altro processo diventa eseguibile (D)</p> Signup and view all the answers

Che cosa indica la priorità 0 nel contesto del scheduling in Linux?

<p>Un'eccezione per casi particolari (C)</p> Signup and view all the answers

Quale di queste affermazioni è vera riguardo alle wait queues?

<p>I processi nelle wait queues sono in attesa di operazioni di I/O. (C)</p> Signup and view all the answers

Come viene gestita la priorità nei processi in Linux?

<p>La priorità diminuisce man mano che un processo viene eseguito. (B)</p> Signup and view all the answers

Qual è il tempo massimo raccomandato per dare la CPU ai processi interattivi?

<p>150 ms (A)</p> Signup and view all the answers

Quale affermazione sulla gestione della memoria tra il long-term e il medium-term è corretta?

<p>Il long-term non crea processi se non c'è sufficiente memoria. (B)</p> Signup and view all the answers

Qual è la frequenza degli interrupt del timer in Linux per garantire un buon funzionamento delle applicazioni real-time?

<p>1 ms (D)</p> Signup and view all the answers

Cosa caratteristiche hanno i processi batch rispetto a quelli interattivi?

<p>Possono essere penalizzati dallo scheduler. (A)</p> Signup and view all the answers

Cosa sono le runqueues in Linux?

<p>Code da cui il dispatcher pesca i processi per l'esecuzione. (B)</p> Signup and view all the answers

Qual è uno degli obiettivi principali della gestione dello scheduling in Linux?

<p>Operare in modo quasi in O(1). (D)</p> Signup and view all the answers

Qual è uno svantaggio del round-robin nei processi I/O bound?

<p>Aumenta la variabilità della risposta (D)</p> Signup and view all the answers

Cosa comporta la degenerazione del round robin in FCFS?

<p>Un aumento dell'attesa per i processi lunghi (B)</p> Signup and view all the answers

Qual è la differenza principale tra processi CPU-bound e I/O bound?

<p>I processi CPU-bound utilizzano gran parte del loro tempo CPU (B)</p> Signup and view all the answers

Quale vantaggio offre il round-robin virtuale?

<p>Dà priorità ai processi durante il completamento di I/O (C)</p> Signup and view all the answers

Nel contesto dello SPN, cosa significa 'breve'?

<p>Il processo con il minor tempo di esecuzione stimato (A)</p> Signup and view all the answers

Qual è una conseguenza della stimazione errata del tempo di esecuzione nello SPN?

<p>Possibilità di aborto del processo stesso (A)</p> Signup and view all the answers

Che problema possono affrontare i processi lunghi a causa dello SPN?

<p>Starvation (D)</p> Signup and view all the answers

Quale affermazione è corretta riguardo al time-slicing nel round-robin?

<p>Rende i processi CPU-bound più efficienti (A)</p> Signup and view all the answers

Qual è l'obiettivo principale dello scheduling in un sistema operativo?

<p>Assegnare risorse in modo equo e gestire le priorità (D)</p> Signup and view all the answers

Quale tipo di scheduling si occupa di decidere quali processi possono essere eseguiti nel sistema?

<p>Long-term scheduling (B)</p> Signup and view all the answers

Quali sono i criteri prestazionali per l'utente nello short-term scheduling?

<p>Turnaround time e Deadline (D)</p> Signup and view all the answers

Che cosa indica il termine 'Starvation' nello scheduling?

<p>Un processo che non riceve sufficiente attenzione (D)</p> Signup and view all the answers

Quale tipo di scheduling è conosciuto anche come dispatcher?

<p>Short-term scheduling (D)</p> Signup and view all the answers

Che cos'è il throughput in un sistema di gestione dei processi?

<p>Il numero di processi completati per unità di tempo (B)</p> Signup and view all the answers

Quale affermazione è vera riguardo ai criteri di sistema per lo short-term scheduling?

<p>Includono l'efficienza e l'utilizzo del processore (A)</p> Signup and view all the answers

Qual è il ruolo del medium-term scheduling?

<p>Decidere l'aggiunta di processi in memoria principale (C)</p> Signup and view all the answers

Qual è la funzione principale dell'utilizzo del processore?

<p>Massimizzare la percentuale di tempo utilizzato dal processore (D)</p> Signup and view all the answers

Cosa misura il Turnaround time?

<p>Il tempo totale dalla creazione di un processo al suo completamento (B)</p> Signup and view all the answers

Cosa implica il bilanciamento delle risorse nello scheduling di processi?

<p>Distribuire le risorse al fine di massimizzare l'uso (A)</p> Signup and view all the answers

Quale strategia tipica è utilizzata nel long-term scheduling per i lavori interattivi?

<p>Ammettere processi fino a saturazione del sistema (C)</p> Signup and view all the answers

Qual è il significato di fairness nello scheduling dei processi?

<p>Trattare tutti i processi equamente senza favoritismi (C)</p> Signup and view all the answers

Quale problema potrebbe verificarsi con processi a bassa priorità?

<p>Possono soffrire di starvation (A)</p> Signup and view all the answers

Che cosa intende il termine 'Throughput' nello context di scheduling?

<p>Il numero di processi completati in un certo periodo di tempo (D)</p> Signup and view all the answers

Qual è il criterio principale di validità per il response time?

<p>Minimizzare la variabilità nei tempi di risposta (B)</p> Signup and view all the answers

Qual è la differenza principale tra scheduling preemptive e non-preemptive?

<p>Nel preemptive, il sistema può interrompere l'esecuzione di un processo (A)</p> Signup and view all the answers

Cosa accade in un sistema non-preemptive quando un processo è in esecuzione?

<p>Resta in esecuzione fino al termine o fino a una richiesta di I/O (A)</p> Signup and view all the answers

Quale affermazione descrive meglio il ruolo del short-term scheduling?

<p>Determina quali processi devono essere eseguiti in un dato momento (B)</p> Signup and view all the answers

Qual è uno svantaggio del metodo FCFS (First Come First Served)?

<p>Potrebbe causare un'elevata latenza per processi brevi (C)</p> Signup and view all the answers

In quale stato un processo può passare da "blocked" a "blocked/suspend"?

<p>Attraverso il medium-term scheduling (B)</p> Signup and view all the answers

Qual è il principio alla base del Round-Robin scheduling?

<p>Usare un segnale di clock per il time slicing (B)</p> Signup and view all the answers

Quale dei seguenti fattori deve essere considerato per la funzione di selezione dei processi?

<p>Il tempo trascorso in attesa e in esecuzione (A)</p> Signup and view all the answers

Quale strategia viene utilizzata per aumentare la priorità di un processo nel tempo?

<p>Priorità che cresce con l'età del processo (C)</p> Signup and view all the answers

In un sistema preemptive, in quale situazione un processo può essere interrotto?

<p>Quando un nuovo processo viene creato (C)</p> Signup and view all the answers

Che cosa determina se un processo diventa 'ready' nel contesto della preemption?

<p>Quando viene ricevuto un interrupt di clock (C)</p> Signup and view all the answers

Qual è la formula per il calcolo del tempo di esecuzione nel metodo di Exponential Averaging?

<p>Sn+1 = αTn + (1 − α)Sn (B)</p> Signup and view all the answers

Che cosa significa il parametro α nell'Exponential Averaging?

<p>Una costante compresa tra 0 e 1 (D)</p> Signup and view all the answers

Qual è la caratteristica principale della schedulazione SRT (Shortest Remaining Time)?

<p>Un processo può essere interrotto solo da nuovi processi (C)</p> Signup and view all the answers

Qual è il rapporto utilizzato nella schedulazione HRRN (Highest Response Ratio Next)?

<p>(Tempo trascorso in attesa + Tempo totale richiesto) / Tempo totale richiesto (B)</p> Signup and view all the answers

Quale metodo di scheduling tradizionale utilizza il round robin con priorità?

<p>UNIX (A)</p> Signup and view all the answers

Qual è uno svantaggio dell'assegnamento statico nei sistemi multiprocessore?

<p>Un processore può rimanere idle (D)</p> Signup and view all the answers

Nel contesto dell'assegnamento dinamico, quale delle seguenti affermazioni è vera?

<p>Un processo può essere eseguito su diversi processori durante la sua vita (A)</p> Signup and view all the answers

Quale delle seguenti affermazioni è vera riguardo il scheduling in Linux?

<p>Prioritizza la velocità di esecuzione (B)</p> Signup and view all the answers

Che tipo di processo è classificato con priorità alta nel sistema di scheduling di UNIX?

<p>Controllo di un dispositivo di I/O a blocchi (C)</p> Signup and view all the answers

Quale modalità di assegnazione permette a un processo di vagare su vari processori?

<p>Assegnamento dinamico (A)</p> Signup and view all the answers

Cosa accade ai processi in esecuzione dentro una coda nel sistema di scheduling tradizionale di UNIX?

<p>Utilizzano il round robin (D)</p> Signup and view all the answers

Quale dei seguenti approcci è utilizzato per migliorare la programmazione nei multiprocessori?

<p>Assegnamento dinamico (B)</p> Signup and view all the answers

Quale dei seguenti scenari può causare un bottleneck nel sistema operativo?

<p>SO che viene eseguito su un processore fisso (A)</p> Signup and view all the answers

Flashcards

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)

Il processo di decidere quali programmi possono essere eseguiti nel sistema operativo.

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)

Il processo di decidere quali processi in memoria secondaria possono essere spostati in memoria principale per l'esecuzione.

Signup and view all the flashcards

Short-Term Scheduling (STS)

Il processo di decidere quale processo, tra quelli pronti per l'esecuzione, viene assegnato al processore.

Signup and view all the flashcards

I/O Scheduling

Il processo di decidere a quale processo, tra quelli in coda, viene assegnato il dispositivo di I/O richiesto.

Signup and view all the flashcards

Turnaround Time

Il tempo che intercorre tra la sottomissione di un processo e il suo completamento, includendo i tempi di attesa per l'I/O e il processore.

Signup and view all the flashcards

Response Time

Il tempo che intercorre tra la richiesta di un processo e l'inizio della sua risposta, ovvero quando il processo inizia a dare un output.

Signup and view all the flashcards

Predictability

Un parametro che indica quanto bene un processo è in grado di rispettare le sue scadenze.

Signup and view all the flashcards

Throughput

La quantità di lavoro svolta da un sistema in un determinato periodo di tempo, come il numero di processi completati o le pagine stampate.

Signup and view all the flashcards

Processor utilization

La percentuale di tempo in cui un processore è effettivamente impegnato ad eseguire istruzioni.

Signup and view all the flashcards

Fairness

Un criterio che indica quanto il sistema operativo è equo nell'assegnare le risorse a tutti i processi.

Signup and view all the flashcards

Enforcing Priorities

Un criterio che indica quanto il sistema operativo è in grado di gestire le priorità dei processi.

Signup and view all the flashcards

Balancing Resources

Un criterio che indica quanto il sistema operativo è in grado di distribuire le risorse del sistema in modo efficiente e bilanciato.

Signup and view all the flashcards

Round Robin

Un algoritmo di scheduling che assegna un quanto di tempo a ciascun processo, in ordine ciclico, riducendo le attese, ma non garantendo una equa distribuzione del tempo CPU ai processi I/O bound.

Signup and view all the flashcards

SPN (Shortest Process Next)

Un algoritmo di scheduling che assegna priorità ai processi che richiedono meno tempo di esecuzione, privilegiando i processi brevi e veloci.

Signup and view all the flashcards

Round Robin Virtuale

Quando un processo, dopo aver completato un'operazione di I/O, non viene inserito in coda ai processi pronti, ma in una coda separata con priorità rispetto alla coda dei processi pronti, permettendo di completare il restante quanto di tempo senza dover attendere in coda con altri.

Signup and view all the flashcards

Processi CPU-bound vs I/O bound

I processi CPU-bound usano tutto o quasi il loro quanto di tempo, mentre i processi I/O-bound ne usano solo una parte, fino alla richiesta di I/O. Questo può portare a inefficienze e squilibri nel sistema, soprattutto quando si utilizza il round-robin.

Signup and view all the flashcards

Tempo di Esecuzione Stimato

Il tempo di esecuzione stimato è il tempo previsto che un processo impiega per completare la sua esecuzione. Viene utilizzato nell'algoritmo SPN per decidere quale processo mandare in esecuzione per primo.

Signup and view all the flashcards

Predicibilità dei processi lunghi

La predicibilità di un processo è la capacità di prevedere quando il processo verrà eseguito e quanto tempo ci vorrà. L'algoritmo SPN può compromettere la predicibilità dei processi lunghi, rendendo difficile stabilire quando saranno eseguiti.

Signup and view all the flashcards

Starvation

La starvation di un processo si verifica quando un processo non riesce ad accedere alla CPU per un tempo prolungato, a causa di altri processi che vengono eseguiti più frequentemente. L'algoritmo SPN può causare la starvation dei processi lunghi.

Signup and view all the flashcards

Abbandono di un processo

Il sistema operativo può interrompere l'esecuzione di un processo se il suo tempo di esecuzione stimato si rivela errato. Questo può accadere con l'algoritmo SPN, in particolare se il tempo stimato è molto diverso dal tempo reale.

Signup and view all the flashcards

Processo Interattivo

Un processo chiamato da un utente che richiede attenzione immediata (es. interazione con il mouse, tastiera), il sistema operativo deve eseguirlo entro 150 ms per garantire un'esperienza utente fluida.

Signup and view all the flashcards

Processo Batch

Un processo che non ha bisogno di un'attenzione immediata e può aspettare per un tempo più lungo (es. compilazione codice, analisi dati). Lo scheduler può assegnare loro meno tempo di CPU.

Signup and view all the flashcards

Dispatcher (short-term scheduler)

Il processo di selezione di un processo dalla runqueue per l'esecuzione sul processore, avviene in un lasso di tempo minimo (1 ms in Linux).

Signup and view all the flashcards

Runqueue

La code in cui vengono posti i processi in attesa per l'esecuzione, ogni processore ha la propria runqueue.

Signup and view all the flashcards

Wait Queue

La code in cui vengono posti i processi quando devono attendere per un evento (es. I/O, blocco del file).

Signup and view all the flashcards

Quanto di tempo

L'intervallo di tempo minimo assegnato a un processo per l'esecuzione (1 ms in Linux).

Signup and view all the flashcards

Scheduling in Linux

Il tipo di scheduling in Linux, che deriva da UNIX, prioritario e preemptivo, assegnando priorità dinamiche ai processi.

Signup and view all the flashcards

Utilizzo del processore

La percentuale di tempo in cui il processore è in uso. Idealmente, il processore dovrebbe essere il più possibile inattivo (idle).

Signup and view all the flashcards

Bilanciamento delle risorse

Lo scheduler deve assicurarsi che le risorse del sistema siano usate il più possibile, favorendo i processi che richiedono meno risorse attualmente in uso.

Signup and view all the flashcards

Priorità

I processi con priorità più alta devono essere favoriti dallo scheduler. Viene creata una coda per ogni livello di priorità.

Signup and view all the flashcards

Funzione di selezione

Sceglie il processo da mandare in esecuzione basandosi sulle sue caratteristiche, come il tempo trascorso in attesa (w), il tempo trascorso in esecuzione (e) e il tempo totale richiesto (s).

Signup and view all the flashcards

Modalità di decisione

Specifica quando la funzione di selezione viene chiamata. Può essere preemptiva o non preemptiva.

Signup and view all the flashcards

Non-preemptive

Un processo in esecuzione continua fino a terminazione o a una richiesta bloccante (I/O).

Signup and view all the flashcards

Preemptive

Il sistema operativo può interrompere un processo in esecuzione, anche senza che termini o richieda un'operazione bloccante.

Signup and view all the flashcards

FCFS (First Come First Served)

Un processo viene inserito nella coda di processi ready e viene eseguito in ordine di arrivo. Solo il processo in testa alla coda viene eseguito.

Signup and view all the flashcards

Svantaggio di FCFS

Un processo corto potrebbe dover attendere molto prima di essere eseguito.

Signup and view all the flashcards

Quanto di tempo: ottimale per il sistema

Se il quanto di tempo è maggiore del tipico tempo di interazione, il sistema funziona bene.

Signup and view all the flashcards

Quanto di tempo: non ottimale per il sistema

Se il quanto di tempo è minore del tipico tempo di interazione, il sistema non è efficiente.

Signup and view all the flashcards

Quanto di tempo: calcola il tempo medio di interazione

Il quanto di tempo deve essere leggermente superiore al tempo medio di interazione di un processo, per un buon bilanciamento.

Signup and view all the flashcards

Stima del Tempo di Esecuzione

Il processo di stimare il tempo di esecuzione di un processo, considerando diverse istanze passate.

Signup and view all the flashcards

Exponential Averaging

Un metodo per stimare il tempo di esecuzione di un processo, dando più peso alle istanze più recenti, per migliorare la precisione.

Signup and view all the flashcards

Shortest Remaining Time (SRT)

Un algoritmo di scheduling che sceglie il processo con il tempo di esecuzione rimanente più breve, ignorando il tempo di arrivo.

Signup and view all the flashcards

Highest Response Ratio Next (HRRN)

Un algoritmo di scheduling che sceglie il processo con il rapporto più alto tra il tempo trascorso in attesa e il tempo totale richiesto.

Signup and view all the flashcards

SRT (Shortest Remaining Time)

Un algoritmo di scheduling preemptivo che utilizza il tempo rimanente stimato per l'esecuzione come criterio.

Signup and view all the flashcards

Priorità del Processo in UNIX

Una misura che combina la quantità di CPU utilizzata da un processo con una componente di base e una componente 'nice'

Signup and view all the flashcards

Processo Degradato (Nice)

Un processo che viene eseguito con una priorità più bassa, limitando la sua esecuzione.

Signup and view all the flashcards

Cluster

Un tipo di architettura multiprocessore in cui ogni processore ha la propria RAM e comunica con una rete ad alta velocità.

Signup and view all the flashcards

Processori Specializzati

Un tipo di architettura multiprocessore in cui ogni dispositivo di I/O ha un proprio processore dedicato.

Signup and view all the flashcards

Assegnamento Statico

Una tecnica di scheduling che assegna un processo specifico a un processore per l'intera durata della sua esecuzione.

Signup and view all the flashcards

Assegnamento Dinamico

Una tecnica di scheduling che consente a un processo di eseguire su diversi processori durante il suo ciclo di vita.

Signup and view all the flashcards

SO fisso, processi mobili

Il sistema operativo (SO) può eseguire su un processore dedicato, mentre i processi utente vengono spostati tra diversi processori

Signup and view all the flashcards

SO mobile

L'esecuzione del SO su qualsiasi processore disponibile, offrendo flessibilità ma con un maggior sovraccarico per gestire il SO mobile.

Signup and view all the flashcards

Scheduling Tradizionale di UNIX

Un algoritmo di scheduling che combina la priorità con un approccio round robin.

Signup and view all the flashcards

Processi Real-Time

In Linux, processi che hanno bisogno di essere eseguiti immediatamente e con tempistiche precise. Utilizzano la system call sched_setscheduler per ottenere la pianificazione in tempo reale.

Signup and view all the flashcards

Schemi di Pianificazione Real-Time

La pianificazione in tempo reale in Linux si divide in due schemi: SCHED_FIFO e SCHED_RR.

Signup and view all the flashcards

Processi Standard

Oltre ai processi real-time, Linux gestisce i processi standard con lo schema SCHED_OTHER. Questi processi hanno una priorità inferiore e vengono eseguiti solo dopo i processi real-time.

Signup and view all the flashcards

Priorità dei Processi

Il sistema di pianificazione Linux assegna una priorità ai processi, che va da 1 a 139. I processi con priorità più alta vengono eseguiti prima. Ci sono anche delle priorità riservate per situazioni specifiche, come la priorità 0.

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.

Quiz Team

Related Documents

Sistemi Operativi Modulo I PDF

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.

More Like This

Linux Process Management Quiz
16 questions
Linux Shell Flashcards
39 questions

Linux Shell Flashcards

MarvelousPascal avatar
MarvelousPascal
Use Quizgecko on...
Browser
Browser