[Tech] demone, libreria a che altro ?

Lorenzo trash@vacmf.org
Dom 20 Giu 2010 13:06:07 CEST


On Sun, 2010-06-20 at 12:29 +0200, Leonardo Boselli wrote:
> OK, di fatto lo sarebbe, ora passiamo al cuore del problema:
> tutti gli esempi che ho visto utilizzano per comunicare dei socket tcp/ip 
> .
> la cosa  estremamente comoda dal punto di vista della portatilit ma mi 
> lascia perplesso sulla efficienza, quindi mi (vi) chiedevo se ce ne 
> fossero di migliori ....

Il socket mi pare una buon approccio. Avvii il server, carica tutto in
memoria e si prepara a rispondere alle richieste dei cleint eliminando
l'overhead di dover inizializzare i dati di base ad ogni richiesta. 
Ti resta poi da gestire l'aggiornamento dei dati resistendi in memoria
quando un client accede in scrittura, ma qui si entra troppo in
dettaglio. 
Usando i socket ti garantisci anche la liberta' di scegliere il
linguaggio piu' conveniente per scrivere il server e il client che non
deve necessariamente essere lo stesso. 

Venedo al socket in se, a meno che la comunicazione non debba essere di
rete potresti usare un socket unix invece che TCP/IP, sempre socket e'
ma non vai a scomodare l'accesso da remoto con tutte le implicazioni del
caso.

> la comunicazione li limita a inviare al demone 4 interi e averne uno di 
> risposta quindi  leggerina, e tutto l; overhead di una comunicazioine TCP 
> pesa, vero per che con un socket TCP potrebbero non esser4ci problemi a 
> inviare anche array, quindi in molti casi, ridurre il numero di chiamate.
> Infine il dubbio che il "committente" (tra virgolette perch non paga) ha 
> posto : il demone se sta in ascolto consuma risorse CPU ? o viene 
> "svegliato" solo quando qualcuno si collega al socket ?

Se il demone non fa niente mentre aspetta una chiamata non dovrebbe
consumare CPU ma solo tenersi allocata la memoria.

> 
> 
> --
> Leonardo Boselli
> 
> On Sun, 20 Jun 2010, Giancarlo Martini wrote:
> 
> > Leonardo Boselli wrote:
> >> ho una esigenza, � complessa e cerco di metteral per piccole parti:
> >> debbo accedere a dei dai la cui inizializzazione, in confronto al numero di 
> >> utilizzi che ne viene fatto, � abbastanza lunga.
> >> quello che intendo fare � un programma, che viene caricato all'avvio, che 
> >> inizializza una serie di dati che poi mantiene in memoria.
> >> Altri programmi poi gli chiederanno dei dati, come fosse una loro funzione
> >> int collega(int x, int y, int io, int f)
> >> dove se f � pari significa che debbono leggere e se � dispari scrivere 
> >> il valore io.
> > io lo vedrei bene come demone

-- 
Ciao
lorenzo
Gpg Key FPR: 8300 A8D8 A494 EDB7 2C7B 8629 549C 0C9C 8FBB 1E9C
-------------- parte successiva --------------
Un allegato non testuale è stato rimosso....
Nome:        non disponibile
Tipo:        application/pgp-signature
Dimensione:  198 bytes
Descrizione: This is a digitally signed message part
URL:         <http://lists.linux.it/pipermail/flug-tech/attachments/20100620/44e36ee8/attachment.pgp>


Maggiori informazioni sulla lista flug-tech