For QNX 4.x ?
Jeppe Sommer
jso at lyngso-industri.dk
Mon Jun 21 02:30:35 PDT 1999
Junji OAKI writes:
>
>
> Jeppe Sommer wrote:
>
> > > I have two questions.
> > >
> > > 1) Which gcc version is suitable to build Kaffe for QNX 4.x ?
> >
> > egcs-1.1.1
> >
> > > Where can I get the gcc ?
> >
> > http://w3c.teaser.fr/~jcmichot/gcc
> >
> > > I have QNX 4.25A (or 4.24), Watcom C 10.6 and TCP/IP 4.25 (or 4.24).
> >
> > Perfect.
> >
> > >
> > > Has anyone succeeded in building Kaffe for QNX 4.25A(4.24) ?
> > >
> >
> > Yes, I have had kaffe working for QNX 4.2x at various stages. Right
> > now I have a partial port of a recent kaffe snapshot (some problem
> > with exceptions remains to be solved). I have, however, been very busy
> > doing "real" work. I will hopefully soon be able to release a set of
> > patches for QNX 4.x
>
> I appreciate your complete answers. I will try.
> Recently, however, I have heard that the newest Kaffe for QNX 4.x
> cannot be build by the gcc from QNX newsgroup "comp.os.qnx".
> Your patch can solve this problem ?
Yes, together with an 'nm' that I implemented as a shell script that
converts OMF object files into ELF before using the ELF nm (the OMF nm
that is available does not work with gcc).
>
>
> > > 2) QNX is a real time OS.
> > > So, Kaffe VM for QNX 4.x is "Real time Java". Right ?
> >
> > No.
> >
> > The current (unreleased) port uses the "jthreads" package which is a
> > user-level thread package. The java virtual machine runs as a single
> > QNX process, and the CPU time allocated to this process is allocated
> > to the java threads by an internal scheduler.
>
> I understand.
>
>
> > To me, real time means (in a QNX context) that java threads are
> > handled by the QNX scheduler, so that priority and scheduling policy
> > can be controlled for each thread.
> >
> > Also, an interface to the native QNX message passing primitives would
> > come in handy, making it possible, e.g, to create a java server thread
> > with a priority that adapts to the priorities of its current clients
> > (whether "c" processes or java threads).
> >
> > Last (but not at all least) kaffe currently has a non-incremental
> > "stop the world" garbage collector. Until this changes, forget about
> > real time.
>
> I hope that an interface to the native QNX message passing primitives will
> come in handy, Difficult ?
No, but to be really useful, I think that you need Kaffe to use native
threads, otherwise you will potentially block the entire virtual
machine each time you want to send/receive a message. So I guess that
the most natural first step would be to integrate Kaffe with the POSIX
native thread interface that is available in QNX 4.x.
>
> Regards,
> Junji OAKI
>
More information about the kaffe
mailing list