martedì 30 novembre 2010

Programmi e processi

Molto spesso la parola programma e la parola processo vengono scambiate, proprio come si usa fare con due sinonimi! Esiste tuttavia un'importante distinzione che forse è meglio approfondire.
Su un sistema operativo GNU/Linux ogni cosa è un file: immagini, video, documenti, dispositivi e programmi. L'utente, oppure il sistema operativo, dispone i file in determinate cartelle del file system.
Quando serve, un programma viene quindi richiamato dal fi le system e mandato in esecuzione. Un programma in esecuzione è anche detto processo. I processi in esecuzione risiedono nella memoria principale nel nostro computer, la memoria ram (random access memory).
E' inevitabile, quindi, che la memoria ram installata sul nostro computer finisca per caratterizzare il massimo numero di processi, e quindi di programmi in esecuzione, che è possibile tenere sul nostro computer!
Sul file system ogni fi le, e quindi anche un programma, ha un nome. Se voglio cercare un programma, molto probabilmente, inizierò una ricerca per nome (ad esempio con gnome-search-tool). Ma come cercare un processo?
Ogni processo è identi cato in maniera univoca da un numero intero detto PID (process id). In molti si chiederanno: "perché Linux per identificare un processo non usa il nome del programma?"
La risposta è molto semplice, attraverso il nome del programma mandato in esecuzione è possibile identi care un gruppo di processi. A partire da un programma, infatti, è possibile generare uno o più processi. Tutti questi processi, pertanto, avranno lo stesso nome ma PID differente! Immaginate di aprire più volte il vostro browser (vi sarà capitato qualche volta), ad esempio Firefox. Tutti questi processi verranno generati dal programma di nome Firefox ma ognuno di questi avrà un diverso valore per il PID. Ecco, dunque, che l'identificazione attraverso il nome del programma non sempre è univoca. E' importante apprezzare questa distinzione. I comandi Linux kill e killall, come vedremo prossimamente, permettono di chiudere uno o più processi!

Nessun commento:

Posta un commento