Processo informatico
Processo è un termine con molteplici usi, che appare in molti contesti diversi. In informatica, il concetto si riferisce all'esecuzione di varie istruzioni da parte del microprocessore, secondo quanto indicato da un programma.
Il sistema operativo del computer (computer) è responsabile della gestione dei processi. Questo software gestisce le istruzioni date al microprocessore da altri programmi informatici, analizza lo stato di esecuzione e organizza la memoria dedicata ai compiti.
Il sistema operativo si occupa di creare e cancellare i processi e di stabilire le comunicazioni tra loro. Come questo viene gestito, tuttavia, dipende dal modo in cui funziona ogni particolare sistema operativo.
Ci sono diversi percorsi per la creazione di un processo informatico, come il sistema che si avvia da solo, una richiesta dell'utente o una chiamata fatta da un altro processo. Per quanto riguarda la terminazione di un processo, può essere fatta in modo normale, da un errore o per richiesta di un altro processo.
Un processo informatico, d'altra parte, può passare attraverso diversi stati. Può essere in esecuzione (quando utilizza il microprocessore), bloccato (la sua esecuzione richiede un altro evento per essere eseguita) o pronto (quando libera il microprocessore in modo che possa dedicarsi a un altro processo).
È possibile distinguere tra diversi tipi di processi. I processi cooperativi, per esempio, sono gestiti da diverse configurazioni hardware. I processi distribuiti, d'altra parte, sono distribuiti tra diversi elementi di un sistema. Esistono anche processi paralleli, che sono caratterizzati dal fatto che vengono eseguiti simultaneamente.
La terminazione di un processo informatico è l'ultima fase della sua vita, le due precedenti sono la creazione e l'esecuzione di istruzioni. La terminazione può avvenire per diversi motivi, che si manifestano attraverso lo stato che il processo attraversa quando viene ucciso:
* uscita normale: si verifica quando il processo viene terminato per volontà dell'utente, qualcosa che accade costantemente durante il normale utilizzo di un dispositivo. Per esempio, ogni volta che un programma viene chiuso;
* error exit: questo è il caso opposto al precedente, poiché la terminazione del processo informatico è dovuta all'impossibilità di continuare l'esecuzione. Un esempio comune è quando i dati sono insufficienti, cioè quando un processo richiede un file che non può trovare all'indirizzo fornito dal programma;
* errore fatale: questo stato di solito causa paura negli utenti meno esperti, poiché la sua forma di manifestazione non è esattamente amichevole. È causato da un errore nel programma, che può verificarsi per una varietà di ragioni, come il tentativo di scrivere in una parte di memoria che non è accessibile, o la richiesta di una divisione per 0;
* ucciso da un altro processo: alcuni sistemi operativi mostrano agli utenti messaggi come "il programma non risponde" in situazioni in cui il programma non sembra essere in esecuzione. La realtà è spesso ben diversa, perché nella maggior parte dei casi è che è rimasta "intrappolata" in un ciclo infinito, cioè proprio il contrario. In questi casi, l'unico ricorso per terminare il processo del computer sembra essere l'aiuto di un altro, che, a seconda dell'ambiente, può essere eseguito premendo un pulsante o da istruzioni scritte nella finestra di comando.
Per ottenere prestazioni ottimali del computer, uno dei punti fondamentali è conoscere i processi del computer che il sistema operativo esegue di default e distinguere quelli che sono veramente utili per noi, al fine di fermare il resto ed evitare un uso inutile del processore e della memoria.