Per favore: non leggere troppo di fretta quel che segue. Se ti sfugge un passaggio, faticherai, a mano a mano che avanzi, sempre più, a comprendere il resto. Per cui, se serve,
ogni volta che serve, ritorna subito indietro e
rileggi -lentamente, cercando di visualizzare i vari concetti e misurando le parole- daccapo. Fallo anche più volte -se vedi che serve,- fino a che non avrai le idee più chiare. E solo poi, prosegui nella lettura (ma senza troppo correre).
Probabilmente, qualcuno ci sarà che è assai più semplice e chiaro, nello spiegar le cose di questo post, di quel che può riuscire a me.
Non io, comunque. Questo è -almeno, sul momento- più o meno il massimo che son riuscito a fare.
Ti do un consiglio serio, al riguardo, se per davvero vuoi comprendere com'è che stan le cose veramente (e non solo per quello che concerne il PC): non credere che la "semplicità" sia sempre di vantaggio, per capire: molto spesso non lo è. E, anzi, rischia di creare idee errate (e preconcette) che, successivamente, si fa una gran fatica a eradicare.
Giusto cercare d'essere "semplici", ma sempre preservando un limite (davvero invalicabile): si può esser "più semplici" soltanto sino a che la nostra aggiunta di "semplicità" non va a intaccare il senso (ed il significato) di quel che stiam spiegando. Ma se il senso di quello che vogliamo dire dovesse uscire dalla spiegazione anche soltanto un po' "depauperato", quella "semplicità aggiuntiva" nostra diverrebbe una sorta di
maledizione.
mago30 ha scritto:Quando si parla di programmi ad esecuzione automatica,vuol dire che vengono lanciati senza intervento dell'utente.
Devi distinguere TRE concetti che nel parlar comune vengono spesso "sovrapposti", ma che sono -in verità- concetti profondamente distanti e differenti.
1)
PROGRAMMA: si tratta di un insieme di ORDINI strutturato. Lo puoi pensare un poco come il "Piano di Battaglia" elaborato sin nei più minuti dettagli (dalla composizione esatta, equipaggiamento e posizionamento iniziale delle truppe a tutti i movimenti e tutte le azioni che dovranno svolgere, a mano a mano nel corso della battaglia). NON si tratta, dunque, di "azione in atto", bensì di un complesso e raffinato PIANO D'AZIONE (ossia di tutta una serie di "ordini" -gerarchicamente strutturati- che dovranno essere eseguiti in una sequenza e in tempi rigidamente prestabiliti). Nel concetto di Programma, dunque, c'è l'idea di un "piano d'azione", ma non c'è -in atto- NESSUNA AZIONE.
Naturalmente, più "programmi" (più Piani di Battaglia) possono essere assemblati e coordinati fra di loro organicamente (e armonicamente) fino a generare un Programma UNICO e più ampio dell'insieme delle sue sole parti (un po' come tanti "piani di battaglia" posson essere collegati e armonizzati fra di loro sino a mettere assieme un unico e vincente "piano di guerra"). In questi casi, chiamiamo -in genere-
Programma il "Piano di Guerra" tutt'intero (che include in sé tanti
sottoprogrammi).
2)
PROCESSO: si tratta di un insieme strutturato, gerarchicamente organizzato e posto in essere secondo una ben precisa sequenza, di EFFETTIVE AZIONI. Restando all'esempio "militare" di prima, è un "processo" la vera e propria battaglia che viene, in effetti, davvero combattuta dai soldati che, sul campo di battaglia, eseguono -alla lettera e con la maggior precisione- tutti gli ordini compresi nel "Piano di Battaglia". Un "processo", dunque, è l'attivazione (ossia, l'effettiva "concreta" realizzazione) di un Programma. Però, se diamo il nome di
Programma al "piano di guerra" (ossia, all'insieme di un certo numero di
sottoprogrammi), è più corretto immaginare l'effettiva ESECUZIONE DEL PROGRAMMA come l'esecuzione coordinata dei suoi
sottoprogrammi (e sono, dunque, i vari sottoprogrammi, in questo caso, che finiscon per coincidere -concettualmente- coi PROCESSI).
3) si chiama
SERVIZIO la struttura che regola (nell'ambito di un Sistema Operativo) il passaggio da un "Programma" ai "Processi" che ne derivano (e che son l'attuazione pratica dei
sottoprogrammi che compongono il Programma). Essendo una STRUTTURA di "ordini" anche questa, si tratta, con chiarezza, di un concetto che non è lontano da quello di Programma (o di
sottoprogramma); al tempo stesso, però, è chiaro che lo stesso concetto di SERVIZIO, quando vien "posto in atto" (ossia eseguito) diviene molto simile a quel che abbiam chiamato un Processo. Questo, perché i Servizi, per il Sistema Operativo, sono, nel loro insieme, un po' come dei "ponti di passaggio" della trasformazione di un
sottoprogramma in vero
processo "in atto".
Il "passaggio" che trasforma i
sottoprogrammi di un Programma in Processi si chiama ESECUZIONE.
Se non si tien distinto il concetto di Programma da quello di Processo (che è relato, spesso, all'idea di
sottoprogramma) e non si rende chiaro che è tramite i Servizi che il Sistema Operativo gestisce l'esecuzione dei Programmi, sarà impossibile riuscire a immaginar quello che per davvero avviene sul PC.
Risulta di tutta evidenza, capito questo, che NON "il Programma" può venire chiuso, bensì "il Processo" (così come "il Servizio"), perché solo "il Processo" (com'è pure "il Servizio") è qualcosa ch'è IN ATTO (e, dunque, si può fermare). Il Programma, invece, essendo un puro e semplice insieme di "Piani di Battaglia" non è davvero "in atto": può essere eseguito, ma non lo si può "spegnere" (proprio perché è una serie di istruzioni scritte, punto e basta).
Insomma, puoi azzittir l'orchestra che sta suonando la
Nona Sinfonia di Beethoven (bestialità, d'accordo, sì, però materialmente possibile da realizzare), ma non si può "azzittire" LO SPARTITO della
Nona Sinfonia. Il Programma è lo Spartito. I musicisti (orchestrali, coristi, direttore d'orchestra) sono i Servizi. Se ci aggiungi anche tutto il resto del Teatro Lirico-Sinfonico (dagli scenografi, ai tecnici, agli impiegati e ai contabili, ai dirigenti e ai direttori di minor livello, via via, fino all'ultimo degli scopini), hai un'idea -benché limitata- dell'intero Sistema Operativo.
mago30 ha scritto:A questo proposito:
1. vengono lanciati sempre all'avvio di windows o anche ad orari prestabiliti?
Vengono eseguiti all'avvio di Windows.
Vi sono dei Servizi, però, che possono venir usati per impostare il lancio di taluni Processi ad ore predeterminate (purché il sistema Operativo sia, in quel momento, acceso e attivo).
mago30 ha scritto:2. possono avere anche una interfaccia grafica qualora necessario?
I Programmi possono avere un'interfaccia grafica. I Processi, ovviamente, non ce l'hanno. Come non la hanno neppure i Servizi (anche se esiston dei Programmi [aventi interfaccia grafica] che servono all'utente per impostar -o per bloccar- dei Servizi).
mago30 ha scritto:3.se un programma viene chiuso vuol dire che decisamente non e' piu' in esecuzione?
Non si può chiudere ("killare") un Programma. Si può bloccar la sua esecuzione, ovvero chiudere "il Processo" in corso (che è l'effettiva esecuzione del "pacchetto di ordini" contenuto nel Programma).
mago30 ha scritto:se pero' quel programma (che e' in grado di fare piu' cose) e' impostato per avviare una ricerca di aggiornamenti ad un certo orario di un certo giorno della settimana,supponiamo alle 16 del giovedi,che succede a quell'ora?
Si apre completamente il programma da solo oppure si attivano altre funzioni?
Qui entra in gioco un Servizio che attiva "ad orologeria" l'esecuzione di un programma (ovvero, il sorgere di una serie di Processi l'un l'altro collegati). Il Servizio agisce così perché è stato impostato prima (da Microsoft, nel caso di
Windows Update) precisamente per far questa cosa. Il Programma (che, nell'esempio, è
Windows Update) viene così ESEGUITO (come uno spartito musicale) e ne deriva tutta una serie di Processi "a cascata" che portano, in serie preordinata (e predeterminata [da Microsoft]), a tutta una serie di verifiche (dalle "verifiche di genuinità del software" alla verifica di quali aggiornamenti siano da installare), poi alla comparsa degli eventuali "avvisi", all'eventuale download e via dicendo, sino alla vera e propria opera di installazione.