Re: 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

>
> You might also want to look into pre-virtualization [1].
> Pre-virtualization has not yet been applied to FreeBSD because the
> FreeBSD kernel heavily makes use of segmentation, and this still
> requires a bit of tweaking.  You might be able to apply it to the
> other BSDs, though, and perhaps also to Darwin

I originally thought of FreeBSD because from most of what I can tell,  
the kernel is stablizing now that the GEOM and SMPng have gone into  
the tree, and have been there since RELENG_5. While I think NetBSD  
and OpenBSD are both due for some reasonably big changes like  
DragonFly's been undergoing since...forever :P (great changes, but  
DragonFly is probably too much of a moving target right now thanks to  
mdillon :-P)

I've given thought to NetBSD, because I really like how strict NetBSD  
hackers are on adhering to their own clean code standards, and it's  
very portable, so I think it's a good alternate.


> Unfortunately, the people most familiar with the pre-virtaulization
> environment (in particular Josh) are pretty swamped with work right
> now, so you can probably not expect too much hand holding.

Another great link, this seems to really address most of the concerns  
that I'd hit later on once I got so far. The question that I'm  
running up against when discussing this with fellow hackers is as to  
how the L4-VM (or something like L4Linux) environment would handle  
very low level calls, like fork, poll, or even disk access from the  
at all from the host OS' I/O drivers? Does the patched Linux kernel  
simply translate all those calls into calls straight into L4, and how  
does it avoid collisions with any other (possible) host OS' that may  
be trying to access similar I/O devices, and or real time processes  
that are running in L4's user space along side the host OS (Linux)

Once the topic of virtualization comes up, I start to think about  
threading problems in a whole different arena, with the same scary  
undertones. Can the microkernel remain real time, and allow various  
different user land processes concurrent access/control to I/O  
devices, or is it simply first come first serve, and the L4 kernel  
will simply block other processes, leaving a host OS to wait for an I/ 
O device to "unblock" so it can access it? Or even worse, does it  
just not execute things real time in regards to IO?

There's a lot of documentation here, I'm just not certain where to  
look in regards to how hardware access occurs from the host OS kernel  
to the l4 kernel, and vice versa, as well as possible IO concurrency  
issues. Feel free to point me in the right direction :)


Cheers, and thanks a lot for the tips

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

iD8DBQFEY5/tqO6nEJfroRsRAoVFAJ9Ml9XgyBmiG4fEWQWs5+qdxX6Y/ACfdLSY
eAShD4Q5hboIKdWRy9OkrqM=
=b5s2
-----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.