xMach is an open source 4.4BSD-like BSD operating system based on the Mach microkernel. Primary focuses are on security, portability, and staying unbloated. xMach work began in November of 1999 by Joseph Mallett, project founder and Core Team Member. In one of my recent stormings to the IRC, I stoped by the #xmach channel and met Joseph. Read more about our brief conversation regarding the xMach operating system.1. I have never used xMach. So, I will need an intro…
Joseph Mallett: Well, it’s closer to 4.4BSD than anything and it’s based around a microkernel but the bsd layer is all the user ever will really notice.
2. So, does xMach have a gui? Does X run on it?
Joseph Mallett: X clients compile and run from xMach but the server itself will not, currently, as far as I know. It should, but nobody’s put in a lot of effort to it…
3. Do you have a “ports” system? Where one can download source that it is guaranteed to compile?
Joseph Mallett: We plan to, however we are still in the process of building a complete native userland and toolchain and such so it’d be kind of silly to be worrying too much about ports yet.
4. How far away from a “1.0” version is xMach?
Joseph Mallett: I’d like to say under a few months, as far as quality goes. However, that’s dependent on developers delivering and me having help with certain things.
5. How many people are contributing code on XMach?
Joseph Mallett: Well, there’s two ways I could answer that, I could tell you how many people have comitted and I could tell you how many committers there are. I’ll give you the “official” answer which is everyone on this page can contribute code to the project.
6. I need the number of people who are commited truly to the project 😉
Joseph Mallett: Basically, everyone except maybe 3-4 people are really attached and devoted in some way or another to the project. I think everyone wants it to succeed and wants to help however they can but they might not have the time or motivation to DO anything but they would if it was more convenient.
7. So, why xMach? Why do you like the project? What are its benefits from, lets say, FreeBSD?
Joseph Mallett: It’s a far more scalable architecture from the ground up, we have facilities like userland pagers and a large portion of things being in user space rather than kernel space. One of the major things this brought about is synchronisation and locking are everywhere because without it, considering context switches can happen at any time and that you can’t rely on the whole system being on one processor or whatever. So it’s very careful about locking and synching.
8. Does XMach support SMP? What is the filesystem used? Other platforms except x86?
Joseph Mallett: SMP support is currently a “work in progress”.
As for filesystems, we only actively support FFS and UFS. There’s support for others in the BSD layer but the microkernel can only initialise a system off UFS or FFS. There are currently ports in progress to sparc64 and macppc but there’s a lot of ports we’d like to see happen.
9. Something else you would like to add?
Joseph Mallett: I’m very pro-security. I’ve sat in xMach all night before and seen how I could lock up the system or destroy various parts and i report it all back in public forums because i care about seeing the system be stable and secure.
10. Is xMach a “usable” system today? Can you do your everyday work with it?
Joseph Mallett: If you’re like me, it is. 😉
Get up to speed with xMach on the IRC server irc.openprojects.net, channel #xmach. Joseph’s nickname is ‘jmallett’.