Persistentni objekty

Radek Kanovsky radek na pvt.net
Středa Září 18 11:52:22 CEST 1996


Dobry den,

v Linux Journalu 27 jsem narazil na clanek o Texas Persistent
Store ftp://ftp.cs.utexas.edu/pub/garbage/texas/. Jelikoz
neco podobneho shanim, zkusil jsem si to prelozit, ale neuspesne.
Kompilace konci na 'segmentation fault' programu o2tdesc,
ktery se v prubehu kompilace vytvori a v zaveru pak pouzije.
Zkousel jsem to na Slackware 3.0 (1.3.20), Slackware 3.1 (2.0.0) 
a Debian 1.1.

Vi nekdo jak na to? Pouzivate nejakou podobnou knihovnu?

Pro informaci vycuc z clanku:
TPS je knihovna, ktera umoznuje v C++ vytvaret persistentni objekty
nebo i promenne zakladnich typu (int, float, ...) pomoci makra 'pnew',
a pak s nimi pracovat stejne jako s normalnimi objekty/promennymi.
Tyto objekty si mezi dvema spustenimi programu uchovavaji aktualni
hodnoty - jsou ulozeny na disku. Je to vhodne pro tvorbu  objektove
orientovanych databazi apod.
Funguje to na technologii 'pointer swizzling at page fault time'.
Pointery na objekty/promenne maji dva tvary: pametovy (bezny C pointer)
a diskovy, tj. objekt je aktualne v pameti nebo je odlozen na disku.
Odkaz na diskovy pointer vyvola SIGSEGV, ktery zachyti knihovna,
objekt nahraje do pameti a zmeni tvar jeho pointeru na pametovy.

Diky.

Zdravi
                                 Radek Kanovsky
=======================================================
|  phone: (05) 7269 354          PVT a.s., Veveri 102 |
|  email: radek na pvt.net          659 10 Brno          |
=======================================================



Další informace o konferenci Linux