Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 6 Apr 2001 14:31:33 -0700 (PDT)
From:      Colin Jensen <cjensen@idiom.com>
To:        brett@lariat.org
Cc:        freebsd-chat@freebsd.org
Subject:   Re: corporate announcement
Message-ID:  <200104062131.OAA50292@idiom.com>

next in thread | raw e-mail | index | archive | help
In <4.3.2.7.2.20010406015658.04439ea0@localhost.unknown> Brett writes:
>RTOSes are supposed to recognize and handle priority inversion problems.

Actually they can't :-)

There are two cases of mutex semaphores:

1. A task takes the semaphore before messing with a resource.  Then the task
   releases the semaphore.  Priority inversion protection is absolutely
   desirable.

2. One task takes a mutex before messing with something.  A *different*
   task will finish with the messing and release the mutex.  Priority
   inversion is a catastrophic mistake in this case.

(And for those of you playing along at home, read the word "thread" wherever
the word "task" is used in the context of vxWorks)

In vxWorks, the programmer must deliberately choose which one to use.
For the sake of backwards compatibility with older versions of vxWorks
which didn't have priority inversion, failure to choose gives you
choice #2.  Ouch.

Oh, and just for the sake of conspiracy theories, here's mine for why
WRS wants BSD.    They are losing marketshare to embedded linux.  If they
could use vxWorks as the realtime kernel underneath FreeBSD, the
rich featureset of vxWorks's realtime API would kick RTLinux's butt.
And unlike the Linux case, WRS won't have to give away their OS in order
to do this.   I'm not saying they would try to change the direction of
FreeBSD.... it'd be more of a Darwin like parallel project.

- Colin Jensen
  "Programming vxWorks targets from FreeBSD hosts for five years"

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-chat" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200104062131.OAA50292>