*BSD News Article 87199


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.carno.net.au!harbinger.cc.monash.edu.au!lucy.swin.edu.au!news.rmit.EDU.AU!news.unimelb.EDU.AU!cs.mu.OZ.AU!munnari.OZ.AU!news.ecn.uoknor.edu!feed1.news.erols.com!cpk-news-hub1.bbnplanet.com!news.bbnplanet.com!su-news-hub1.bbnplanet.com!arclight.uoregon.edu!newsfeed.direct.ca!nntp.portal.ca!van-bc!n1van.istar!van.istar!west.istar!ott.istar!istar.net!gateway.qnx.com!not-for-mail
From: doug@qnx.com (Doug Santry)
Newsgroups: comp.unix.bsd.freebsd.misc
Subject: Re: Embedded FreeBSD
Date: 21 Jan 1997 09:47:39 -0500
Organization: QNX Software Systems
Lines: 85
Message-ID: <5c2kub$6uu@qnx.com>
References: <32B744C0.2DA9@wdc.net> <5bqs4v$oar@uriah.heep.sax.de> <5c08m3$dvk@qnx.com> <5c14ih$7nn@uriah.heep.sax.de>
NNTP-Posting-Host: qnx.com
Xref: euryale.cc.adfa.oz.au comp.unix.bsd.freebsd.misc:34317

In article <5c14ih$7nn@uriah.heep.sax.de>,
J Wunsch <joerg_wunsch@uriah.heep.sax.de> wrote:
>doug@qnx.com (Doug Santry) wrote:
>
>> The kernel is riddled with splhigh() calls.  I wouldn't trust a device
>> that needs attention in under 2 microseconds on a Unix system.  QNX
>> can guarantee it on a 200 MHz pentium.  That is the worst case interrupt
>> latency.
>
>Sure, 2 µs is certainly out of the question with a Unix kernel.  20 µs
>probably not.  Hey!, my old CP/M BIOS had to pick up one byte after
>each 16 µs from the FDC -- without DMA. :-)

yikes!

>The biggest problem is to keep the splhigh() times short.

Easier said than done! ;-)

>>      If you are making a product which you plan to sell by the
>>    thousand, then you can save tons of $$$ with a small memory
>>    footprint.  I can't see a Unix being effective in 50k.
>
>Minix maybe. :) But it's right, today's Unices are simply too fat.
>OTOH, i think if you've finally configured a QNX that does all the
>filesystem and network and foobar and kitchensink stuff, it'll be a
>megabyte as well.  The sad thing with the BSD kernel is only that it

BSD is bigger than a meg.  With a 16 meg machine it swaps(running X).  The same
setup on QNX has megs of free memory.  QNX is much leaner even when
you compare similar functionality. (can't be exactly the same bcuz
QNX doesn't support ufs)

>is bloated a little here, and a little there.  ``Yet another constant
>string...''  Thus it is hard to scale down.

:(

>> We don't distribute our source because our customers don't need it.
>
>That's always easy to claim. :)
>
>Well, just curious: did any of your customers ever ask you about
>getting the source?  If so, what has been your reaction?

Well, they wouldn't ask me and I wouldn't be the one to make the decision
being a mere code-slave!  Really though they don't need it.  It is a
micro-kernel!  *Everything* is a user level process.

>Back in the era when i had to live with DG/UX (Data General's Unix),
>we sometimes also got the OS source if we needed it.  Sure, most of
>the time, it's easier to rely on a vendor.  But as soon as it gets to
>your own device drivers, you usually love it to at least get a
>(working) template.  I would also have loved it to get all the source

We give templates out.  But those are user level processes that aren't
any different than 'ls'.  Device drivers, network protocol stacks etc etc
are all user level processes.

>codes for those things where we have noticed bugs...

Bugs!!?!?!?!?!  In QNX?!?!?!?! Never!!!!! ;-)

>> Don't get me wrong either.  I love Unix.  I have made contributions to the
>> the FreeBSD kernel.  But there are areas where Unix is simply not as good
>> as QNX, they are real-time applications and embedded systems.
>
>Sure.  I didn't claim Unix being an RT OS either.  It's a
>``timesharing OS'', in the classical categorization.

Bingo.

>cheers, J"org
>
>joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/ -- NIC: JW11-RIPE
>Never trust an operating system you don't have sources for. ;-)

ya ya :-)

Never trust an operating system with a kernel bigger than 32k! ;-)

DJS

PS FreeBSD is on my home machine which is why I read this group so I guess you
   win. :-)