Darius <firstname.lastname@example.org> wrote:
Now I’m studying QNX programming and have several questions. First of all, I
think I understood IPC comunications, but I have lost when I read about
resource managers. They use IPC for communicating with clients, but how they
do that? They use open(), read(), close() functions, but not functions to
send messages such as MsgSend() or MsgReceive. What type of IPC
communications use resource managers?
Ok… QNX is a microkernel. Most things that would traditionally be a
kernel call (e.g. open(), read(), etc) get turned into a message under
QNX. That is, if you call read(), that becomes: setup header, then
And there is second question. What’s the difference between device driver
and resource manager. Is it the same things?
A device driver is something that abstracts access to a piece of hardware.
Usually under QNX this will be a process doing it – but in some places is
a library or shared object.
A resource manager is a process that handles the messages generated by the
POSIX i/o functions – that is by the functions like open(), read(), write(),
stat(), etc. Being a resource manager defines the interface between the
client and the server.
Very often a resource manager is used to provide a POSIX interface to a
device driver. But, a resource manager need not be a driver – e.g.
/dev/null (null device), or mqueue (message queues); and a driver need
not be a resource manager.
Hope this clarifies a bit,
QNX Training Services
Please followup in this newsgroup if you have further questions.