![]() |
Hej och välkommen från USA till UNIX och Linux Forum! Tack för ditt besök och gå med i vår globala gemenskapen.
|
|
google unix.com
|
|||||||
| Forum | Registrera | Forum Regler | Länkar | Album | FAQ | Medlemslista | Kalender | Söka | Dagens inlägg | Markera forum som lästa |
| High Level Programming Post frågor om C, C + +, Java, SQL och andra programmeringsspråk här. |
Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Senaste Inlägg |
| ELF-format delade bibliotek? | wntrmead | High Level Programming | 11 | 11-16-2007 02:19 |
| delade bibliotek | areef4u | UNIX för avancerade & Expertanvändare | 1 | 08-01-2006 02:14 |
| Delat minne brist men massor av outnyttjade minne | cjcamaro | UNIX för avancerade & Expertanvändare | 1 | 10-13-2004 05:10 |
| Delat Bibliotek Problem | vinz | HP-UX | 1 | 08-27-2004 10:57 |
| Shared Library | rajashekaran | High Level Programming | 2 | 08-03-2002 01:59 |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
||||
|
Delat minne i delade bibliotek
Jag behöver skapa ett gemensamt bibliotek för att få tillgång till en i minnet BF. Den BF är inte enorm, men tillräckligt stor för att göra det besvärligt att bära runt i varenda process med det delade biblioteket. Lyckligtvis är det ganska statisk information, så jag behöver inte oroa dig mycket om synkronisering av data mellan instanser av det delade biblioteket. Men vad jag behöver oroa oss är initiering minnet en gång och aldrig igen.
Jag älskar alla delade bibliotek att ha ett bibliotek scoped variabel, men jag tror inte det är möjligt. Om det är, jag vet ... men jag vet i regel varje process får en egen kopia av den delade bibliotekets uppgifter segment. Jag tror inte att det är ett sätt att signalera en del av dessa data segment som delas mellan alla instanser av biblioteket. Så jag antar att jag behöver ha på biblioteket åt BF i delat minne. Det första fallet av biblioteket som ska startas upp måste skapa delat minne, lägga till den och ladda allt före alla andra möjliga fall kan använda den. Hur kan jag garantera att skapa / initiera händer en gång innan det delade minnet används? Till en början tänkte jag att inte existance av delat minne segment skulle göra det ... men det finns ett konkurrenstillstånd mellan skapa och starta om i en annan instans av biblioteket skulle se delat minne men inte komma åt den eftersom det ännu inte har inited. Jag vet att jag kan lagra POSIX mutex's i delat minne ... så jag antar att jag kan använda en av dem. Det andra problemet finns när delat minne segment "blivit över" från tidigare upplagor. Vad händer då? Så ... alla bibliotekets "loss" från segmentet, men ingen av dem förstöra den. Nu då ... nästa Temne biblioteket börjar färskt det bör re-init de delat minne, men kommer inte. Hummm ... några idéer? Vissa riktning? Vilken är den gemensamma metod för att tillhandahålla delat minne syncronization? Ska jag använda ett system semaforen? Skulle det inte lider av samma "varm" start problem (utsända processer från delat bibliotek utan minne / semaforer fortfarande bosatt). Detta kommer att vara skrivna för AIX 5, BTW, för dem som är intresserade. |