Processo (informatica): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Altri progetti: Creato la sezione e aggiunto il template "Interprogetto"
fix
Riga 1:
{{NN|informatica|gennaio 2024}}
 
Il '''processo''' in [[informatica]] è un'entità dinamica caricata su memoria [[Random Access Memory|RAM]] generata da un [[programma (informatica)|programma]]: identificato da un codice univoco chiamato PID, più precisamente, esso è una sequenza di attività (''task'') controllata da un programma ([[scheduler]]) che si svolge su un [[processore]] in genere sotto la gestione o supervisione del rispettivo [[sistema operativo]].
 
Riga 14 ⟶ 15:
=== Processi e thread ===
{{vedi anche|Thread (informatica)}}
 
Il concetto di processo è associato, ma comunque distinto da quello di [[Thread (informatica)|thread]] (abbreviazione di '''thread of execution''', filo dell'esecuzione) con cui si intende invece l'unità granulare in cui un processo può essere suddiviso (''sottoprocesso'') e che può essere eseguito a divisione di tempo o in parallelo ad altri thread da parte del processore. In altre parole, un thread è una parte del processo che viene eseguita in maniera [[concorrenza (informatica)|concorrente]] ed indipendente internamente allo stato generale del processo stesso. Il termine inglese rende bene l'idea, in quanto si rifà visivamente al concetto di fune composta da vari fili attorcigliati: se la fune è il processo in esecuzione, allora i singoli fili che la compongono sono i thread.
 
Riga 33 ⟶ 35:
 
=== Supporto del sistema operativo ===
{{Vedivedi anche|Scheduler|Interrupt|Polling (informatica)|Deadlock|Starvation}}
 
I sistemi operativi si classificano nel seguente modo in base al supporto che offrono a processi e thread:
Riga 46 ⟶ 48:
 
=== Thread e handle ===
 
Nel [[sistema operativo]], ciascun processo è identificato da un numero, detto '''[[PID (Unix)|PID]]''' ('''P'''rocess '''ID'''entifier) oppure "process handle".
 
Riga 71 ⟶ 72:
 
Gli stati in cui un processo si può trovare sono:
 
* ''esecuzione'' (''running''): il processo ha il controllo di un processore;
* ''pronto'' (''ready''): il processo è pronto ad essere eseguito, ed è in attesa che lo [[scheduler]] lo metta in esecuzione;
Riga 79:
 
=== Genesi di processi e thread ===
 
Al [[Boot|bootstrap]] del sistema operativo ci sono in esecuzione uno o più processi creati dal sistema operativo stesso. Durante l'avvio del sistema, in base alla configurazione, possono essere creati numerosi processi. Durante la normale operatività, in base alle richieste degli utenti, possono essere creati nuovi processi e altri possono terminare. Quando il sistema operativo inizia l'esecuzione di un programma, crea un processo dotato di un solo thread. Durante l'esecuzione di tale thread, detto thread principale, il codice può creare altri thread o altri processi con apposite [[chiamata di sistema|chiamate di sistema]].