The UNIX and Linux Forums  

Go Back   UNIX e Linux Forum > Inizio Forum > Di programmazione ad alto livello
.
google unix.com



Di programmazione ad alto livello Pubblica domande su C, C + +, Java, SQL, e di altri linguaggi di programmazione qui.

Più di UNIX e Linux Forum Argomenti potreste trovare utili
Filo Thread Starter Forum Risposte Ultimo Post
Formato ELF libreria condivisa? wntrmead Di programmazione ad alto livello 11 11-16-2007 02:19 PM
libreria condivisa areef4u UNIX e avanzata per utenti esperti 1 08-01-2006 03:14 AM
Carenza di memoria condivisa, ma un sacco di memoria non utilizzati cjcamaro UNIX e avanzata per utenti esperti 1 10-13-2004 06:10 PM
Problema libreria condivisa vinz HP-UX 1 08-27-2004 11:57 AM
Libreria condivisa rajashekaran Di programmazione ad alto livello 2 08-03-2002 02:59 PM

 
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Cerca in questo Thread Rate Thread Modalità di visualizzazione
  #1 (permalink)  
Old 05-21-2007
DreamWarrior DreamWarrior is offline
Utente Registrato
  
 

Iscriviti Data: ottobre 2003
Interventi: 70
Memoria condivisa in libreria condivisa

Ho bisogno di creare una libreria condivisa di accedere ad un DB in memoria. Il PB non è enorme, ma abbastanza grande da rendere difficile da portare in giro in ogni singolo processo utilizza la libreria condivisa. Fortunatamente, è piuttosto statica informazioni, quindi non ho bisogno di preoccuparsi molto di sincronizzare i dati tra le istanze della libreria condivisa. Tuttavia, ciò che ho bisogno di preoccuparsi per l'inizializzazione della memoria è una volta e mai più.

Mi piacerebbe tutte le librerie condivise di avere una biblioteca ambito variabile, ma non credo che possibile. Se si, fammi sapere ... ma so che ogni processo viene normalmente la propria copia della libreria condivisa del segmento dati. Non credo che ci sia un modo per segnalare che una parte del segmento di dati condivisi, come in tutti i casi della biblioteca.

Quindi, penso io, devi avere l'accesso alla biblioteca PB in memoria condivisa. Tuttavia, il primo esempio della biblioteca di essere avviato a creare le esigenze di memoria condivisa, allegare ad esso, e caricare il tutto prima di qualsiasi altra possibili casi può usare. Come faccio a garantire che questo crea / inizializzazione avviene una volta prima che la memoria condivisa è utilizzata?

In un primo momento, ho pensato di non existance del segmento di memoria condivisa potrebbe farlo ... ma esiste una race condition tra creare e inizializzare dove in un altro esempio della biblioteca di vedere la memoria condivisa, ma non essere in grado di accedere perché non è stato ancora inited. So che è in grado di memorizzare posix mutex nella memoria condivisa in modo ... penso che posso usare uno di loro. Tuttavia, l'altro problema esiste quando il segmento di memoria condivisa è "più di sinistra" dal precedente corre.

Che cosa succede allora? Allora ... tutte le librerie di "staccare" dal segmento, ma nessuno di loro distruggerlo. Ora che cosa ... la prossima volta che la biblioteca inizia fresche dovrebbe ri-init di memoria condivisa, ma non lo faranno.

Hummm ... tutte le idee? Alcuni direzione? Qual è il metodo comune di fornire la memoria condivisa syncronization? Devo utilizzare un sistema semaforo? Non è lo stesso affetto da "caldo" inizio problema (staccato da processi libreria condivisa, ma la memoria / semafori ancora residente).

Questo sarà scritto per AIX 5, BTW, per coloro che sono interessati.
 

Segnalibri

Tag
linux

Thread Tools Cerca in questo Thread
Cerca in questo Thread:

Ricerca Avanzata
Modalità di visualizzazione Vota questo thread
Vota questo thread:

Distacco regolamento
Tu non può post nuovo thread
Tu non può inviare una risposta
Tu non può postare allegati
Tu non può modificare i tuoi post

BB codice è Su
Smilies sono Su
[IMG] codice Su
Codice HTML è Chiuso
Trackbacks sono Su
Pingbacks sono Su
Refbacks sono Su




Tutti gli orari sono GMT -4. La data di oggi è 08:54 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traduzioni Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX e Linux Forum Content Copyright © 1993-2009. Tutti i diritti Reserved.Ad di gestione da RedTyger

Contenuti pertinenti URL da vBSEO 3.2.0