The UNIX and Linux Forums  
Hello and Welcome-tól az Egyesült Államokat, hogy az UNIX és Linux Forums? Köszönjük, hogy meglátogatta és csatlakozik Globális Közösség.

Go Back   A UNIX és Linux Forums > Top Fórumok > Magas szintű Programozás
.
google unix.com



Magas szintű Programozás Post kérdések C, C + +, Java, SQL, és más programozási nyelvek itt.

Több, UNIX és Linux fórum témák Ön által talált Hasznos
Szál Thread Starter Fórum Válaszok Utolsó hozzászólás
ELF formátum megosztott könyvtár? wntrmead Magas szintű Programozás 11 11-16-2007 02:19 PM
megosztott könyvtár areef4u A UNIX a fejlett és szakértői Felhasználók 1 08-01-2006 02:14 AM
Osztott memória kevés, de sok fel nem használt memória cjcamaro A UNIX a fejlett és szakértői Felhasználók 1 10-13-2004 05:10 PM
Közös Könyvtár Probléma vinz HP-UX 1 08-27-2004 10:57 AM
Közös Könyvtár rajashekaran Magas szintű Programozás 2 08-03-2002 01:59 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Téma eszközök Keresés a téma Rate Thread Megjelenítési módok
  #1 (permalink)  
Old 05-21-2007
DreamWarrior DreamWarrior is offline
Regisztrált felhasználó
  
 

Join Date: Oct 2003
Hozzászólások: 70
Osztott memória megosztott könyvtár

Meg kell, hogy hozzon létre egy megosztott könyvtár eléréséhez a memória DB. A KT nem nagy, de elég nagy, hogy nehézkes, hogy körülbelül minden egyes folyamat a megosztott könyvtár. Szerencsére ez elég statikus információkat, így nem kell aggódnia sokat szinkronizálást az adatok között előforduló megosztott könyvtár. Azonban, mi akarok aggódni inicializálása a memória egyszer és soha többé.

I would love a megosztott könyvtárakat, hogy a könyvtár körének változó, de nem hiszem, hogy ez lehetséges. Ha így van, hadd tudom ... de tudom, hogy általában minden folyamat lesz a saját példányát a megosztott könyvtár adatok szegmensben. Nem hiszem, hogy van módja a zászló egy részét, hogy az adatok szegmens megosztott valamennyi példányát a könyvtárban.

Szóval, azt hiszem, kell, hogy a könyvtár hozzáférést a DB a megosztott memória. Mindazonáltal, az első fokon a könyvtár kell indítani kell létrehozni az osztott memóriát csatolni hozzá, és a terhelés minden, mielőtt bármilyen más esetekben lehet használni. Hogyan tudom garantálni, hogy ezt létrehozni / initialize történik, ha a megosztott memóriát használnak?

Először azt hittem nem existance a megosztott memória szegmens lenne rá ... de van egy olyan állapot közötti verseny megteremtése és ahol initialize-másik példány a könyvtárban látna a megosztott memóriában, de nem tud hozzáférni mert még nem inited. Tudom, hogy képes tárolni POSIX mutex van osztott memóriát ... szóval azt hiszem, tudom használni őket. Azonban a másik probléma, amikor az osztott memória szegmens a "balra át" a korábbi fut.

Mi történik ezután? Szóval ... minden könyvtár "le" a szegmensben, de egyikük sem semmisíteni. Most mi lesz ... A következő alkalommal a könyvtárban kezdődik friss azt újra meg kell init az osztott memóriát, de nem.

Hummm ... valami ötleted? Néhány irányba? Mi a közös módszert nyújtó osztott memóriát syncronization? Érdemes használni a rendszert szemafor? Vajon nem szenved ugyanaz "meleg" Start problémát (kihelyezett folyamatok megosztott könyvtár de memória / szemaforok még lakos).

Ez lesz az írásbeli AIX 5, BTW, hogy az érdeklődők.
  #2 (permalink)  
Old 05-21-2007
kapus porter is offline Forum Advisor  
Regisztrált felhasználó
  
 

Join Date: Jan 2007
Hozzászólások: 2965
Lehetne egy újabb eljárás, akik feladata, hogy hozzon létre és shutdown a megosztott memória. Ez a folyamat már valamilyen formában az IPC úgy, hogy a folyamatok és csatolja le, amikor az utolsó is, az igazgató folyamat tiszta és meghalni.

Lehet, hogy a folyamat irányítása fork / exec "ad az ügyfél által a könyvtárak, amikor kezdetét, így nem kell prestart, és setuid bit futtatásához a megfelelő jogok, mint az első felhasználó indításához.

Ha a kliensek csatlakozni a működtető folyamat UNIX domain socket akkor a működtető felhasználhatná poll () az összes kapcsolat, hogy kísérje figyelemmel, hogy a folyamatok életben, ha kilép uncleanly a socket kapcsolat továbbra is meghal.
  #3 (permalink)  
Old 05-24-2007
DreamWarrior DreamWarrior is offline
Regisztrált felhasználó
  
 

