The UNIX and Linux Forums  

Go Back   De Unix-en Linux Forum > Top Forums > Hoog Niveau Programmering
.
google unix.com



Hoog Niveau Programmering Post vragen over C, C + +, Java, SQL, en andere programmeertalen hier.

Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
Draad Thread Starter Forum Antwoorden Last Post
ELF formaat gedeelde bibliotheek? wntrmead Hoog Niveau Programmering 11 11-16-2007 02:19 PM
gedeelde bibliotheek areef4u UNIX for Advanced & Expert Gebruikers 1 08-01-2006 03:14
Gedeeld geheugen tekort maar veel ongebruikte geheugen cjcamaro UNIX for Advanced & Expert Gebruikers 1 10-13-2004 06:10 PM
Shared Library Probleem vinz HP-UX 1 08-27-2004 11:57
Shared Library rajashekaran Hoog Niveau Programmering 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 Zoeken in deze Thread Rate Thread Display Modes
  #1 (permalink)  
Old 05-21-2007
DreamWarrior DreamWarrior is offline
Geregistreerde gebruiker
  
 

Join Datum: oktober 2003
Posts: 70
Gedeeld geheugen in een gedeelde bibliotheek

Ik nodig voor het maken van een shared library om toegang te krijgen tot een in het geheugen DB. Het DB is niet enorm, maar groot genoeg om het log te voeren rond in elk proces met behulp van de gedeelde bibliotheek. Gelukkig is het vrij statische informatie, dus ik hoef niet te veel zorgen over het synchroniseren van de gegevens tussen de verschillende instanties van de gedeelde bibliotheek. Maar wat ik wel zorgen te maken over wordt geïnitialiseerd geheugen eens en nooit weer.

Ik zou graag alle gedeelde bibliotheken te beschikken over een bibliotheek Scoped variabele, maar ik denk niet dat dat mogelijk is. Als dat zo is, laat het me weten ... maar ik weet dat normaal elk proces krijgt zijn eigen kopie van de gedeelde bibliotheek de gegevens segment. Ik denk niet dat er een manier is om de vlag een deel van die gegevens segment als gedeeld in alle gevallen van de bibliotheek.

Dus, ik denk dat ik het weer nodig om de bibliotheek toegang tot de DB in het gedeeld geheugen. Echter, de eerste aanleg van de bibliotheek op te starten moet u het gedeelde geheugen, hechten aan, en laadt alles vóór alle andere mogelijke gevallen kunt gebruiken. Hoe kan ik zorgen dat deze worden gemaakt / initialiseren gebeurt eenmaal voor het gedeelde geheugen wordt gebruikt?

Ten eerste, ik dacht het niet-bestaan van het gedeelde geheugen segment zou doen ... maar er bestaat een "race condition tussen creëren en te initialiseren waar-in een ander exemplaar van de bibliotheek zou het gedeelde geheugen, maar geen toegang tot het want het is nog niet inited. Ik weet dat ik kan opslaan POSIX Mutex's in het gedeelde geheugen ... dus ik denk dat ik kan gebruik maken van een van hen. Echter, de ander probleem bestaat wanneer de gedeelde geheugen segment "links boven" uit eerdere runs.

Wat gebeurt er dan? Dus ... alle bibliotheek is "los" van het segment, maar geen van hen vernietigen. Wat nu ... de volgende keer dat de bibliotheek begint vers moet opnieuw init de gedeelde geheugen, maar zullen niet.

Hummm ... ideeën? Sommige richting? Wat is de gemeenschappelijke methode voor het verstrekken van het gedeelde geheugen synchronisatie? Moet ik gebruik van een systeem semaphore? Zou het niet te lijden hebben van dezelfde "warme" start probleem (vrijstaande processen uit gedeelde bibliotheek maar geheugen / semaforen nog steeds woont).

Dit zal worden geschreven voor AIX 5, BTW, voor diegenen die geïnteresseerd zijn.
 

Bladwijzers

Labels
linux

Thread Tools Zoeken in deze Thread
Zoeken in deze Thread:

Uitgebreid zoeken
Display Modes Beoordeel deze draad
Beoordeel deze draad:

Posting Regels
Jij mag niet Post Nieuwe threads
Jij mag niet na antwoorden
Jij mag niet post attachments
Jij mag niet bewerk uw berichten

BB code is Aan
Smilies zijn Aan
[IMG] code Aan
HTML-code is Uit
Trackbacks zijn Aan
Pingbacks zijn Aan
Refbacks zijn Aan




Alle tijden zijn GMT -4. Het is nu 05:56.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Vertalingen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
De Unix-en Linux Forums Copyright © 1993-2009. Alle rechten Reserved.Ad Beheer door RedTyger

Content Relevante URL's door vBSEO 3.2.0