From owner-freebsd-questions@FreeBSD.ORG Tue Oct 19 19:10:13 2004 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1F83B16A4CE for ; Tue, 19 Oct 2004 19:10:13 +0000 (GMT) Received: from fw.farid-hajji.net (fw.farid-hajji.net [213.146.115.42]) by mx1.FreeBSD.org (Postfix) with ESMTP id 944C343D31 for ; Tue, 19 Oct 2004 19:10:12 +0000 (GMT) (envelope-from cpghost@cordula.ws) Received: from bsdbox.farid-hajji.net (bsdbox [192.168.254.3]) by fw.farid-hajji.net (Postfix) with ESMTP id EEB2F4AC9C; Tue, 19 Oct 2004 21:09:48 +0200 (CEST) Date: Tue, 19 Oct 2004 21:11:27 +0200 From: cpghost@cordula.ws To: *NONE* Message-ID: <20041019191127.GA82262@bsdbox.farid-hajji.net> References: <20041019104433.20728.qmail@web14102.mail.yahoo.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20041019104433.20728.qmail@web14102.mail.yahoo.com> User-Agent: Mutt/1.5.6i cc: freebsd-questions@FreeBSD.org Subject: BSD and L4 (was: Re: About BSD) X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Oct 2004 19:10:13 -0000 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/