Join Date: Oct 2003
Hozzászólások: 70
Idézet:
Originally Posted by kapus
Lehetne egy újabb eljárás, akik feladata, hogy hozzon létre és shutdown a megosztott memória. Ez a folyamat már valamilyen formában az IPC úgy, hogy a folyamatok és csatolja le, amikor az utolsó is, az igazgató folyamat tiszta és meghalni.

Lehet, hogy a folyamat irányítása fork / exec "ad az ügyfél által a könyvtárak, amikor kezdetét, így nem kell prestart, és setuid bit futtatásához a megfelelő jogok, mint az első felhasználó indításához.

Ha a kliensek csatlakozni a működtető folyamat UNIX domain socket akkor a működtető felhasználhatná poll () az összes kapcsolat, hogy kísérje figyelemmel, hogy a folyamatok életben, ha kilép uncleanly a socket kapcsolat továbbra is meghal.
Én figyelembe véve ezt a megközelítést, és úgy dolgozik ... de azt gondoltam magamban, miért zavar az osztott memóriát használják, ha megyek, hogy a socket kapcsolat. Abban az esetben, én is csak a váltó, az egész kérés, hogy a kezelő folyamat, és hagyd, döntés, és nem az osztott memória.

Hummm ....

A másik osztott memóriát kérdés:

Tárolása mutat a megosztott memória (persze, hogy más területeken a megosztott memória), lehet-e ezt tenni? Úgy gondolom, a válasz abban rejlik, hogy hogyan csatolja az osztott memória az az eljárás, nem? Ami a shmat hívás, a második paraméter a memória cím. Gondolom, ez a "bázis cím" adott a folyamatnak, a megosztott memória szegmens. Azt hiszem, hogy a mutatókat csak akkor érvényes az egész minden alkalmazáshoz való hozzáférés a megosztott memória IFF minden alkalmazáshoz hasonlóan ez a paraméter adja meg, ha mellett a szegmensben. Ez így rendben van?

Ha a fentiek nem helyes, akkor azt hiszem, hogy a versenyt a kérelmet a címet akarok csatolni (a könyvtár és az összes), és hogy én nem könnyen tudják garantálni, hogy tud a címet akarok . Ennek elkerülése érdekében, úgy tűnik, az operációs rendszer lehetővé teszi, hogy egy-pass NULL hogy ez a paraméter és az operációs rendszer úgy döntött, egy elérhető címet, térképet. Abban az esetben, nem tudtam igazán store pointers megosztott memóriát, és nem kell tárolni ellentételezések és hagyta, hogy a számítástechnikai alkalmazás a tényleges mutató értéke hozzátéve, hogy az egyéni "alap-cím." Ez nyilvánvalóan teljesítményét elvezetés ....

Szóval ... hogy van, hogy "akadályozza" általában küzdeni?
  #4 (permalink)  
Old 05-24-2007
kapus porter is offline Forum Advisor  
Regisztrált felhasználó
  
 

Join Date: Jan 2007
Hozzászólások: 2965
Idézet:
Originally Posted by DreamWarrior
Szóval ... hogy van, hogy "akadályozza" általában küzdeni?
1. Megértsék a folyamat memória térkép adott OS.

2. csatolja az osztott memória a lehető leghamarabb az indítási folyamatot, hogy megakadályozza, hogy a memóriák használata más későbbi tevékenységét.

3. Ha a villát, akkor a két folyamat a megosztott memória ugyanazon a címen, nem tudom, ha megerősítené, ha exec () a megosztott memória ténylegesen kap levált. Érdemes lenne megtudni?
  #5 (permalink)  
Old 05-25-2007
DreamWarrior DreamWarrior is offline
Regisztrált felhasználó
  
 

Join Date: Oct 2003
Hozzászólások: 70
Idézet:
Originally Posted by kapus
1. Megértsék a folyamat memória térkép adott OS.

2. csatolja az osztott memória a lehető leghamarabb az indítási folyamatot, hogy megakadályozza, hogy a memóriák használata más későbbi tevékenységét.

3. Ha a villát, akkor a két folyamat a megosztott memória ugyanazon a címen, nem tudom, ha megerősítené, ha exec () a megosztott memória ténylegesen kap levált. Érdemes lenne megtudni?
Ez a 2 rész aggaszt. Írás egy megosztott könyvtár, hogy "ragaszkodik ahhoz", hogy lesz egy bizonyos régióban memória csatolandó tűnik, hajlamosak a problémát. Mindazonáltal, az írás, hogy csatolja a különböző régiókban látszik hajlamosak a kérdés is, mert minden kérelmet kell csatolni, hogy az ugyanabban a régióban, ha észrevételem van, hogy mely őket.

Humm ... talán azt kell konfigurálható ... nem méltányos, ugyanakkor, hogy a felhasználó által beállított értéket. Grrrrrrrr ... Mindig a trade-off ... hogy gyors, vagy hogy megbízható .... A megbízható útvonalat kell tárolni minden "mutat", mint eltolódásokkal ... vagy oldal / offset pár. De ez azt jelenti, hogy az alkalmazás mindig translate my mutató kerül a tényleges mutató .... Lassú ... unalmas, hiba hajlamos. Grrrrrrrrrrrrr !!!!!!!!!
  #6 (permalink)  
