Seminari del PHC - Sergio Steffè - 31 gennaio 7, 14 febbraio 2000 - Comunicazioni tra Calcolatori  - PISA 

INDIETRO INDICE PHC HOME AVANTI

2.1 La filosofia Client-Server.

I programmi che usano la rete, si basano praticamente tutti sulla cosiddetta architettura client-server . L'idea di base è la seguente: in ogni programma si ha una parte che cura l' interfaccia con l'utilizzatore, e che quindi deve gestire tastiera, mouse, video, suono, etc.. etc.., e una parte che elabora i dati veri e propri facendo calcoli o scrivendo o leggendo i dati da archivi etc.. etc.. Si può pensare di eseguire le due parti su due calcolatori diversi, collegati via rete. Normalmente la parte client è la parte che interagisce con l'utente, mentre la parte server interagisce con i dati, e le due parti si scambiano i dati via rete, ma non è questa la definizione più esatta.

Più propriamente un software fa da client se chiede via rete dei servizi ad un altro software che risponde automaticamente e che fa da server. E' anche possibile che un server abbia contemporaneamente più clients, anche diversi tra di loro; ed è pure possibile che parti di uno stesso programma siano alcune client ed altre server. Per esempio un server Xwindow è un programma che gestisce un sistema grafico a finestre attraverso la rete, e in tal caso una applicazione remota che usa tastiera e display attraverso di esso è detta suo client, per cui in tale caso la situazione si prospetta in termini esattamente invertiti rispetto quello che si potrebbe pensare di primo acchito.

Questa divisione del lavoro ha innumerevoli vantaggi. Si pensi per esempio a un server che sia una macchina specializzata per i calcoli e abbia un certo numero, diciamo n, di clients orientati più verso la grafica: può essere a parità di costo molto più efficiente che avere n stazioni parimenti adatte alla grafica e ai calcoli. Per esempio da molti anni programmi come Mathematica possono funzionare in questo modo: l'interfaccia utente (client ) può girare su un piccolo mac mentre la parte più onerosa di calcolo (il kernel) gira come server in remoto su una stazione ben più potente.

Ci sono parecchi programmi di uso generale sulla rete che funzionano in questa maniera, spesso senza che l'utente se ne renda conto, come per esempio il dns e il nfs .

Nei paragrafi successivi esamineremo poi vari altri programmi che si usano normalmente attraverso la rete.

La parte che gira sul server è di solito un demone, nome con cui viene indicato un programma che rimane dormiente fino a quando un particolare segnale lo attiva e lo lancia in background. E' chiaro che per funzionare da server occorrono calcolatori in grado di gestire in contemporanea molti processi in modo efficiente. Con le attuali macchine, è il software a fare la differenza. Praticamente negate a fare da server le macchine MS-DOS. Le macchine Apple con sistemi sopra il 7 e i PC IBM compatibili con windows 386 hanno già la capacità di gestire qualche demone in background e quindi possono fornire qualche servizio di rete (qualche servizio di stampa o l'export di dischi di solito). Le versioni più recenti di Windows e sopratutto Windows NT possono fare anche da server - se proprio si vuole. Buona parte dei server di rete sono attualmente macchine con sistema operativo UNIX, in una delle sue varie versioni (Sun Solaris, Linux etc.. etc..) .

Si deve tenere presente che sui vari calcolatori, a seconda dei sistemi operativi installati, ci sono comandi di rete diversi con modalità di uso diverse. C'è però un piccolo nucleo di comandi elementari che è disponibile sia su macchine MS-DOS, che MS-Widows, che Mac, che Unix o Linux. Senza scendere nei dettagli, che sono un po' diversi al variare dei sistemi operativi e delle macchine, passeremo velocemente in rassegna tali comandi.

Per sapere di più sui vari comandi, si ricorda che sulle macchine Linux, che useremo nell'esemplificare i vari comandi, è possibile consultare le relative pagine del manuale in linea con il comando man: cioè per esempio se si vuole sapere cosa fa e come si usa rcp basta avere la pazienza di leggere quello che appare sullo schermo quando si da il comando

man rcp

( se ci si stufa basta battere la lettera q che sta per quit - per avanzare una pagina alla volta basta battere uno spazio).

Ci sono sistemi di help simili più o meno efficienti anche sugli altri sistemi operativi. Spesso purtroppo le caratteristiche essenziali del funzionamento dei vari comandi sono sommerse nella documentazione dalle informazioni su caratteristiche e proprietà secondarie o opzionali.

Vedremo infine alcuni comandi che permettono l'accesso a sistemi informativi grafici o persino multimediali: con alcune variazioni sono disponibili sotto MS-Windows, per Mac e sotto X11 sulle macchine Unix. Di solito per questi sistemi a finestre ci sono degli help o dei manuali in linea dei vari programmi (cioè se sono stati installati correttamente...) Per usare questi programmi occorre un po' di pratica con il puntatore (mouse o trackball o touchpad o aggeggi simili) e con la logica del sistema a finestre usato.
 
INDIETRO INDICE PHC HOME AVANTI