shared mem allocator

is there some shared memory allocator (C or STL) for qnx6?


Thanks
vasilii

The standard POSIX mmap* routines should do what you want, no?

dB

“vasilii” <vv40in@rambler.ru> wrote in message
news:agbge0$lmj$1@inn.qnx.com

is there some shared memory allocator (C or STL) for qnx6?


Thanks
vasilii

The standard POSIX mmap* routines should do what you want, no?

yes. but i need framework for it

Thanks
vasilii

What do you mean by a “framework”?

dB

“vasilii” <vv40in@rambler.ru> wrote in message
news:agc6qh$8uv$1@inn.qnx.com

The standard POSIX mmap* routines should do what you want, no?

yes. but i need framework for it

Thanks
vasilii

Did you look at ACE?
http://deuce.doc.wustl.edu/doc/RandD/ACE/Overview/ or
http://deuce.doc.wustl.edu/Download.html

It compiles pretty much out-of-the-box for NTO^H^H^H QNX6 and includes
wrappers for mmap-based allocators. Caveat: we haven’t actually used it “in
anger”.

Hint: You need to use the GNU C++ libraries. It’s not too friendly with the
Dinkum C++ libraries (yet).

Rob Rutherford

“David Bacon” <dbacon@qnx.com> wrote in message
news:agf1on$e44$1@inn.qnx.com

What do you mean by a “framework”?

dB

“vasilii” <> vv40in@rambler.ru> > wrote in message
news:agc6qh$8uv$> 1@inn.qnx.com> …
The standard POSIX mmap* routines should do what you want, no?

yes. but i need framework for it

Thanks
vasilii

\

What do you mean by a “framework”?
i need complete library

vasilii <vv40in@rambler.ru> wrote:

What do you mean by a “framework”?
i need complete library

I think the question really was, "what kinds of things do you expect
to see in a ‘framework’ that you can’t hand-roll with a few calls
to mmap() and friends? I.e., what are you trying to accomplish?

Cheers,
-RK


Robert Krten, PARSE Software Devices +1 613 599 8316.
Realtime Systems Architecture, Books, Video-based and Instructor-led
Training and Consulting at www.parse.com.
Email my initials at parse dot com.

Did you look at ACE?
http://deuce.doc.wustl.edu/doc/RandD/ACE/Overview/ > or
http://deuce.doc.wustl.edu/Download.html

i need memory manager to share memory between processes.
can ACE do it?


Thanks
vasilii

I think the question really was, "what kinds of things do you expect
to see in a ‘framework’ that you can’t hand-roll with a few calls
to mmap() and friends? I.e., what are you trying to accomplish?

i need memory manager to share memory between processes

Thanks
vasilii

vasilii <vv40in@rambler.ru> wrote:

I think the question really was, "what kinds of things do you expect
to see in a ‘framework’ that you can’t hand-roll with a few calls
to mmap() and friends? I.e., what are you trying to accomplish?

i need memory manager to share memory between processes

shm_open() and mmap()? It’s really not that difficult…
You agree on a shared memory name, like “/spud”, and both
processes do a shm_open() on it and then mmap() the result in.
At this point, they are both sharing memory.

Again, what other functionality are you expecting?

Cheers,
-RK


Robert Krten, PARSE Software Devices +1 613 599 8316.
Realtime Systems Architecture, Books, Video-based and Instructor-led
Training and Consulting at www.parse.com.
Email my initials at parse dot com.

i need memory manager to share memory between processes

shm_open() and mmap()? It’s really not that difficult…
You agree on a shared memory name, like “/spud”, and both
processes do a shm_open() on it and then mmap() the result in.
At this point, they are both sharing memory.

Again, what other functionality are you expecting?

Thank You,
i am agree – mmap is easy in use enough. but i need several processes to
access and
allocate/release memory in this shm_open/mmap-ed areas.
this allocation/fee might be independant or shared too.
did You see malloc lib sources? i dont think that memory allocation is so
easy
as simle use of mmap/shm_open.
if it so difficult for single process – it is more difficult for multiple
process .
that is reason why i am looking for comlete shared mem manager.


Thanks
vasilii

I think what he means is he needs to manage chunks of memory within a
shared block. That is often needed by drivers to manage pool of DMA-safe
memory blocks, or by various queue managers.

– igor

“vasilii” <vv40in@rambler.ru> wrote in message
news:aghqt5$je3$1@inn.qnx.com

i need memory manager to share memory between processes

shm_open() and mmap()? It’s really not that difficult…
You agree on a shared memory name, like “/spud”, and both
processes do a shm_open() on it and then mmap() the result in.
At this point, they are both sharing memory.

Again, what other functionality are you expecting?

Thank You,
i am agree – mmap is easy in use enough. but i need several processes to
access and
allocate/release memory in this shm_open/mmap-ed areas.
this allocation/fee might be independant or shared too.
did You see malloc lib sources? i dont think that memory allocation is so
easy
as simle use of mmap/shm_open.
if it so difficult for single process – it is more difficult for multiple
process .
that is reason why i am looking for comlete shared mem manager.


Thanks
vasilii

vasilii <vv40in@rambler.ru> wrote:

is there some shared memory allocator (C or STL) for qnx6?

The GNU lib C malloc() allocator should be findable in source
from from (I think) cvs.qnx.com.

It shouldn’t be too hard to re-orient to a known shared memory
area rather than anonymous mmap() to get more memory.

Or, most other allocators, say do a web search, shouldn’t
be too hard to port – the underlying allocator should be
fairly localized.

But, I don’t know of an already coded/written allocator that
can be just pointed at a shared memory area rather than needing
some porting/re-coding.

-David

QNX Training Services
http://www.qnx.com/support/training/
Please followup in this newsgroup if you have further questions.

The difficult parts are:

How to you pass pointers to other process when mmap
map memory to different base address?

When I run out share memory, how I expand (or compact) the
memory when need it and how to let other processor
to know (remap?) the bigger mmap file? Would the
base address change when that happen, if so, how can application
rebase all its pointer to share memory region?

\

-Tony Lee

Or, most other allocators, say do a web search, shouldn’t
be too hard to port – the underlying allocator should be
fairly localized.

But, I don’t know of an already coded/written allocator that
can be just pointed at a shared memory area rather than needing
some porting/re-coding.

-David

QNX Training Services
http://www.qnx.com/support/training/
Please followup in this newsgroup if you have further questions.