Old 05-25-2007
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Helyszín: Ashburn, Virginia
Hozzászólások: 9.111
Idézet:
Originally Posted by DreamWarrior
... inkább azt kell tárolni ellentételezések és hagyta, hogy a számítástechnikai alkalmazás a tényleges mutató értéke hozzátéve, hogy az egyéni "alap-cím." Ez nyilvánvalóan teljesítményét elvezetés ....

Szóval ... hogy van, hogy "akadályozza" általában küzdeni?
Nem osztom a lékelés a teljesítmény találatot. Ez gyakorlatilag a meghatározása, egy tömb referencia végezték és használom tömbök elég egy kicsit. Kapcsolóüzemű Ön kb teljesen a tömbök, és soha nem használja mutat minden talán valóban a teljesítmény javítása érdekében, feltéve, hogy használja az optimalizáló. Mindenesetre sok implementations, hogy nem engedi meg, hogy válassza ki a címét, a megosztott memória szegmens és hordozható kódot nem támaszkodhat, amelyek ezt a lehetőséget. Megosztott könyvtárak összeállítására használja PIC (helyzet független kód), annak ellenére, hogy gyakran van kisebb teljesítmény hit a PIC. Közös adatok szegmensekben is meg kell helyzetben független. Ez az üzleti tevékenységek költségeit.
  #7 (permalink)  
Old 05-29-2007
DreamWarrior DreamWarrior is offline
Regisztrált felhasználó
  
 

Join Date: Oct 2003
Hozzászólások: 70
Idézet:
Originally Posted by Perderabo
Nem osztom a lékelés a teljesítmény találatot. Ez gyakorlatilag a meghatározása, egy tömb referencia végezték és használom tömbök elég egy kicsit. Kapcsolóüzemű Ön kb teljesen a tömbök, és soha nem használja mutat minden talán valóban a teljesítmény javítása érdekében, feltéve, hogy használja az optimalizáló. Mindenesetre sok implementations, hogy nem engedi meg, hogy válassza ki a címét, a megosztott memória szegmens és hordozható kódot nem támaszkodhat, amelyek ezt a lehetőséget. Megosztott könyvtárak összeállítására használja PIC (helyzet független kód), annak ellenére, hogy gyakran van kisebb teljesítmény hit a PIC. Közös adatok szegmensekben is meg kell helyzetben független. Ez az üzleti tevékenységek költségeit.
Ez szépen működik, ha azt akarjuk, hogy a partíció osztott memóriát akár több vödör és hivatkozás minden vödör által index. Ugyanakkor, feltételezve, hogy a DB álló különböző méretű információt, azt köteles vagy válasszon egy vödör mérete elég nagy tárolni semmit (és a hulladék hely kisebb dolgokat), vagy dinamikusan osztja méretű vödör és átadni mintegy pointers (a tagolás már nem működik) .

Lényegében arra gondoltam tudtam létrehozni változata malloc működő belül osztott memória régió majd azt, hogy az elemeket a KT dinamikusan kell tárolni a láncolt hash table.

A "teljesítmény találatot" a mutatókat is, hogy kell tárolni a "pointer" a vödör, hogy én kiosztott (via my malloc rutin) az osztott memóriát valahogy. Vagy, hogy a mutató egy adott mutató a megosztott memóriában, vagy pedig egy offset a megosztott memóriát, hogy minden alkalommal alkalmazás hozzáférési kód megy a mutató azt kell majd elvégezni a konverziós rutin ellen, hogy megszerezzék azt az álláspontját, független címét. Ez nem lenne szükség sem a tömbben, vagy nem őshonos mutató módszereket. Azt hiszem, elmondhatom az alkalmazás (a nem őshonos mutató módszere), hogy az osztott memóriát egy hatalmas tömb karakterek és hozzáférési mutatókkal keresztül "index" a karakter tömb öntött, a megfelelő típusú adat ... de úgy tűnik, csakúgy, mint csúnya.

Lehet, hogy létrehoz egy köztes "malloc" könyvtár egy osztott memória szegmens hülye ... de nem tudom, a jobb tárolására különböző méretű dinamikusan adatokat minden memória szegmens nélkül sorvadást hely statikus méretű vödörben.

Last edited by DreamWarrior; 05/29/2007 at 01:18 PM..
Closed Thread

Könyvjelzõk

Címkék
linux

Téma eszközök Keresés a téma
Keresés a téma:

Részletes keresés
Megjelenítési módok Rate this thread
Rate this thread:

Posting szabályzat
Ön nem post new threads
Ön nem post válaszok
Ön nem post Csatolmányok
Ön nem szerkeszteni az üzeneteidet

BB kód van Be
Smilies vannak Be
[IMG] kód Be
HTML kód Ki
Trackbacks vannak Be
Pingbacks vannak Be
Refbacks vannak Be




Minden idő GMT -4. Az idő most 09:09 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Nyelvre lefordítva Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
A UNIX és Linux Fórum Tartalom Copyright © 1993-2009. Minden jog Reserved.Ad menedzsment RedTyger

Content Relevant URLs by vBSEO 3.2.0