From 740e97ef64a92afda1ae8707b80c2097a93b476b Mon Sep 17 00:00:00 2001 From: piccihud Date: Sun, 15 Dec 2024 12:04:32 +0100 Subject: [PATCH] Linux scheduder e OS multitasking --- 101/020_nice_renice.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 101/020_nice_renice.md diff --git a/101/020_nice_renice.md b/101/020_nice_renice.md new file mode 100644 index 0000000..496acb6 --- /dev/null +++ b/101/020_nice_renice.md @@ -0,0 +1,13 @@ +# Introduzione: sistemi multi-tasking + +Gli OS in grado di eseguire piu' di un processo in contemporanea sono chiamati sistemi *multi-tasking*. La vera simultaneita' si verifica solamente quando sono disponibili piu' CPU, ma anche i sistemi a processore singolo possono simularla, passando da un processo ad un altro molto rapidamente. Infatti, solo un processo alla volta puo' utilizzare la CPU. + +## Il Linux scheduler + +Lo scheduler *organizza la coda dei processi*. Esistono due tipi principali di criteri di pianificazione (*scheduling*): + +- *politiche in tempo reale*: *i processi vengono eseguiti in base ai loro valori di priorita'*. Se un processo con priorita' maggiore diventa pronto per essere eseguito, un processo meno importante viene interrotto e il processo con priorita' piu' alta assume il controllo della CPU. Un processo con priorita' inferiore otterra' il controllo della CPU solo quando i processi con priorita' maggiore saranno inattivi o in attesa di risposte hardware. Qualsiasi processo in tempo reale ha una priorita' maggiore di un processo normale +- *politiche normali*: i processi normali hanno tutti lo stesso valore di priorita', ma le politiche normali possono definire delle regole di priorita' d'esecuzione utilizzando il *nice value* + +## Priorita' +