Processo
Un processo è un'istanza di un programma attualmente in esecuzione su un computer. Rappresenta l'esecuzione attiva di un programma da parte della CPU e può variare da una piccola attività in background a un'applicazione completa, come un elaboratore di testi o un browser web. Ogni processo è costituito da uno o più thread e contiene le istruzioni presenti nel codice del programma e tutte le risorse di cui ha bisogno nel suo stato attuale come (input, output e dati intermedi).
Molte applicazioni suddividono le proprie attività in processi figlio. Ad esempio, un browser web può avviare un processo separato per ogni scheda aperta e per ogni estensione o plug-in installato. In genere, ai processi indipendenti di applicazioni diverse non è consentito comunicare direttamente, per evitare conflitti e garantire la sicurezza dei dati. Tuttavia, tecniche di comunicazione tra processi (IPC) come socket e code di messaggi offrono ai processi un modo per scambiare informazioni in maniera sicura e controllata.
I moderni sistemi operativi supportano il multitasking, che consente l'esecuzione contemporanea di più processi. Ogni core della CPU può eseguire un processo alla volta, consentendo l'esecuzione parallela di diversi processi. Poiché ci sono sempre più processi attivi rispetto ai core disponibili, lo scheduler delle attività del sistema operativo suddivide il tempo della CPU tra i processi in base alla priorità, passando rapidamente dall'uno all'altro per mantenerli in esecuzione quasi simultaneamente. I processi interattivi tendono ad avere la priorità più alta, quindi gli input dell'utente, come la pressione dei tasti e i clic del mouse, ricevono immediatamente le risorse, mentre i processi in background aspettano il proprio turno.
Ogni sistema operativo fornisce anche utilità che consentono all'utente di vedere quali processi sono in esecuzione sul computer e di terminare manualmente quelli che non rispondono più. Gli utenti di Windows possono aprire il Task Manager usando una scorciatoia da tastiera ( + + ). L'equivalente di macOS è l'app Monitoraggio Attività (nella cartella Applicazioni / Utility). Unix e Linux includono diverse utilità di monitoraggio del sistema, a seconda della distribuzione, come le utilità top e htop o l'applicazione Monitor di sistema di GNOME.
Metti alla prova le tue conoscenze