I am trying to write (something like) a QNX4 device driver for an ATM
adapter.The NIC is installed on the PCI,and is memory mapped.For this
puprpose,I want to write to two different processes which are supposed
to cooperate as follows:the first (A) allocates a number of equal size
memory regions.Before this process terminates,it stores the pointers to
these allocated memory objects in a file,in shared memory (with
succesive calls to shm_open,mmap,ltrunc functions) so that the second
process (B) , can access them.A then terminates,with an exec call,but
the process which is afterwards loaded with this call is not B.When
later,process B is loaded it is supposed to retrieve the pointers to the
previously allocated buffers stored in the shared memory file as
mentioned before.My questions are:
a)Given that process A (responsible for allocating the memory objects
and storing the respective pointers in shared memory) will have
terminated when process B begins,will the memory remain allocated?
b)If the answer to the previous question is yes,will the stored pointers
be valid for process B to use?Will I accomplish that just by passing the
pointers returned by the calloc function?
c)Are the answers to the above two questions somehow related to the
memory model (small,large,flat etc) used by QNX4?
4)Since I am a rookie in develloping this kind of software,and I know
very few things about memory models I would aprreciate if you suggested
to me recomended web sites with tutorials on memory models and related
(I use Watcom C compiler,version 10.6)
Thank you very much!!!
I would really appreciate any kind of help