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