L4::BSD, Subclass your OS

R. Tyler Ballance <[email protected]>
Newsgroups gmane.comp.micro-kernel.l4.l4ka.general
Message-ID <[email protected]>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

- -----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

- - -----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Well, let me first introduce myself. I'm R. Tyler Ballance, I'm a  
Computer Engineering student at Texas A&M University. I've been using  
BSD (Free/Net/Open/Mir/ekko) since I bought a G3 iBook 4 or 5 years  
ago, and was introduced to open source. I participated in the Google  
Summer of Code last year, and started work on porting Apple's launchd  
utility to FreeBSD, according to Google, I succeeded in my project,  
but it's terribly unfinished, and it's nothing i'm proud of. I now  
run my own software and consulting company to pay the bills, but my  
interest in getting a very Darwin-esque operating system running on  
top of the L4 microkernel is still quite strong.

Thusly, I think starting  project, tentatively named L4::BSD, would  
be a magnificent way to really introduce myself into the inner  
workings of FreeBSD. A project like this has a few wonderful  
possibilities. The most enticing, in my opinion, of which, could be  
platform agnostic device drivers. Since the operating system would  
run in user-space on top of the L4 microkernel, as well as device  
drivers (hopefully I'm not misunderstanding the concept), I believe  
it would be possible to merely define an interface for interacting  
with the driver, which would then run on top of the L4 kernel (in  
user space) regardless of what the main operating system (L4Linux,  
L4:BSD) would be. The basic idea would be that a developer could  
write a driver for his specific network card, let's call it an  
UnrealTech card, which adheres to some L4::Network standard for  
network devices, then in the host operating system, if a the host OS  
can "speak" this L4::Network standard, it could easily use this card,  
as well as any other operating system running on top of L4, that  
spoke the L4::Network standard. (it's a pretty lofty idea, but in my  
opinion, would be an excellent use of the microkernel abstraction)  
Developing something like this would be along the lines of Apple's  
IOKit subsystem, which provides a wonderful interface for dealing  
with hardware through the Mach microkernel.

jkoshy@ of the FreeBSD project also pointed out to me on the freebsd- 
hackers@ list that there would also be the possibility of "migrating  
VMs between machines
'on-the-fly', as described in the following paper: http:// 
www.cl.cam.ac.uk/Research/SRG/netos/papers/2005-migration-nsdi- 
pre.pdf" Which would be a fantastic use of a microkernel. If i  
remember correctly, Xen uses a microkernel approach to running host  
operating systems.

Presumably we'd use L4::Pistachio, which I believe is a wonderful  
microkernel to start with. Since L4 is largely an academic  
microkernel (as is Mach, and that didn't stop Apple ;)), a lot of  
documentation, white papers, test code, and proof-of-concepts are out  
there. TU Dresden (which i've considered attending) has plenty of  
great resources as well as some of their Fiasco microkernel work all  
posted here: http://os.inf.tu-dresden.de/


I'm still researching, I took my last final exam yesterday, so I'm  
looking into and gathering information on the best way to start  
working on this project. I've also registered the channel #l4bsd on  
the Freenode network (irc.freenode.net), since i'm an avid user of  
IRC during the work day :)  If you guys would like, I can setup a  
berlios or sourceforge project for this? Let me know.

I'm going to go ahead and forward this message to the l4ka@ mailing  
list, so I'm certain they'll point out any complete flaws in my  
logic, or otherwise.

So, suggestions, ideas, flames, comments, etc, are all welcome :)


Cheers,

- - - -R. Tyler Ballance
Prospective kernel hacker at large ;)


- - -----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (Darwin)

iD8DBQFEYxw1qO6nEJfroRsRAmZ/AJ48ENBgF1fD10tjazshJGfO/IB1twCdF9Tl
Wt7lSdsUMgV0XTpgZvq3KWw=
=v4FR
- - -----END PGP SIGNATURE-----
- -----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (Darwin)

iD8DBQFEYxw9qO6nEJfroRsRApmQAKCH6RXmcqYjF+Iqs18KOC1cd7C/vQCcDRO9
ibh+tHt/B0VJLHUEHIjmFlk=
=xWaF
- -----END PGP SIGNATURE-----
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (Darwin)

iD8DBQFEYxxJqO6nEJfroRsRAnqeAJ97NgEhoKrrUCNDBtq9+7jpyCk0cACeKaUa
eqgW27WXPnjkwR9a5ClLo9g=
=bR3X
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.