On Wed, Aug 30, 2000 at 03:18:23PM +0100, Trevor Woolven wrote:
> BTW, can anyone *really* explain the point of non-portable extensions in a
> (supposedly) portable standard? I'm not saying they're wrong but they don't
> make sense (to me).
We follow POSIX PSE51 for reasons of simplicity, coherence, programmer
familiarity, and because there is a real standard, not a creature of
any company. POSIX is specified so that implementation extensions can
be accomodated. For example, to reserve a RTLinux only processor in
an SMP system, we have
pthread_kill(pthread_linuxthread(),RTL_SIG_SUSPEND_LINUX );
Of course, there is no signal RTL_SIG_SUSPEND_LINUX in the
POSIX specifications and this code will fail on Chorus -- but our
goal is to make RTLinux programming easy, not to make RTLinux as slow
and clumsy as Chorus. And the POSIX standard is designed to allow for
such extensions.
This is also an illustration of why we moved past the very simple V1
API. In order to add this functionality to V1 we would have had to
extend V1 and we decided that after a while V1-extended would be
a horrible mess. So between the choice of extending V1 and adopting
a flexible, Pthreads API, we chose Pthreads. The existence of PSE51,
a POSIX standard that allowed us to do Pthreads without e.g. unix
file system, made it possible.
As I have pointed out before, the purpose of Steve Papacharalambous'
POSIX package is very much different from the purpose of our PSE51
API -- even though we draw from the same base spec. Steve's package
is great for people who want to port code from Chorus or Lynx or
something to RTLinux. But RTLinux is based on fundamentally
different design than those systems and we are trying to make a
convenient API for that design. So it misses the point to critique
Steve's package for lack of speed/determinism or our work for
exposing the RTLinux design.
--
---------------------------------------------------------
Victor Yodaiken
Finite State Machine Labs: The RTLinux Company.
www.fsmlabs.com www.rtlinux.com
-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
---
For more information on Real-Time Linux see:
http://www.rtlinux.org/rtlinux/