Cinque attività principali di un sistema operativo rispetto alla gestione dei processi
Esistono cinque attività principali che un sistema operativo deve mantenere per gestire i processi in esecuzione. Senza queste cinque attività, un sistema operativo non sarebbe in grado di rimanere stabile a lungo.
Creazione del processo
Quando si accende il computer per la prima volta, il sistema operativo apre i processi per eseguire servizi per qualsiasi cosa, dallo spooler di stampa alla sicurezza del computer. Quando si accede al computer e si avviano i programmi, i programmi creano processi dipendenti. Un processo non è il programma stesso, ma piuttosto le istruzioni che la CPU usa per eseguire il programma. Un processo appartiene a Windows oa qualche altro programma che hai installato.
Stato di elaborazione
Lo stato di un processo può essere "creato", "in esecuzione", "in attesa" o "bloccato". Si può dire che un processo è "in attesa" il momento successivo all'avvio del suo programma padre e prima che sia stato elaborato dalla CPU. Un processo è "in esecuzione" quando la CPU lo sta elaborando. Puoi considerare un processo "bloccato" se il computer non dispone di memoria sufficiente per elaborarlo o se non è possibile individuare i file associati al processo. Tutti i sistemi operativi hanno una sorta di sistema di gestione dei processi, sebbene abbiano nomi diversi per ogni stato.
Sincronizzazione del processo
Una volta che i processi sono in esecuzione, il sistema operativo ha bisogno di un modo per garantire che nessun processo acceda alle stesse risorse contemporaneamente. In particolare, nessun processo può tentare di eseguire la stessa area di codice contemporaneamente. Se due processi tentassero di eseguire questo codice contemporaneamente, potrebbe verificarsi un arresto anomalo mentre tentano di chiamare gli stessi file e inviare le stesse istruzioni alla CPU contemporaneamente. Se due processi devono eseguire lo stesso codice, uno deve attendere che l'altro finisca prima di procedere.
Processo di comunicazione
Il computer deve garantire che i processi possano comunicare con la CPU e tra loro. Ad esempio, un programma può avere molti processi e ogni processo può avere un livello di autorizzazione diverso. Un livello di autorizzazione è semplicemente un'indicazione del livello di accesso che un processo dovrebbe avere al sistema. La comunicazione di processo garantisce che il computer possa determinare le autorizzazioni di ciascun processo. Questo è molto importante per impedire al malware di eliminare file di sistema o aggiungere istruzioni al sistema operativo stesso.
Prevenzione deadlock
Infine, il computer deve disporre di un modo per garantire che i processi non si blocchino. Il deadlock si verifica quando due processi richiedono ciascuno una risorsa che l'altro sta attualmente utilizzando e quindi nessuno dei due processi può completare ciò che sta facendo. Le risorse non possono essere rilasciate e i programmi si bloccano. Puoi anche fare riferimento a questa situazione come "attesa circolare". I sistemi operativi prevengono il deadlock in diversi modi, ma il metodo più comune consiste nel forzare un processo a dichiarare le risorse di cui avrà bisogno prima che possa essere avviato. In alternativa, un processo può essere forzato a richiedere risorse in blocchi e quindi a rilasciare le risorse al termine con esse.