![]() |
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.
|
|
google unix.com
|
|||||||
| Fórumok | Regisztráció | Fórum Szabályok | Linkek | Albumok | GYIK | Tagok listája | Naptár | Keres | Mai hozzászólások | Megjelöl Fórumok Olvas |
| 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 |
![]() |
|
|
LinkBack | Téma eszközök | Keresés a téma | Rate Thread | Megjelenítési módok |
|
|
|
||||
|
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. |
|
||||
|
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. |
|
||||
|
Idézet:
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? |
|
||||
|
Idézet:
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? |
|
||||
|
Idézet:
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 !!!!!!!!! |
|
||||
|
Idézet:
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.. |
![]() |
| Könyvjelzõk |
| Címkék |
| linux |
| Téma eszközök | Keresés a téma |
| Megjelenítési módok | Rate this thread |
|
|