Bringing xMach To Life 77
jmallett writes: "xMach, the microkernel BSD Operating System, first made an announcement on Daily DaemonNews stating that there were some new source and binary snapshots available. Also, OsOpinion has an article I wrote about my experiences so far, entitled 'Giving Birth to xMach'. Development of xMach currently is limited to the microkernel and its servers, but a userland (based on that from the good people at OpenBSD) will be worked on shortly. Some of the primary focuses on xMach are data storage, security, and non-bloat."
Re:Mach (Score:1)
BeOS has an IP stack in-kernel. That ain't no micokernel, Jack.
The fact is that BeOS was "forced" onto Intel hardware because they weren't willing to suck it in and use the information that was already out there in the form of MkLinux
Oh BS. Hmm, I wonder which platform has a bigger market for alternative Operating Systems, PPC or x86? That's a real noodle-scratcher.
What a strange world (Score:2)
You know that commercial software vendors have got to be feeling like they are in a precarious position when 16 year-old highschool dropouts can successfully write their own Unix microkernel based operating system.
Seriously, the programming team for this xMach thing consists of some punk kid and 5 or 6 other people (none of which stuck the project out to the end). That is insane (in a good way). Honestly, if uneducated volunteers can accomplish a feat like that and give the results away then you almost have to feel sorry for those people in the business of creating proprietary operating systems. Basically they are screwed.
Congratulations to the hackers working on xMach.
Re:What a strange world (Score:2)
Clearly you are educated. After all, how many CS students can say they have written their own Mach based BSD kernel (at 16). But the corporate world puts a pretty strong emphasis on formal education. And it isn't just the suits either. Heck, you no doubt have seen the education bigots on Slashdot talk about how someone who is self taught could "never really grasp CS."
Apparently they don't realize that CS textbooks are available to everyone.
Re:What a strange world (Score:2)
When they add the OpenBSD userland to this kernel they will have a pretty impressive amount of useability. In fact, I would be interested in a list of the LOTS of extra features that commercial OSes have.
As for your insinuation that only commercial OSes can survive in the business market, well the numbers would seem to disagree. Linux seems to be doing fairly well, and it was written by a Finnish college undergraduate. In fact I still have the text of the flamewar between Linus and Prof. Andrew Tannenbaum in which Prof. Tannebaum told Linus that he would flunk him if he turned in Linux as a project. Now unless you happen to think that commercial OS == Windows, then I think that you would have to admit that somehow, despite its humble beginnings, Linux has managed to be pretty darn useful. There are plenty of commercial OSes that would love to have Linux's growth rate and market penetration.
I would actually agree with you there. It will certainly be a harder sell. But if the software is good, it will find users. Heck, there are all kinds of uses for such a beast.
I'm afraid you missed something (Score:2)
The WHOLE POINT of a microkernel based architechure is to have this layer. It's another thing that can break, yes, BUT unlike the rest of the 'kernel' it is small, and it has very very limited goals in life. (things like schedule tasks, map memory, provide some ipc primitives, etc....) Small means debugable. Small means TESTABLE. Like formal qualification tests. Regression test suites. You can beat the hell out of a microkernel. Then you have known stable base to build your OS services from.
Look at QNX as a real example. (not to say it's perfect, however, it works quite well. You can pull hardware drivers in and out on the fly.)
Enough of this. I need to do some work here
Mach4 microkernel + BSD Lites server = xMach? (Score:1)
So (Score:1)
And if so, how would they make it work?
Re:This just in... (Score:1)
At least that's what I've seen happen to all other projects with non-bloat as an original goal. (linux, mozilla, kde, gnome, etc..)
Re:xMach versus CMU Mach (Score:1)
kernel hacked to run as a server, the latter is
taken from lites.
Re:What a strange world (Score:2)
No, they aren't.
It's impressive that they've gotten a tiny piece of a modern operating system up and running. But commercial OSes have LOTS more functionality. And they have a little something called support. By and large, you are paying for support with most software (news flash: shrink-wrap software for consumers is a tiny bit of the entire software market. The real software industry is business software).
I don't think the dropout and his buds are going to be an impressive support organization for companies in the Fortune 1000. Or, heck, the Fortune 10,000.
-jon
Re:Mach (Score:2)
I'm interested in hearing more about the issued you had porting Streamripper [sourceforge.net] to BeOS. The link to the BeOS binary from BeBits [bebits.com] seems to be broken. I'll cvs it and take a look at it tonight. Any major brokes, besides the panics while debugging?
, but the GUI was beyond me. all of the same code i could find wouldn't even compile. Also i got constant kernel panics when debugging threads. real shame...
Well, Be's native gui is unique. In other words: BeAPI != win32API != gtk/qt/motif/whatever. The BeBook [be.com] is available online, if anyone's interested in the API. Programming for BeOS is a great way to learn C++, IMHO.
Re:Mach (Score:2)
It does not mean that BeOS is broken. Sheesh. Software evolves, paper decomposes. Fortunately, there *is* current documentation available.
Try the current version of the BeBook (available online), or join #bedev on irc.elric.net :-)
Re:xMach should look at Darwin (Score:3)
Uhmm.. it sort-of is. Check out darwinos.org [darwinos.org], or read Apple's FAQ [apple.com].
"Darwin is processor-independent and is built for PowerPC and Intel platforms, enabling Open Source developers to work on Darwin projects on the widest choice of computer systems."
Re:Mach (Score:1)
Re:Mach (Score:1)
lets face it -- most people are happy with a web browser and an office (wordprocessor, spreadsheet,email) package. both of which and more can be provided by any OS. programmers need dev tools - well, gcc is pretty "world class". servers need web browsers/dns/smtp all of which are filled by "world class" open source tools.
now what other "world class" software were you talking about ?
Re:Mach (Score:2)
>>>>>
Not yet.
That ain't no micokernel.
>>>>>>>>>
That might sully its definition as a "true" microkernel, but I'd argue that BeOS is more of a microkernel OS where it counts than any other Mach-based OS, except maybe HURD. First, many microkernel OSs have networking integrated, I believe QNX4 had it in the kernel. Second, Most Mach based OSs use a monolithic system server, which throws many of the benifets of a microkernel OS out the window. In BeOS, for example, if the net_server crashes, it can be restarted without too much trouble. If networking in the BSD system server crashes, then the OS is down the tube anyway.
Re:Mach (Score:2)
Re:Mach (Score:2)
Re:xMach vs. HURD (Score:1)
1) it IS a fundamentally different thing from this.
2) It's design is insane... Not in that it's not a good idea, just that it's very diffacult to grok the interactions correctly.
3)I don't like RMS, he's funny looking.
Re:Linux is Dying (Score:1)
Linux was around before the commercial distros. If there is a need for an alternative OS to MSFT, Linux will have a future.
Re:Mach (Score:1)
If you really believed this, why did you release your project as open source?
GNU/Hurd is not an "open source" venture as I understand RMS to define it.
hoovers (Score:2)
certainly not! the best hoovers [hardnrg.com] by far are those on the Roland Alpha Juno 2.
- j
xMach should look at Darwin (Score:3)
Re:Hey, would FreeBSD make a good DSL web server? (Score:1)
Re:Mach (Score:3)
Give the book "Inside Windows 2000" a read sometime.. but basically, i'll paraphrase
"Is Windows 2000 Less Stable with Win32 USER and GDI in Kernel Mode ?
...the reason the impact on system stability has been minimal is that prior to windows NT 4 (and this si still true today), a bug (such as an access violation) in the usermode Win32 subsystem process (csrss.exe) resulted in a system crash. This crash occures because the parent process of Csrss (the session manager, smss) does a wait operation on the process handle to csrss, and if the wait ever returns, smss crashes the system, because the win32 subsystem process was (and still is) a vital process to the running of the system....
there is one additional danger that did not exist prior to moving the windowing and graphics system into kernel mode.. because this body of code is now running in kernel mode, a bug (such as the use of a bad pointer) could result in corrupting kernel mode protected data structures..prior to nt4 such references would ahve caused an access violation because kernel mode pages aren't writable from user mode, but a system crash would ahve then resulted, as described earlier.. with the code now in kernel mode, a bad pointer ref that caused a write op to some kernel mode page might not immediately cause a crash, but if it corrupted some data, a crash would likely result soon after..
.. another area of impact can come from moving the graphics drivers into kernel mode.. previously some portions ran in csrss, and others in kernel mode.. now the entire driver runs in kernel mode..
... finally, running the windowing system and graphics drivers in kernel mode is not _fundamentally_ risky... many other device drivers (network cards, hard disk drives) have always run in kernel mode on every version of NT, with a high degree of reliability.."
his little analysis goes on an on.. talking about the scheduling impact on smp and non-SMP boxes about these moves, and many other cool issues..incase you cant tell i think anyone that uses w2k at all should have this book.. its pretty sweet (and comes with a cd full of neat make-NT-stink-less tools like a self-hosted kernel debugger, etc..)
its "Inside Microsoft Windows 2000", by Davide Solomon and Mark Russinovich...
trollin for responses? (Score:1)
I'm thinking FreeBSD because it's less likely to get script kiddied.
If that is your only concern go with OpenBSD, As for FreeBSD or Linux.. doesn't matter. they'll both hold up just fine.
Go with FreeBSD is you want a sane install, meaning the ports collection, nothing weird of out of place.
Go with Linux if you want to install lots (and lots) of different stuff, play with new things, runa CS or q3 server, etc... It's not that these can't be done in FreeBSD, but if somethings not in the ports collection it can be a serious pain to get running.
-Jon
Streamripper [sourceforge.net]
Re:This just in... (Score:1)
Streamripper [sourceforge.net]
Mach (Score:1)
Mach=another layer before the hardware.. so if something heads south in the kernal (as you know it) it would mean that it's father (to speak) would just restart it.. or at least fail gracfully. OS's that use a mach design would be..
WinNT/2k
BeOS
OSX/NeXT
Hurd(aka vaper)
Win2k IMO is the best out of these. and it's not a true mach design.. they started off doing that, and since then have punched holes in it to make graphics and multimedia faster.. damm shame because thats where about 95% of the crashes come from.
BeOS is pretty good. but i'm starting to belive it's abadonware; about 2 months ago i tried porting my streamripper program to it. the posix end of it worked out fine, but the GUI was beyond me. all of the same code i could find wouldn't even compile. Also i got constant kernal panics when debugging threads. real shame...
OSX/NeXT: dono haven't played with it.. don't know much really.. i have a feeling that they are keeping it 100% microkernel design.. which will be nice, if they don't have any bugs in the core.. it'll also mean the multimeda stuff will lag, but maybe not to bad, anyone know anything solid so i can stop talking out of my ass?
Hurd(aka vaper): ya... opensource solves everything.. yeah..... sure...if you actually release something within a decade, maybe...
-Jon
Streamripper [sourceforge.net]
Re:Mach (Score:1)
I'm interested in hearing more about the issued you had porting Streamripper to BeOS. The link to the BeOS binary from BeBits seems to be broken. I'll cvs it and take a look at it tonight. Any major brokes, besides the panics while debugging?
get the binary from the home page, the CVS for it probably won't compile.. i've been focusing on the win32 port and haven't done any backporting.
Well, Be's native gui is unique. In other words: BeAPI != win32API != gtk/qt/motif/whatever. The BeBook is available online, if anyone's interested in the API. Programming for BeOS is a great way to learn C++, IMHO.
Ya I own both books, they are way fuckin out of date, not one of the examples compiled. It's a great design, to bad it's broken!!
-Jon
Streamripper [sourceforge.net]
Re:I'm afraid you missed something (Score:1)
Streamripper [sourceforge.net]
Re:Mach (Score:1)
WHY I MADE IT OPENSOURCE
not why I wrote the program in the first place.
here's a wake up call for you there IS A NEED for world class software, all I was saying is that I haven't seen much come from open source.
-Jon
Streamripper [sourceforge.net]
Re:Mach (Score:2)
But i'm also a critic, mainly of people who blather on about how people should stop compaining and write code for X etc.. it JUST DOESN'T HAPPEN! Very few open source project are more then a single person hobby. it's hard to make a world class large project out of this. There are exceptions, Linux or instance, but not many.
-Jon
Streamripper [sourceforge.net]
Non-Bloat? (Score:1)
Anybody ever remember qualified programming?
Re:Mach (Score:2)
Assuming you meant microkernel and not Mach, you missed one commercial (though admitedly not widely used) Unix OS that uses a microkernel: Unicos/mk, which runs on Cray T3E systems. Of all the OS's you list, I think Unicos/mk wins hands down - it scales to almost 2000 processors and you can reboot individual processors without taking down the entire system.
Re:What a strange world (Score:1)
I can totally relate with what you're saying.
I sometimes get the impression that these education bigots think that immediately after creating the earth, sky, Adam, and Eve, that God created a professor in every field of knowledge.
It's as if they forget that Einstein was doing his work as a hobby, after the education system at the time had failed to spot his talent.
K5 (Score:2)
set yourself up as a tin-pot dictator of your own website -- then you can decide what stories get posted.
Or just go to Kuro5hin [kuro5hin.org], where the community chooses the stories.
Re:Hey, would FreeBSD make a good DSL web server? (Score:1)
See:
http://kt.zork.net/kernel-traffic/latest.html#2
no link cuz I'm truly sick of phony ones.
Re:Hey, would FreeBSD make a good DSL web server? (Score:2)
I seriously think some people here think that Linux would make a better vacuum cleaner than a Hoover branded one!
Re:Hey, would FreeBSD make a good DSL web server? (Score:2)
xMach's the spot (Score:1)
DanH
Cav Pilot's Reference Page [cavalrypilot.com]
Re:Hey, would FreeBSD make a good DSL web server? (Score:1)
Apparently someone likes xBSD enough to use it as their servers.
I, personally, prefer linux as I'm used to that. Solaris would be my second choice.
DanH
Cav Pilot's Reference Page [cavalrypilot.com]
Re:No Solaris, I have cheap PC hardware (Score:1)
Solaris x86 IS a dog, that's true, but for web serving, SPARCStation2 is fine up to a point. Cheap too.
DanH
Cav Pilot's Reference Page [cavalrypilot.com]
Re:Hey, would FreeBSD make a good DSL web server? (Score:2)
I don't think it's the FreeBSD community, per se, but rather the newsgroup community in general. Just think about all of the BW that is wasted when NG-lurkers with big heads critique every word in your post before telling you to Read the FAQ/Manual/Earlier posts. Just spend a day reading comp.lang.perl.misc and you'll get my point.
--
Re:Hey, would FreeBSD make a good DSL web server? (Score:1)
/Brian
Is this trip really necessary? (Score:2)
-Lites is Not Ready for Prime Time (which I have no knowledge of), or
-someone wants to see a GPL'ed BSD.
I don't know if either situation applies; xMach as it stands is BSD licensed, so the second possibility is currently out. Apart from that, why do we need a fifth BSD to begin with except to satisfy someone's hacker itch?
The thing is, Yet Another Microkernel BSD is not what we need. We already have Lites. We already have Darwin. If you're going to create a Mach-based OS, why not do something non-Unixy? Why not do a freeware clone of Solaris or some other Unix with a lot of specialized features?
That said, I may offer to help out anyway, I don't know...
/Brian
Re:You are off-the-mark. Read why. (Score:2)
Last time I checked, the OS of choice for Mach is pretty much any Unix you care to port to it; the most important of these would be OSF/1 (aka Compaq Tru64) and MacOS X/NextStep (there may be others). The Hurd fits loosely into that category as it's meant to be more or less a Unix act-alike, though its architecture is drastically different from any Unix or Linux system available.
(IMHO the Hurd is obsolete except as a teaching tool anyway -- the world marched on without it while it was still vapor. But that's my personal bit of flamebait and I invite others to disagree.)
/Brian
Re:*BSD is dying (Score:2)
/Brian
(ps To those not really in the know, it's a crock anyway -- I'm not going to get into it, but someone is clearly missing the point...)
Re:xMach vs. HURD (Score:2)
And yes, you BSD-is-dead, people, BSD has massive momentum. Just ask Apple, and Compaq, and Yahoo, and...
/Brian
Re:the day has passed for BSD (Score:2)
/Brian
Re:Mach (Score:3)
BeOS was a great idea that got bogged down by Jean-Louis Gassee's ego. The fact is that BeOS was "forced" onto Intel hardware because they weren't willing to suck it in and use the information that was already out there in the form of MkLinux (granted that would require some creative interpretations of the GPL, but I'm sure Apple could get away with GPLing Darwin without doing the same to X).
OS X is very much like what xMach is doing, though it's already been there for maybe ten or twelve years now (or is it longer?). It doesn't have the holes NT has, and it has one of the best object frameworks in the business (even if you do need to know ObjC or Java to use it).
The Hurd, finally, is not actually vaporware. What it is is a monument to Stallman's hubris in thinking that he could create a cutting-edge OS (and it's bleeding-edge, at the very least, if you know anything about its internals). The problem with the Hurd is that it's an extraordinarily complex piece of software with a limited appeal; where Linux pays little attention to the state of the art and follows the classic Unix philosophy of "just make it work right, dammit", the Hurd from what I've read tries to be the most advanced system out there; almost everything is customizable, and the kernel architecture itself is a Mach-based multiserver. (Read up on it -- you'll grok instantly why it took ten years to get it to daylight in any form at all...)
There are a few others, I believe. Minix is said to be a microkernel architecture, though I don't know much about it. PalmOS is microkernel-based, but the Palm userland doesn't really pay much attention to it. MacOS uses something called a nanokernel, which I think is nothing more than a very low-level HAL (exactly what use it is I don't know).
/Brian
Re:Hey, would FreeBSD make a good DSL web server? (Score:1)
Re:Mach (Score:1)
They don't, and neither are micokernel based anyway. Both have an IP stack in-kernel. BeOS talks to USB devices in kernel land. Need I go on?
Re:Hey, would FreeBSD make a good DSL web server? (Score:1)
I have been using Red Hat Linux for a couple years now for my firewall/router and my servers. I have yet to be script-kiddie'd and the firewall is controlling a modem link AND a DSL link just fine and it's only a low end pentium machine.
Linux can be set up very securely and will cope with the load extremely well IMHO.
I would much rather use Linux and spend time learning about security than install something "secure out of the box" and not be aware of the issues.
Re:xMach vs. HURD (Score:1)
--
Re:Mach4 microkernel + BSD Lites server = xMach? (Score:1)
--
Re:Non-Bloat? (Score:1)
--
Re:What a strange world (Score:2)
--
Re:What a strange world (Score:2)
--
Re:Hey, would FreeBSD make a good DSL web server? (Score:1)
It should be... And since that isn't what was asked, how the Hell do you know if it would or wouldn't have been modded down?
Ranessin
MACH single handedly gave microkernels a bad name (Score:1)
Its a shame something like L4 doesnt get more publicity. Or Eros for that matter, although that wont ever be suited as just a lite weight server to build a *nix on.
xMach vs. HURD (Score:2)
The HURD is developed from scratch, a pure design, a working microkernel with an up-and-coming Debian distribution, and officially supported by the GNU project.
xMach appears to fall short of the HURD in each of these areas, if I'm not mistaken: it's not developed from scratch, has a more mingled design with existing BSDs, in partially-working state and is not part of a funded project.
Not to disparage the xMach team, but as an honest question, how is this use of resources better than simply contributing to the HURD? Is it simply ego?
That brings up another point. How often do free software projects suffer from ego? Not the make-things-better-because I'm good ego, but rather splitting projects, wasting time on personal conflicts, etc. NetBSD vs. OpenBSD, GNU Emacs vs. XEmacs, KDE vs. GNOME, and now xMach vs. HURD; do these competing forks serve a productive purpose in the free software community, or are they simply reminders of the inherit inefficiency prevalent in any organized human endeavour?
Just some thoughts... thanks.
You are off-the-mark. Read why. (Score:1)
While the xMach kernel has a BSD license, it is not a BSD Unix OS. It is a kernel. Ideally this kernel could be used inside any OS; in a way, it is already - there are daemons for linux similar to mach or hurd.
While a unix would be easier to do for the mach kernel than, say, make windows run on it, the OS of choice for mach is the GNU hurd.
Some would consider darwin to be the reverse-engineering of a dead operating system, while mach is supposed to be a well-thought-thru design.
In addition, the apple open license 244C2.
See also: http://www.debian.org/ports/hurd/ [debian.org]
Re:Hey, would FreeBSD make a good DSL web server? (Score:2)
What do you feel comfortable with? FreeBSD is my personal preference, but you have to be very aware of the huge cultural difference between Linux and FreeBSD communities. Within the FreeBSD community, it is extermely necessary to RTFM completely before you step forward and ask a presumably stupid (all newbies are presumed stupid until proven smart) question on the mailing list. Clueless lusers are not very welcome. (I'm just stating what I see as the attitude on the various FreeBSD mailing lists.)
That said, the technical qualities of FreeBSD make it outperform Linux in all cases. Linux suffers from the disease of the least common denominator--i.e., they let anyone hack away and contribute poor quality software to the effort. With FreeBSD, there is a lot of attention to doing things the right way, where the right way is defined by the people on the committers list.
So, if you think that you can install and start up the system on your own, go for FreeBSD. If you need help from the get-go, better stick with Linux. After you get the system up and running, and you have thoroughly R'd TFM, and you have spent at least 2 weeks reading freebsd-stable mailing list, then ask for help.
xMach versus CMU Mach (Score:2)
I'm curious how xMach compares to Mach 3.0 from CMU. Is there any relation at all besides sharing a microkernel architecture and the word "Mach?" Does anyone have a summary of the interesting features of xMach? Is this doomed to be yet another operating system?
Re:Hey, would FreeBSD make a good DSL web server? (Score:2)
It was marked "troll" because the FreeBSD philosophy is to make a high-performance x86 server, and it probably is the highest performance server you can set up on an x86 box.
Whether the poster knew this or not is another question altogeather.
Trolls throughout history:
For better or for worse (Score:1)
Here's what I know. A coworker of mine used Linux to set up his PacBell DSL line while I used FreeBSD for mine. His was recently hacked by some sort of script that gave the kiddie super user privleges. The worst I have seen on my box is people attempting to access my SAMBA share (unsuccessfully I might add). In my case I got rid of them by configuring the firewall to disallow those ports on the Internet.
My machine runs NATd, DHCPd, SAMBA, APACHE, IPFIREWALL, VNC, SSHd (preinstalled!!!), FTPd so on and so forth.
His runs telnetd and FTPd.
What's my opinion? Either box could end up secure, but mine was secured with most of the services I need right out of the box. In my opinion this saves me from potential user error while installing this software. On top of that, I have yet to hose a BSD machine whereas Linux machines were always falling apart at the seams. I guess what I am trying to say is, how many Solaris/HP-UX/BSD machines that you have heard of get reinstalled every 2 months, or even at all? I know of another OS that does that. It starts with a Win and ends with a Dows.
Yeah, yeah, yeah. Flame on, I don't care.
Mac OS X (Score:1)
Re:Hey, would FreeBSD make a good DSL web server? (Score:2)
Hey, would FreeBSD make a good DSL web server? (Score:1)
Would FreeBSD make a better DSL web server than Linux?
My situation: I just got DSL, and it rocks. I only have 10 megs of homepage space with my ISP, and I want more. I figure I could jsut set up a web server at home, and live with the 128k upload speed (I need something to bypass my corp. filter, and a little cgi-perl should do the trick).
So, Linux or FreeBSD for the server? I'm thinking FreeBSD because it's less likely to get script kiddied.
What do you all think?
No Solaris, I have cheap PC hardware (Score:1)
Now, if I took an extra Sparc home, it would be different.
I figure Linux is too easy to crack, see the honeypot article.
Re:xMach versus CMU Mach (Score:1)
I hate to say it, but this is pretty much the first thing you learn about xMach when you're told what it is! You can read up, a little, on this at http://www.xmach.org/. Links to the GNU Hurd can be obtained via http://www.gnu.org/
--
Keep attacking good things as "communist"
Re:Hey, would FreeBSD make a good DSL web server? (Score:1)
Adding packages was equally easy.
I've just about talked myself into another go.
(Even though I'm over 40 and therefore not capable of downloading software. Haven't been for ten years.)
This just in... (Score:2)
...FOX Broadcasting has just filed in court an injunction again xMach for infringing on their trademark "X-Files" TV show. When asked to comment, the lawyers for FOX said, "we think that popcorn manufacturers need to learn that they can't name their kernels after TV shows and not expect legal action."
Come on.. It could happen.
Re:Hey, would FreeBSD make a good DSL web server? (Score:1)
According to that criteria, Linux would make a good server as well. I have a firewall/router running Linux 2.4 and also see many breakin attempts without success.
Re:Mach (Score:1)
Re:Hey, would FreeBSD make a good DSL web server? (Score:1)
Re:xMach versus CMU Mach (Score:1)