Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 19 Oct 2004 21:11:27 +0200
From:      cpghost@cordula.ws
To:        *NONE* <funny9490@yahoo.com>
Cc:        freebsd-questions@FreeBSD.org
Subject:   BSD and L4 (was: Re: About BSD)
Message-ID:  <20041019191127.GA82262@bsdbox.farid-hajji.net>
In-Reply-To: <20041019104433.20728.qmail@web14102.mail.yahoo.com>
References:  <20041019104433.20728.qmail@web14102.mail.yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Oct 19, 2004 at 03:44:33AM -0700, *NONE* wrote:
> Hi, I was just wondering how did you make BSD, how many people did it take you, and how long it took to make? I want to see if I and a team of programmers has what its got to make an OS one day.
>                                                        Thanks
>                                                         Tom

It took decades for FreeBSD (or Linux) to get where they are now.
However, if all you need is a small embedded OS, you can start
with a decent microkernel and build a tiny subset of userland
servers for memory manamgent, device drivers, filesystems, etc...

L4Ka::Pistachio is a very good, state-of-the-art microkernel that
you may want to use as a foundation for your own OS:

http://l4ka.org/projects/pistachio/

Of course, you can reuse as much FreeBSD source code as you like.
It can save you or your team years of development (both coding
AND testing)!

One (common?) approach is to take something like NetBSD, and write
a new port against Pistachio, as if Pistachio were a new arch. The
(hypothetical) NetBSD/L4 would be a userland server running on top
of Pistachio instead of the raw hardware. Regular processes would
require (via IPC calls) services from the OS personality server.

Once you have this up and running (it has been done before with
BSD 4.4Lite and Mach, see: Lites, but do avoid Mach because it's not
as efficient IPC-wise as L4), you can always split up the big
monolithic NetBSD/L4 program into separate modules, which would
all invoke each other through ultra fast IPCs provided by L4 uKernel.

Of course, it's a lot of work. But the nice thing about it, is that
you can add components as the need arises, yet still have a running
system after you've laid down the foundations.

Good luck and happy hacking!

Cheers,
cpghost.

-- 
Cordula's Web. http://www.cordula.ws/



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