Slashdot Mirror


Benjamin Herrenschmidt On PPC/Linux, Apple and OSS

MacBoy writes "The folks over at ResExcellence have a great interview with Benjamin Herrenschmidt, kernel guru for the PPC/Linux camp. He offers up some history of Linux on Apple and PPC hardware, and some discussion on Apple's current and past contributions to the open-source and Linux communities. He makes some interesting comparisons of Linux on PPC vs. Intel hardware, such as the ease of getting important patches into the kernel on PPC compared to Intel. It's an interesting read, especially if you are amoung the many who covet the new Dual-CPU GHz G4 Macs and want to know a little more about the PPC/Linux community."

167 comments

  1. Question: by Exmet+Paff+Daxx · · Score: 4, Interesting

    PPC/Linux seems like an ambitious and technically interesting project, no doubt. Personally, though, I don't seem to understand the purpose. MacOs X is based on BSD, so you get all the nice Unix-like server features... and a decent GUI, something that Linux has never had. Are there some other advantages of Linux/PPC that I'm missing?

    --
    If guns kill people, then CmdrTaco's keyboard misspells words.
    1. Re:Question: by Anonymous Coward · · Score: 0

      I can think of no single advantage to Linux whatsoever, let alone PPC.

    2. Re:Question: by Anonymous Coward · · Score: 1, Informative

      Unlike MacOS X, Linux does not require a terabyte of RAM and SMP G4s.

      Seriously though - Linux is great for older Macs, but there's little reason to go with Linux on a newer Mac.

    3. Re:Question: by Anonymous Coward · · Score: 4, Interesting

      I have to admit that I wonder the same thing.

      A few years ago, running Linux on a Mac made sense -- MacOS and Linux are, to say the least, very different, and there are some real advantages to running Linux (e.g. turn a Mac into a firewall, web server, etc.). Heck, long ago I used to run A/UX, and more recently Yellow Dog Linux.

      But these days, MacOS X has everything LinuxPPC has, pretty much. It's open source, BSD is at least as nice as Linux, the Mach kernel is cool, and pretty much any application for Linux will run on MacOS X. So I don't see why anyone would run LinuxPPC instead of MacOS X (or even just Darwin, if you don't like the proprietary layers on top). Admittedly the filesystem in MacOS X is arranged a little differently from a standard Linux setup, but that's hardly cause for switching operating systems.

      So I am curious -- why do people pick LinuxPPC over Darwin or MacOS X?

    4. Re:Question: by rho · · Score: 2

      Hordes of teenage fanatics frothing at the mouth.

      --
      Potato chips are a by-yourself food.
    5. Re:Question: by Forrestina · · Score: 0, Redundant

      yeah, a decent gui is what OS X lacks. no workspaces? no go for me.

      opinions on this will of course vary. but, i preffer a minimalistic window manager, and i need multiple workspaces. which the windows and mac interfaces just don't have.

      --

      -------
      "don't smoke, don't drink, don't fuck
      at least i can fucking think"
      Minor Threat

    6. Re:Question: by Anonymous Coward · · Score: 0

      I read something about MacOS X not supporting POSIX threads something like that. I don't know enough about linux.

      I have an old iMac (333mhz model) I tried Darwin and LinuxPPC, and IMHO Darwin is terribly slow and even looks cheap.

      And diversity is always better than having a monopol, even if the monopol is owned by Apple.

    7. Re:Question: by acordes · · Score: 5, Informative

      People forget that the vast majority of the installed base of PowerPC chips is in embedded systems. Apple is a relatively small buyer of PowerPC chips. Linux is a great product for purposes such as those.

    8. Re:Question: by Metrollica · · Score: 2, Troll

      How about speed? Linux uses a monolithic kernel while OS X uses a microkernel, and we all know monolithic kernels are MUCH faster than microkernels. Even old outdated Linux kernels outperform brand new builds of OS X as a webserver and at other important tasks which is what OS X is really geared at doing. OS X can however be modified by optimizing device drivers but do you really want to spend all that time? Linux is fast right out of the box. I don't have to mention the GUI do I. Apple's is terribly slow and most of it is in fact useless.

      How about system requirements. Linux needs very little to run while OS X needs 128 MB RAM min. Linux can run on old macs while OS X cannot (without being hacked).

      How about price. Linux is free while OS X is not. OS X costs $129.00 at the Apple store.

      How about for the advanced user. OS X hides many admin tools deep in the GUI while Linux does not. OS X is built for newbies while Linux is built partly for both advanced and newbies.

      Apple should have built OS X off of Linux if they were smart. It is better in many ways than Darwin/Mach.

      --



      --Metrollica
    9. Re:Question: by Anonymous Coward · · Score: 0

      Your use of sarcasm to belittle the Linux crowd is probably going to fly right over their heads.

    10. Re:Question: by MaxVlast · · Score: 4, Insightful

      Umm, have you ever used it?

      > I don't have to mention the GUI do I. Apple's is
      > terribly slow and most of it is in fact useless.

      That's just from outer space. It can get bogged down, sometimes, but it remains extremely peppy and always responsive on my G4 400.

      > OS X costs $129.00

      And it's a bargain for that.

      > OS X hides many admin tools deep in the GUI

      Care to name one? The applications are in /Applications. The admin tools are in /Applications/Utilities. If that's deep, you need to stick to MS Bob.

      > Apple should have built OS X off of Linux if they were smart

      Or, they could have stuck with the system that the OS was developed on, the development environment that everything is targeted for, and the environment that they retain complete control of (and doesn't come with thousands of screaming teenagers.)

      --
      There should be a moratorium on the use of the apostrophe.
      Max V.
      NeXTMail/MIME Mail welcome
    11. Re:Question: by Anonymous Coward · · Score: 0

      The speed issuse (if one exists, i've never used a Mac, that said I would like to) is down to Aqua, not kernal design.

      BeOS is based on a Microkernal[ish], as is AtheOS, both other better GUI performace over Linux.

      How about price. Linux is free while OS X is not. OS X costs $129.00
      Not really all that relivent for Duel converts, considering that you can't buy a Duel 1Ghz Apple w/out MacOS.

      It is better in many ways than Darwin/Mach.
      prick

    12. Re:Question: by Anonymous Coward · · Score: 0

      u r sooo naive! tri spendin s0m3 t1m3 in tha reel world!!

    13. Re:Question: by owenc · · Score: 2, Informative

      two reasons: linux has virtual consoles, darwin doesn't (for now), and because you can.

    14. Re:Question: by Anonymous Coward · · Score: 0

      How the fuck is that informative?!

      Yes, I'm trolling, but so is that moderator.

    15. Re:Question: by adlj · · Score: 1

      > Apple should have built OS X off of Linux if they were smart. It is better in many ways than Darwin/Mach. and hereby put it under GPL? so we would have been able to port it toward x86 platform? are you serious? do you really think apple was looking for become a software house? and then shutdown because of lack of incomes? (I'm sorry for my english)

    16. Re:Question: by Anonymous Coward · · Score: 0

      Amen brotha.

      By the way, do you know where I can get some "Tang" around here? If anyone knows I thought it would be you.

    17. Re:Question: by Bodrius · · Score: 5, Insightful

      I'm no Apple user, but I had the chance to play a bit with Macs for some weeks and I'm afraid you're dead wrong.

      I'm sure Linux is faster than OS-X for some tasks. Probably a lot of them, actually. But are those the tasks OS-X is geared to?

      A web-server? What do you need a GUI and Aqua for in a pure web-server? You don't put KDE and GLTron on your Linux webserver, do you? OSX without Aqua is not OSX, it's Darwin.

      OS-X is a desktop-geared operating system. It's made for interactive use, to play with Photoshop, 3D animation, movie editing, software development and whatever the user happens to require. It contains a web-server (and all the other servers) because it's useful for the user/developer. The user wants to see his personal webpage at once. The developer wants to code and deploy.

      System requirements? Can I run KDE/GNOME on "very little memory" anymore than I can run Aqua? I don't think so. I tried a couple of times, and I feel stupid for trying. Linux can survive in very little memory just like Darwin can, but Linux-OSX is no valid comparison.

      I don't understand either what you're saying about admin tools deep in the GUI. The shell is right there, waiting to be used as always and with all the tools one needs. So are their GUI front-ends, which I never had problems to find as a non-Mac user, and which are much simpler and convenient (the whole point of the GUI front-end) than any I have seen in Linux.

      What does Linux offer in advantage to the GUI's organization in OSX? Are you talking about KDE, or GNOME, or something else, any of which you could install over Darwin (if they can be installed in LinuxPPC)?

      Apple's GUI is not so slow these days (maybe it was in 10.0). At least it didn't seem to me when I used it, and it's not like I had the time to "get used to it". Not as responsive as my Win box, but much more responsive than my Linux with XFree. Useless? If you mean the pretty effects, transparency, etc... sure, but it's part of the Mac style. Aesthetics matter. If they didn't, you probably wouldn't be buying a Mac.

      Price? For a competent, fully-functional, user-friendly desktop system based on Unix? I would prefer free, of course, but if I were willing to pay for the Mac I'd pretty much buy the OS-X no questions asked. But of course, that's included in the price of the Mac.

      Apple did the smart thing using BSD/NextStep. Even if they didn't consider it a superior, more robust Unix as they said, it lets them avoid the politics that surround Linux. Just not having to deal with all the license zealotry and "Linux is always better" chanting is worth the price.

      --
      Freedom is the freedom to say 2+2=4, everything else follows...
    18. Re:Question: by Lars+T. · · Score: 3, Insightful
      Let's ignore that not even all Macs can run OS X, here's a quote from the interview:

      "The PPC tree has it's own complexities, mostly because we have to deal with a large set of very different machines and CPUs. From the PowerMacs, PRePs & CHRP, the 4xx and 8xx based embedded platforms, and even IBM pSeries and iSeries servers."

      --

      Lars T.

      To the guy who modded me down from perfect to terrible Karma - Apple haters still suck

    19. Re:Question: by MouseR · · Score: 4, Insightful
      How about price. Linux is free while OS X is not. OS X costs $129.00 at the Apple store.

      How much would you pay to get ProjectBuilder and InterfaceBuilder for Linux?

      We get 'em for free with Mac OS X, and also get a copy of Mac OS 9.2 for free.

      Oh sure, rant as much about OS 9. How often do you have to boot in Windows to do something (your favorite game, or perhaps Word).

      So, see it this way: for 130$, you get 4 distros:
      1. Darwin,

      2. Mac OS X (Quarts etc)
        Incredible dev tools
        Mac OS 9


      I say that's pretty good value for the buck. (Besides, if you buy a new machine, you get all that anyhow).
    20. Re:Question: by Anonymous Coward · · Score: 0
      So, see it this way: for 130$, you get 4 distros:
      Darwin,
      Mac OS X (Quarts etc)
      Incredible dev tools
      Mac OS 9


      Oh, please! Darwin is a subset of OS X. That's like bragging about getting Windows 95 and DOS.

    21. Re:Question: by shamino0 · · Score: 1
      I would just like to add that I don't see the point either. Why bother buying Mac hardware if you don't want to run MacOS?

      If you want non-Intel box to use exclusively for running UNIX apps, you'd be better off with something like a Sun Blade 100. A 500MHz UltraSPARC system that costs less than most decent Macs and PCs. And it comes with UNIX (Solaris) factory-installed. If you really don't like Solaris, you can install Linux for SPARC on it.

    22. Re:Question: by Anonymous Coward · · Score: 0

      Have you tried installing Linux yet, d00d?

    23. Re:Question: by Fweeky · · Score: 4, Informative

      > we all know monolithic kernels are MUCH faster than microkernels

      Not really. A bit of extra message passing doesn't make for a hugely slower system. On the other hand, you get a smaller, neater, and above all, more modular system.

      > I don't have to mention the GUI do I. Apple's is terribly slow and most of it is in fact useless.

      Right, and Linux is overflowing with kickass GUI's and reliable, well designed system configuration tools that don't mess up your configs.

      > How about system requirements. Linux needs very little to run while OS X needs 128 MB RAM min

      Don't forget to add the cost of XFree86 and Gnome/KDE to your "very little", and don't go skimping into swap-hell, since this is aimed at desktop/workstation type environments.

      > How about price. Linux is free while OS X is not. OS X costs $129.00 at the Apple store.

      Add to the cost of Linux books, time you spend working things out, trying out and breaking various dist's. Apple target people who just want to Get Things Done - the real cost of learning and getting used to Linux is very high for such people.

      > Apple should have built OS X off of Linux if they were smart.

      Why would they want to use a big-ass barely designed kernel they can't even touch without having to hire teams of lawyers and beg their coders to be careful to stop their code being automatically GPL'd? What's so good about Linux that makes it so much better despite it's shortcomings?

    24. Re:Question: by jtdubs · · Score: 5, Funny

      The funny part is thus:

      Scenario:

      Pretend that OS X and linux are functionally equivalent. All of a sudden linux introduces accelerated support for alpha blending and better looking fonts and a beautiful animated GUI that blows OS X out of the water.

      Linux communities response:

      Woohoo! We are so much more l33t and advanced than OS X. Our fonts are better and everything is animated and pretty. We win!

      Scenario:

      Pretend that OS X and linux are functionally equivalent. All of a sudden OS Xintroduces accelerated support for alpha blending and better looking fonts and a beautiful animated GUI that blows linux out of the water.

      Linux communities response:

      Stupid Macs are so slow now. So they are pretty, but all those features are really worthless and just suck up RAM. The GUI just hides you from the command line, the fonts are just way to easy to read and take the challenge out of using unix, and the alpha blending is just a way to force me into buying more expensive hardware just to get the GUI to be responsive.

      Justin Dubs

    25. Re:Question: by Grahf666 · · Score: 1

      Linux PPC is aimed at people who already have Macs, and want to do something interesting with them. An ancient power mac could easily become a decent file server or router, something it could never do running classic Mac OS. Keep in mind you need a Mac less than 2 years old to run OS X well. Or maybe you are just fed it up with Apple's OS, but like the hardware.

    26. Re:Question: by alex_ant · · Score: 1

      Well said sir. Now prepare to be modded down by the hordes of jealous Linux users that have not yet awaken at this early 3:57pm CST hour on a Saturday afternoon. :)

    27. Re:Question: by panserg · · Score: 1

      The reason is in stability and support.

      Mac OS X is not Mac OSv = 9.x, And Apple is just a couple of years with Mac OS X, various hardware support is just coming, be parient. Thus Apple's experience with Mac OS X is close to zero. A lot of intersting (and sad) surpises are just ahead.

      The other point is in Apple's experience of Mac OS v = 9.x, which is the worst - bad system design (can you call that as a system at all?), very unstable, weak support of their own hardware platdform (heh, was it too hard to support the only platform?). M$'s quality is much better if you keep in mind that they support much broader base of hardware devices (how many competitors on the market of x86 motherboars and PCI/ISA cards?). And Linux was grown in the same "zoo" environment. Even more - Linux supports not only x86. I belive Linux even stronger in "zoo" support than BSD, especcially of non-server, mostly desktop-orineted.hardware, like firewire or scanning.

      The reallity tells that Apple is good to bring RISC to the world of PCs - their hardware is worthy of the price. I can not tell it about their system software. Apple as a software company doesn't know how design/plan/control the quality of software. At least of system software.

      At some point Apple realized the own failure and asked for the support from BSD community. Why BSD? Why not Linux? It's simple - they afraid Linux.as a competitor. BSD never directed to the desktop. But Linux did.

      Finally, the choice between Mac OS X and Linux/PPC would driven more by the list of ported software, You need commercial packages ported for Mac OS X - boot Mac OS X. You need mostly Linux software - you welcome. However today i would not recommend to forget about stability. And with all other equal preferences today's choice choice is for Linux/PPC.

      --
      "I shall explain this by waving my hands about in an appropriate manner." -- Cambridge University Math Dept.
    28. Re:Question: by digitalcowboy · · Score: 1

      Let's ignore that not even all Macs can run OS X, here's a quote from the interview:

      "The PPC tree has it's own complexities, mostly because we have to deal with a large set of very different machines and CPUs. From the PowerMacs, PRePs & CHRP, the 4xx and 8xx based embedded platforms, and even IBM pSeries and iSeries servers."


      Just to clarify: There are indeed many Macs that can't run OS X but that quote is irrelevant to that point as he covers all Macs with the "PowerMacs" designation. All the rest are embedded platforms that have nothing at all to do with Macintosh. (Excepting, of course, a few 5+ year-old clones that might fall in the "PRePs" and "CHRP" classifications.)

    29. Re:Question: by Lars+T. · · Score: 2
      The Question was: Why LinuxPPC, when there is OS X.

      Well, apart from the new PowerPC Open Platform Motherboards - which are basically CHRP warmed over, the IBM pSeries and iSeries servers are hardly embedded platforms. So there are still real, new (as opposed to old or embedded) computers that can not run OS X.

      --

      Lars T.

      To the guy who modded me down from perfect to terrible Karma - Apple haters still suck

    30. Re:Question: by digitalcowboy · · Score: 1

      Point well taken -- LinuxPPC is still quite important in many places (and I had forgotten about the new PPC Open mobos when I posted).

      However, my specific contention was with the previous poster implying that the quote in question backed up his assertion that many Macs can't run OS X, when, in fact, only one group listed in the quote, PowerMacs, have anything to do with Macintosh.

      Cheers

    31. Re:Question: by Lars+T. · · Score: 2

      Well, I was the previous poster, and I never implied that the quote backed up that not all Macs can run OS X, instead i said to ignore OS X for a while and focus on the fact that PPC Linux also runs on non Macs (on which OS X probably never will, so it can't be better on them). Got that?

      --

      Lars T.

      To the guy who modded me down from perfect to terrible Karma - Apple haters still suck

    32. Re:Question: by Anonymous Coward · · Score: 0

      OS X is built for newbies while Linux is built partly for both advanced and newbies.

      Sorry dude, Linux was not built for newbies. How can I make this assuption? Well, I showed my dad OS X and he was intimidated with having to click on his icon to login. I could only imagine if I had to tell him about virtual terminals or window managers.

      Linux is great on Intel or PPC, but it is certainly not for newbies.

      On a seperate note, it is important to remember that not everyone wants to bother with the system utilites. (Though, as one other poster replied, /Applications or /Applications/Utilities do not seem very deeply burried.) When I go home, I just want to play a game or two. I do plenty of work while I'm at work and want to have fun at home. Tweeking the parameters on /dev/hda isn't everyone's idea of a good time. ;)

    33. Re:Question: by Johnny+Mnemonic · · Score: 1


      An apparent example of this is TiVo.

      Well, maybe not everyone already knew that TiVO uses a PPC even though you did, wise guy. But this does beg the question: if TiVO already uses PPC, why don't they just use Darwin? Wouldn't that mean that they could pick up some advantages, like Quick Time Streaming Server and robust Firewire support? (Forgive if Firewire is already robustly supported in Linux; that's not a troll, just ignorance.)

      Matter of fact, there would be some interesting possibilities in a TiVO/Apple convergence...

      --

      --
      $tar -xvf .sig.tar
  2. Re:mother fuckers by confucio-licious · · Score: 1

    sorry, that was a test post for the accnt I just created. I love apple, and am looking forward to years of fun with my new imac

    --

    "someone should make a hot air balloon that is shaped like a giant vagina". --Bill Clinton
  3. Re:mother fuckers by Anonymous Coward · · Score: 0

    How does this get a score of 1 ?

  4. Re:mother fuckers by Anonymous Coward · · Score: 0

    why the fuck do you care?

  5. Re:mother fuckers by Breakfast+Pants · · Score: 0, Offtopic

    Hey this is offtopic what point are you trying to prove? WE don't need that here please that that elsewhere.

    --

    --

    WHO ATE MY BREAKFAST PANTS?
  6. Re:mother fuckers by confucio-licious · · Score: 0, Offtopic

    how do you "that" that?

    --

    "someone should make a hot air balloon that is shaped like a giant vagina". --Bill Clinton
  7. Oh, those dual G4's look nice by UnknownSoldier · · Score: 4, Informative

    I was going to ask if anyone has Linux running on the new dual G4's, but then I found this cool link

    http://linuxppc.org/hardware/dualg4/

    Anyone have benchmarks (under Linux) for the dual G4's and corresponding PCs for:
    - compiling the kernal
    - GIMP
    - Quake1/2 benchmarks

    I'd love to get the "other endian machine" and compile some game code on it. Anyone have any recommendations? How did id do the Quake3 port to Macs ?

    "PC Expert - Mac newbie"

    1. Re:Oh, those dual G4's look nice by Anonymous Coward · · Score: 0

      They carbonized Quake 3. It has no roots in the BSD part of OSX, it's basicly just cleaned up code from classic.

    2. Re:Oh, those dual G4's look nice by Anonymous Coward · · Score: 0

      Quake 3 was build to be XP, and used lib's like OpenGL, which are on many platforms, including MacOS, Linux and Windows.

    3. Re:Oh, those dual G4's look nice by calumr · · Score: 2, Insightful
      I'd love to get the "other endian machine" and compile some game code on it. Anyone have any recommendations? How did id do the Quake3 port to Macs ?

      I ported Doom to the Mac about a year ago, and let me tell you - endianness is a bitch to debug. There is no easy way to do it other than running the game until it crashes, then stepping through the suspect functions until you find the culprit.

      It was probably a little easier for id, seeing as how they wrote Quake3 themselves with cross-platform compatibility in mind.

    4. Re:Oh, those dual G4's look nice by norwoodites · · Score: 0

      Actually it Cocoaized, not Carbonized. So it is not just cleaned up code from classic but a port done by OmniGroup.

      The port is now worked on by ID.

    5. Re:Oh, those dual G4's look nice by norwoodites · · Score: 0

      They used Cocoa on Mac OS X.

    6. Re:Oh, those dual G4's look nice by Anonymous Coward · · Score: 0

      Id developed Q3 for the mac in parallel with Q3 for x86.....

    7. Re:Oh, those dual G4's look nice by shamino0 · · Score: 3, Insightful
      I develop network protocol stack code for a living.

      Endinanness isn't entirely trial and error. The big deal is that you must explicitly convert any value that you read from an external source (a network socket or a data file that may be read by a different implementation.) Similar conversions must be done whenever you write data to such an external destination.

      The biggest problem you find when porting code that wasn't designed for portability is people who decide to read a block of bytes from a file/socket and then cast a struct pointer onto it. This is inherently evil. It only works if the endinanness matches, and the compiler pads the struct identically to the external source.

      The solution is to parse the buffer byte-by-byte, arithmetically combine the bytes into their integer values, and then assign them into a struct. For instance, if I have code that is trying to read a 2-byte integer, followed by three 3-byte integers (ignoring possible I/O errors, for simplicity), this would be a bad and non-portable implementation:

      typedef struct foo
      {
      short a;
      longb[3];
      } foo;

      foo*fooptr;
      charbuffer[14];

      read(fd, buffer, 14);
      fooptr = (foo *)buffer;
      ...

      The above code assumes that the size of long and short will be exactly 4- and 2-bytes, respectively. It assumes that the integer representation matches that of the data stream. And it assumes that the compiler not insert any padding between the structure members.

      Using the same struct, this code would be portable across all platforms (assuming that the data is big-endian format. If the data is little-endian, the solution is left as an exercise for the reader):

      foofoobuffer;
      char buffer[14];

      read(fd, buffer, 14);
      foobuffer.a = (buffer[0] << 8) | buffer[1];
      foobuffer.b[0] = (buffer[2] << 24) | (buffer[3] << 16) | (buffer[4] << 8) | buffer[5];
      foobuffer.b[1] = (buffer[6] << 24) | (buffer[7] << 16) | (buffer[8] << 8) | buffer[9];
      foobuffer.b[2] = (buffer[10] << 24) | (buffer[11] << 16) | (buffer[12] << 8) | buffer[13];
      ...

      It's a bit more tedious to write and read, but it will work on all platforms, regardless of the internal representation of integers and structs. It will even work if the internal size of short and long variables is longer than the usual 16- and 32-bits (which is legal according to ANSI-C). And the ugliness can be mostly avoided through use of macros (or inline functions, if you prefer.)

      If your data format consists entirely of big-endian integers of 16- and 32-bit sizes, you can also use the system-provided ntohs(), htons(), ntohl(), and htonl() functions. If your data is little-endian format, or some other format, then you obviously must roll your own converters.

  8. Re:mother fuckers by confucio-licious · · Score: 0

    Sorry, sir. Didn't mean to make anyone mad.

    --

    "someone should make a hot air balloon that is shaped like a giant vagina". --Bill Clinton
  9. Re:mother fuckers by Breakfast+Pants · · Score: 0, Offtopic

    sorry that that should be take that. and another thing we could use a guy like you.. ON MAC SLASH!

    --

    --

    WHO ATE MY BREAKFAST PANTS?
  10. The article by theNeophile · · Score: 2, Redundant

    Sence the site seems /.ed; Here's the article:

    An Interview with Benjamin Herrenschmidt, PPC/Kernel Hacker.
    by Michael Coyle

    In the early days of PPC/Linux, it was extremely difficult to boot into the alternative OS. It required a three-finger keyboard command to boot into Open Firmware and then typing several lines of cryptic text.

    Fortunately, thanks to work the of Benjamin Herrenschmidt and his free BootX Control panel, booting Linux in Old World Macs became much easier. It opened Linux to a large number of average Mac users. Today, several years later, BootX has been replaced by yaboot and Ben has moved on to become a major contributor to the PowerPC branch of the Linux kernel. Running Linux on a Powerbook or iBook with support for power management and accelerated graphics wouldn't be possible his efforts.

    Born in Selestat, France twenty-nine years ago, Ben had his first computer at 8 years old (a ZX81) and by the age of 13 he was enrolled in his first "Technology Class". You wouldn't call him the "Teachers Pet", more likely a "Teachers Pest" since the instructor soon asked young Benjamin run the course for him.

    His first exposure to the MacOS came when he ran a Mac emulator on Atari ST and Amiga computers. By college, Ben traded his Amiga computer for his first Mac. At that time, he had no interest in Linux, but enjoyed writing for the lower level bits and bytes. He adds,

    "Unlike many other Linux hackers, Unix is a late discovery for me. After I sold my Amiga, I had the chance to have access to a Mac and started learning MacOS programming. I started doing that professionally after spending a couple of years having fun and drinking beer at the university. I quickly became interested specifically in device drivers and other kind of low level programming, and that's probably what led me to Linux."

    Benjamin installed MkLinux on his Wallstreet PowerBook, but there was no Sleep support at that time. He contacted the maintainer of the PPC branch of the Linux kernel, Paul Mackerras, and asked permission to use his Linux/PPC PMU (Power Management) source code as the basis for an MkLinux version. Ben never finished the MkLinux version, but this introduction to Paul and PPC/Linux led to his switch from MkLinux to the PPC/Linux kernel where he rolled up his sleeves and dug in, fixing whatever low level drivers got in the way of enjoying Linux on his Powerbook. But what let to the development of BootX?

    "At one point, I got fed up of floppy booting and used a code snipped I found on usenet that showed how to switch the CPU into supervisor mode. I used that to write BootX. That's how, slowly, I started using my knowledge of Macs and my MacOS hacking skills to work on improving Linux on Macs. But I've never been a Linux _user_, I'm still learning "newbie" tricks everyday. When it comes to userland, I believe I can't even write moderately complex shell scripts."

    One advantage to being a developer on the PPC code base is how quickly your patches are accepted into the official Linux kernel. In the x86 world, there are substantially more developers trying to get their snippet of code added to the kernel, but in the PowerPC world, the pond is a lot smaller and it's easier to be a "Big Fish". While PPC is a smaller community, it's not limited solely to Apple hardware.

    "The PPC tree has it's own complexities, mostly because we have to deal with a large set of very different machines and CPUs. From the PowerMacs, PRePs & CHRP, the 4xx and 8xx based embedded platforms, and even IBM pSeries and iSeries servers."

    Because the source code is often available for Linux programs, the platform disparity that exists between MacOS and Windows is diminished. If a software developer compiles his project for the x86 architecture, the user of a PPC computer can simply compile the source on his own computer. Unfortunately, their are sometimes problems with the compilation. Are x86 developers reluctant to modify their code to accommodate PPC users, is Linux another OS where PowerPC users are given second class status?

    "Well, except for some rare cases, I've never seen maintainers reluctant to merge in things like endian fixes. It's a bit more difficult when it comes to someone saying, "Hey, add that ugly hack that makes it work for me".

    But Benjamin, do you make money writing Open Source software?

    "So far, all my Linux work has been spare-time volunteer activity. I have a job in a nice small company where I mostly do MacOS software. Our company is evolving though, and we are now working on some embedded systems using Linux/PPC on IBM 405GP CPU. I do it (Linux/PPC Development) for fun and because I learned a lot of things doing it.

    I quite like the concept of Free Software and am happy to put my work under the GPL umbrella. I believe at some point, computer science is like science in general, information and techniques have to be shared to benefit the most people and evolve.

    I also feel these technologies have too important a position in our society, too many things depend on them, to safely leave them in the hands of an opaque monopoly. Free Software (or Open Source in this case) is a kind of guarantee that the technology you rely on can be trusted."

    It seemed Apple would embrace Linux. there was even a ppclinux.apple.com website for awhile, but the site has disappeared as have most mentions of Linux from the Apple site. The boot process for MacOS X seems very similar to what happens in BootX and yaboot for Linux. Did you ever work for Apple? What is your opinion on how they view Linux?

    "I did not work for Apple, but I used to (and still) know some Apple engineers. Apple use to have a "Linux technology manager", but I'm not sure I fully figured out what his role was, but he tried hard to get us hardware specifications (and mostly failed).

    Apple's BootX and Linux BootX are two completely different things. yaboot is similar, but they were developed independently and share no code. There has been no collaboration here.

    It's difficult to decrypt the reasons Apple does things. They didn't open source driver code for some third party hardware, but that is understandable. They might simply not have had the right to do so. Regarding drivers for Apple's own hardware, they did indeed "hide" a couple of them. What comes to my mind right now are the PMU driver (Power Management Unit) and the Firewire controllers driver (OHCI and Lynx chipsets)."

    Still, by making Darwin, the core of MacOS X, more open, Apple must be helping the PPC/Linux group, even if inadvertently.

    "Darwin code has been incredibly useful for some things. There is no documentation on the various Apple chipsets, so we have to "discover" them by either looking at the OF code (Open Firmware), disassembling MacOS bits, or reading Darwin drivers.

    I have not used Darwin as a distro however. I do use MacOS X at work, and I quite like it. I have a machine running Linux 100% of the time, and one running MacOS (9 or X). In fact, I also run MacOS 9 in MacOnLinux on the Linux machine right now to write this email using CTM softwares excellent PowerMail"

    PPC/Linux on a new Ti Powerbook
    (Click for full image in a new window) It's possible Apple no longer actively supports Linux because the OS is multi-platform. In the final analysis, Apple is a hardware company. They leverage the MacOS to move CPUs. Since Linux runs on a variety of platforms, most costing less than Apple's hardware, support from Apple for Linux only increases the probability of migration to the x86 platform.

    Still, it would be a mistake to think PPC/Linux lags behind the MacOS. It has always been fully multi-threaded and preemptive, features lacking in Classic MacOS, and Linux's hardware support exceeds MacOS X is some areas, PCMCIA and printing are two that come to mind.

    Fortunately, the Mac/Linux community has volunteer coders, such as Ben Herrenschmidt, whose efforts keep an inexpensive and open source alternative to the MacOS available on PowerPC hardware.

  11. linux and mac go together by rana · · Score: 3, Interesting


    Despite the early antagonism between the league for programming freedom and Apple, Macs and Unix went together pretty well. Long before samba, 680X0 Macs were sharing files quite nicely with unix servers. In many disciplines at universities, unix was used for heavy lifting, and macs were used for light word processing and making drawings.

    Linuxppc has benefited from the generally better hardware on the PowerPC (higher quality and reliability, and less diversity). Also, for much of the '90s, the PPC chip was faster for many things than ix86. Recently, I had a 90 MHz powermac running KDE, xemacs, and Netscape without a hitch for months without any hiccups (a little slow but definitely useable). Under MacOS the thing would lock up several times a day. OS X is not an option for these older macs.
    My old Mac died but I hope to get an ibook soon and put Linux on it. By the way, I wish there was something like fips for shrinking Mac partitions for people that want to dual boot.

    1. Re:linux and mac go together by Anonymous Coward · · Score: 0

      fips for mac os 9 is called hard disk toolkit (which is around version 4 or 4.5 atm)

      look for it on www.filesearching.com (HDT 4)

      btw, u'll have to defrag the hdd before you split the partitions, i personally used plus optimiser from disk warrior 2.1

      mail me at tenshi2000 at hotmail dot com if u need any more help

      btw, there is no denying that the mac os x gui is slower than blackbox on linux on my pismo..it varies from awkward-to-use to snappy respectively..

  12. Answer: performance (among other things) by raulmazda · · Score: 5, Informative
    Aside from all of the other reasons, OS X is a dog in comparison with Linux.

    The lmbench numbers show that linux is significantly faster for certain operations. I have a copy of the results that I pointed to in an old post over here. Linux spanks OS X. It's a reason.

    Other reasons include access to all of the source of your OS and better support for certain things (pcmcia 802.11b card support? Better filesystems. More software already working).

    I personally run Debian on my laptop 99% of the time because my environment is the same everywhere, and apt-get kicks ass (fink on OS X is cool, but there isn't as much stuff available).

    1. Re:Answer: performance (among other things) by Anonymous Coward · · Score: 0

      The majority of lap tops OSX supports are airport equiped. Though I do agree it would be nice for older laptops.

    2. Re:Answer: performance (among other things) by raulmazda · · Score: 2
      Yah, mine has an airport card in it and I have no problems. Apparently some tibook owners use pcmcia cards because they get better range than with the builtin card.

      I also didn't mention that the current state of affairs is that there is a guy who wrote a driver for OS X for the pcmcia cards, but it's not supported by Apple and was alpha code last I checked it out.

    3. Re:Answer: performance (among other things) by schwatoo · · Score: 0, Troll

      If you bought a mac for performance reasons then you probably need to keep taking your lithium. BTW I love the "for certain operations" bit.

      --
      I have trouble with passwords among other things.
    4. Re:Answer: performance (among other things) by raulmazda · · Score: 1

      I said for certain operations because Linux doesn't outright spank OS X for all things, but overall it does kick Darwin's ass (read the benchmarks tough guy).

      I bought my powerbook because it's a damn sexy laptop and it runs Linux. The performance benefits of Linux over OS X are just a nice bonus.

    5. Re:Answer: performance (among other things) by bsartist · · Score: 1

      Apparently some tibook owners use pcmcia cards because they get better range than with the builtin card.

      That's just because the metal case interferes with reception when the internal antenna is used. It's got nothing to do with the OS.

      --
      Lost: Sig, white with black letters. No collar. Reward if found!
    6. Re:Answer: performance (among other things) by stripes · · Score: 2
      Other reasons include access to all of the source of your OS and better support for certain things (pcmcia 802.11b card support? Better filesystems. More software already working)

      Er, you do know you get the source code for everything that doesn't have a GUI, or isn't actually the rendering system, don't you? That includes device drivers (other then the displays). So you can put in support for better filesystems if you like (FFS+checkpoints anyone?), or PCMCIA 802.11 (I think Cisco and Oranoco are available).

      I personally run Debian on my laptop 99% of the time because my environment is the same everywhere

      That sounds like a pretty good reason to run something other then OSX...

  13. Re:WTC Attack - Absurd Liberal Myth? by Anonymous Coward · · Score: 0
    I neither agree nor disagree with this post. I am absolutely neutral wrt its content.

    Me too

  14. Comparison between x86 and PPC performance? by Jayde+Stargunner · · Score: 3, Interesting

    Of course, the long-standing debate between Mac and Windows (I use the term generally) users has been that of their respective platform's performance. Sure, Max users complain that Windows is ugly, Windows user complain that Mac OS doesn't have enough apps...BUT, the big ticket is always when they start comparing Intel (or AMD) processors to their PPC competitors.

    With Linux on both platforms, I would be interested to see some comprehensive real-world benchmarks comparing the two platforms. Really, I'm rather tired of the "Megahertz-myth" PPC touters and the "RISC sucks" x86 campions arguing which is better without any solid numbers.

    -Jayde

    --
    What's a sig?
    1. Re:Comparison between x86 and PPC performance? by hettberg · · Score: 2, Insightful

      I would be interested to see some comprehensive real-world benchmarks comparing the two platforms. Really, I'm rather tired of the "Megahertz-myth" PPC touters and the "RISC sucks" x86 campions arguing which is better without any solid numbers.

      You could have done that a long time ago with NetBSD, probably the most portable OS in the world.

      Oooooh, I forgot. IT'S NOT LINUX!

    2. Re:Comparison between x86 and PPC performance? by gmhowell · · Score: 3

      I agree, but then you still have the problem of whether GCC works better/optimizes-better-for-speed for x86 or PPC.

      --
      Jesus was all right but his disciples were thick and ordinary. -John Lennon
    3. Re:Comparison between x86 and PPC performance? by Anonymous Coward · · Score: 0

      CISC (x86) , and RISC (PPC, Sparc) processors are two totally different beasts. They are designed for different things. I would go into more detail, but I'll leave that to someone who understands it better than I.

      If you've noticed though, all RISC processors are behind CISC processors in terms of Mhz, I'm not sure exactly why, most likely pipeline issues or the like.

      Sorry i can't be of more help, but take a look here for an idea of what the future holds for the PPC. http://e-www.motorola.com/webapp/sps/site/overview .jsp?nodeId=03M943030450467M983989030230

    4. Re:Comparison between x86 and PPC performance? by Anonymous Coward · · Score: 0

      LinucPPC.org seems to be down, but here's an article comparing first generation G4's, to x86 chips of the time on Linux. http://www.linuxppc.org/news/2001/06/

    5. Re:Comparison between x86 and PPC performance? by Anonymous Coward · · Score: 0

      Here are some x86 PPC comparisons, and arcitcture comparisons.
      SIMD information: http://arstechnica.com/cpu/1q00/simd/simd-1.html

      The Pentium 4 and the G4e: an Architectural Comparison: http://arstechnica.com/cpu/01q2/p4andg4e/p4andg4e- 1.html

      Part II: The Execution Core: http://arstechnica.com/cpu/01q4/p4andg4e2/p4andg4e 2-1.html

      RISC vs. CISC: http://www.arstechnica.com/cpu/4q99/risc-cisc/rvc- 1.html

      G4 vs. k7 arcitecture: http://www.arstechnica.com/cpu/1q00/g4vsk7/g4vsk7- 1.html

    6. Re:Comparison between x86 and PPC performance? by James+Lanfear · · Score: 1
      CISC (x86) , and RISC (PPC, Sparc) processors are two totally different beasts.

      Which doesn't mean you can't compare them. The Veyron and your typical dump truck are very different, but you can still judge which is faster and which carries a heavier load. More important is the relationship between those results and your needs.

      If you've noticed though, all RISC processors are behind CISC processors in terms of Mhz, I'm not sure exactly why, most likely pipeline issues or the like.

      Or because those CISC processors are more RISCy than many people believe. Until recently the paragon of the 'more performance through clock speed' philosophy was (in my mind) the Alpha, and I've always considered it much more of a RISC philosophy. I'm more inclined to believe that Intel has a very successful RISC chip buried under a few miles mud than that they suddenly discovered that CISC could be beat RISC at it's own game. (Actually, I'm mostly inspired to say 'stop pretending "CISC" and "RISC" are really meaningful'.)

  15. Hmm... by anball · · Score: 1

    It's so hard to find a good article giving the history of an operating system and comparing it to another. Most of the time, when I find some sort of comparison article, it is either biased and lacking in information, or, comes to an indecisive conclusion.

    One thing that has always bothered me though, is, how do two CPUs work together and not fight over whatever it sent to them? The idea of having two minds is more than painful to think about, so how does a computer with two processors work? Anyone have a good article on this?

    --


    "No manual entry for woman."
    1. Re:Hmm... by Anonymous Coward · · Score: 0

      Highly trainned mice... ever wondered why your computer squeeks every now and again?

    2. Re:Hmm... by Pengo · · Score: 2

      First, I am a app programmer and not a kernel hacker.

      I am not a an expert, but this is how I understand it.

      This is not intended to be a flame, if I make a mistake.. please correct it , not flame me. Thax.

      Down to business.

      There is a scheduler that will take the instructions of a program and put it into a queue. So if you have 15 different programs all running at the same time, you will have lots of processes needing a LOT of very simple instructions, which will wait in the queue until the CPU can get to it. I believe this is called the scheduler that handles this queue of instructions to the CPU.

      Now, the scheduler is not going to feed any instruction to any cpu. It looks at the process and determines, the priority, the cpu it was at (to keep the cache hit ratio high on the cpu). At that point it starts feeding instructions through the scheduler. I believe that the starting process for a instruction stream would be the CPU that doesn't have load, or the least amount of load.. I would imagine.. but I guess that would be determined on how the schedular was written.

      Anyhow, thats how I understand it.

      Cheers

  16. No purpose by Anonymous Coward · · Score: 0

    Why bother porting Linux to the PowerPC when
    BSD already runs fine on it in the form of
    NetBSD?

    1. Re:No purpose by Zo0ok · · Score: 1

      Why bother porting Linux to the PowerPC when
      BSD already runs fine on it in the form of
      NetBSD?


      Why bother porting NetBSD to the PowerPC when Mac OS already runs fine on it?

    2. Re:No purpose by connorbd · · Score: 2

      Why bother porting TCP/IP to the Lego RCX when it's already got its own functional IR communications routine?

      Because you can.

      Fact is that there's a lot of demand out there for non-Intel hardware. I'm in the process of updating my geek code because I just got a job building PCs. I've studied Scott Mueller's book and I find it truly amazing that the PC architecture even works; Northbridge-Southbridge is easy enough to understand on the face of it, but there is an amazing amount of crap that has to be dealt with just to get to a boot prompt.

      PC hardware is nasty and skanky. Sun/Apple/anything customized usually is not. Someone may despise MacOS and yet look at the hardware and think it's pretty elegant. Some simply want the challenge of porting NetBSD or Linux to it.

      /Brian

    3. Re:No purpose by lamont116 · · Score: 1

      NetBSD on PowerPC is a relatively recent project (it well postdates Linux/PPC, which, IIRC, dates
      back to circa 1994).

  17. Apple doesn't know what it wants by Y-Crate · · Score: 2, Insightful

    On one hand, you have them using and contributing to open source. On the other, you have them sending the lawyers after people who try to create a theme engine because they believe it is theoretically possible for someone to use it to violate Apple's trademarks.

    You have them giving away developers tools a short while after they send their users firmware upgrades to prevent G3 users from upgrading (without telling the G3 users what the magical firmware upgrade did)

    You have them sending firmware upgrades to block the use of RAM that doesn't meet Apple's strict standards, without telling users ahead of time the sticks they spent hundreds on are now utterly useless.

    Apple can't decide wether it wants to be free and open, or continue to manifest its worst control-freak tendancies - ones that even rival Microsoft.

    1. Re:Apple doesn't know what it wants by Anonymous Coward · · Score: 0

      You have them sending firmware upgrades to block the use of RAM that doesn't meet Apple's strict standards, without telling users ahead of time the sticks they spent hundreds on are now utterly useless.


      The firmware scanned to see if the RAM was up to specs. If the RAM failed the test it would only be ignored, you could remove and reinsert the RAM at a later time and the system would then again recognize it and you could be on your merry way.

      Why is using decent hardware such a bad thing anyway? If the RAM was of decent quality it would pass through just fine.

    2. Re:Apple doesn't know what it wants by Anonymous Coward · · Score: 0

      Prevent G3 users from upgrading what? To what?

      I have two G3s and I'd sort of like to know what it is I'm missing. Because I sure haven't found it yet.

    3. Re:Apple doesn't know what it wants by Anonymous Coward · · Score: 0

      Apple is not a person. It is a corporation with a lot of departments: Marketing, Legal, Engineering, Support, Sales org, etc., each with their own separate interests, and you never know whose will win out, although Legal and Marketing are more likely to than the others, and Support is the least likely to ever get their way.

      So some guy in Engineering writes the firmare to be strictly JEDEC compliant, despite the fact that there is a lof ot RAM that is not. If they worked with Marketing & Support on it, and made an announcement as well as posting info in their Knowledge Base at the release of the thing, then it would be no problem. But they appear to be more fragmented than that.

      The apparent contradictions in decisions are due to the varied interests of the different parts of the company working separately. And Apple is not alone here, Intel, MS, and many other tech. firms are very similar. It is not rare for any company's left hand to not know what the right hand is doing.

  18. They don't! by Anonymous Coward · · Score: 0

    Anball, you asked a good question, which is why I have to reply to it, plus i am at work at 1:30 AM and am bored. Dual processing machines do constantly fight over resources, threads, processses and the such. Different SMP capable OS's handle the situation differently, with verying levels of success. However, no multi-processor system seamlessly handles the management of both (or even more) CPUs. That is why a dual Athlon MP whatever is not 200% faster than a single processor Athlon XP, same with PPC, SPARC, etc. This also raises interesting points in kernel design. OS's that are designed to handle all the threading disagreements between processors very well tend to be much less optimized at handling single processing machines. Take Solaris, often called "slowlaris" because of it's poor single processor performance. And take Windows 2k, which perfoms much much worse (comparative to other OSs) in mulitprocessor setups than in single processor setups. SO, to answer your question

    "How do two CPUs work together and not fight over whatever it sent to them? The idea of having two minds is more than painful to think about, so how does a computer with two processors work?"

    They don't, they are forced to get along and share, but are ultimately selfish and need to be watched at every point to make sure they are not trying to take all of the workload.

    Skipp

  19. development... and peripherals maybe? by bcrowell · · Score: 2
    There are some reasons to prefer LinuxPPC for development, or at least to have it as an alternative. For instance, Perl/Tk is broken on MacOS X, and Fox isn't available.

    It's interesting that the article claims better peripheral support in LinuxPPC. I don't know what their data are to support this, but it's certainly true that peripheral support is a huge problem for MacOS X.

    Other than that, I don't see a lot of good reasons to mess with LinuxPPC. People are posting saying MacOS X is slow, but I think it would be more accurate to say that certain parts of MacOS X are slow, e.g. Sherlock. But so what? Just use ``locate'' instead of Sherlock.

    As far as open-source application software, I find it easy enough to use X Windows when I need to run GIMP or whatever. Why bother with a dual-boot system?

  20. why Linux has a place anyway... by PythonOrRuby · · Score: 0

    While Mac OS X is very nice on recent machines(it's running quite well on my Lime 266MHz iMac with only 96MB of 66MHz RAM), it's certainly not meant for older machines. Yes, Darwin can run on even older PPCs, and some have even claimed it can outperform Linux in web and file server tasks. And it's even open source.

    However, for those who wish to dabble in the *nix world without getting in too deep, a well-designed Linux distribution is probably a better option.

  21. Re:Parent is OT, please please please mod down. by Anonymous Coward · · Score: 0

    hah
    you silly lil' trolls.

    you got modded down and the other dude didnt

    how GAY. musta been malda and neal

  22. I love you by Anonymous Coward · · Score: 0

    Is it just me, or is neal's obesity really disturbing???

    1. Re:I love you by Anonymous Coward · · Score: 0

      It's not just you. His sickening size, coupled with his really sad lack of intelligence just makes you want to drop a piano on him. Except then you'd have to clean up the oily stain left by his disgusting fat smashed against the pavement.

  23. Re:linux benefits? by Anonymous Coward · · Score: 0

    XFree86 isn't 25 years old. "Broken" is relative -- for workstations like mine, there was no issue (except for 2.4.9, which I really would call broken). You had to be running a heavy-duty server with serious I/O load to see the problems (and you *wouldn't* be running OS X for a heavy-duty server), and the Linux VM is not borrowed from BSD.

  24. Re:What I have learned by Anonymous Coward · · Score: 0

    Next time use lube dood!

  25. Not Slashdotted by Anonymous Coward · · Score: 0

    The article is not Slashdotted at all. You're a karma whore and a fucking liar.

  26. Re:*Yawn* by Anonymous Coward · · Score: 0

    fuck you!!!!

    FUCK!!

    FUCK YOU!

    you fucking FUCK!!!

    hahaha

    yes!!!

    FUCKER!!!

    YOU fucking FuCkEr!!!!!

  27. x86 is not CISC any more by Zo0ok · · Score: 4, Informative
    Pipelining as a concept was introduced with RISC. The idea of RISC is that all instructions should take exactly ONE clyck cycle to execute (otherwise that fuctionality should be achieved by a series of other instructions).

    When (and only when) each instruction takes one clock cycle to execute you can divide each instruction inte several sub-tasks, for example Fetch - Decode - Execute - Store. Now a pipeline can be introduced:

    instruction 1 F D E S
    instruction 2 . F D E S
    instruction 3 . . F D E S
    instruction 4 . . . F D E S

    In this way work is parallellised. Four instructions are executed in parallell, during 4 clock cycles each, giving a throughput of 1 instruction per second.

    CISC basically means that instructions take different number of clockcycles to execute. With such an instruction set you can not use Pipelining.

    The i386 cpus today transform the CISC instructions into RISC instructions, and apply pipelining. For the price of a translator the major drawbacks with CISC are avoided.

    It is probably true that Intel has to put more research and silicon into a CPU than Motorola to achieve the same performance. But this is not because Intel are stuck with building a CISC cpu - it is because Intel must emulate the i386 CISC instruction set on a RISC cpu core.

    1. Re:x86 is not CISC any more by steve_l · · Score: 1

      um, pipelining existed a long time before RISC; risc just makes it easier as you dont need a complex control unit taking up Si and being hard to debug.

      Intel's CPU R&D is no better than many others (certainly not as good as AMD or IBMs), but they have the advantage of cash flow which lets them invest in more, larger fabs than anyone else, so can use fab technology to overcome fundamental CPU issues. Effectively they throw die area at the performance problem, which is effective, but makes it hard to compete at the low end, which is where AMD rules the PC biz, and commodity ARM cores are king. (yes, intel do strongARM but that is a DEC design).

      And yes, intel have to put much more R&D $ into part design, but they have the volume to pay for it, which Moto doesnt. Intel have also realised that quoted MHz means more to many purchasers than absolute performance, hence the P4 product family.

  28. Re:There are some rules for us trolls by Anonymous Coward · · Score: 0

    Thanks mate... that was useful

  29. Day for PPCLinux is past but...... by marktwain · · Score: 3, Insightful

    With OS X the usefulness of Linux on the PPC platform is indeed brought into question, but article is still a good read.

    It's interesting, however, to note that Linux people still miss the whole point of finding out about Mac OS X. Don't like it? Don't use it. But if you're smart you'll develop for hit. Read the O'Reilly Network, or any any other article, for writing in cocoa for MacOS X.

    If there's anything missing in the viability of the comments about PPCLinux and its "questionable viability" you could well say the same thing about Linux in general as a desktop platform. It's going nowhere. Genome and KDE will not only never be the finished GUI that OS X is, but they also won't have the installed (and growing) desktop users that OS X has either.

    New games are shipping for OS X, not ports, but original games. The recent O'Reilly network article about writing for cocoa represents an idea which any geek interested in making a living doing something besides tweaking SQL databases may want to consider.

    Sure, the Mac OS X kernal, Darwin, itself offers much to users. But any Linux geek who likes to write code should give it even more serious consideration, its portability to other platforms, including Linux.

    If you're hung up on the idea of free software disregard this, but if you're looking for a good *nix OS check out OS X if you're smart.

  30. I just saw Ben Herrenschmidt by Anonymous Coward · · Score: 0

    As he poured a steaming bowl of hot grits down the front of his pants!

  31. less users = less help available by shiva600 · · Score: 2, Informative

    The one problem i personally can see and have experienced is that you cant find that much information concerning Linux on PPC online. Sure, there are some devoted sites line LinuxPPC.org and others, and groups.google.com is always a nice thing, but if you run into *specific* problems (like me, see further down that post) youre in for some serious pain.
    I tried several times to put a usable linux distro on my old powermac 4400 (upgraded w/ a G3 procesor card, a voodoo3 2000 and a realtek-chip-based ethernet card).
    Xfree will crash at startup, which can be only solved by going online, grabbing some drivers and compiling them into the kernel, which kind of sucks for a newbie - but thats not the point because I can't get online because the ethernet card is not recocnized even if I choose the realtek drivers.
    So I did some google research, came up with the mentioned solution for XFree, but not for the ethernet problem.
    Another point is that noone in your neighborhood can help because LinuxPPC is not as common as Linux for i386.

    I'll try darwin next, but since my machine isn`t officially supported I`m not exactly optimistic about that.

    1. Re:less users = less help available by saintlupus · · Score: 2

      The one problem i personally can see and have experienced is that you cant find that much information concerning Linux on PPC online. Sure, there are some devoted sites line LinuxPPC.org [linuxppc.org] and others, and groups.google.com [google.com] is always a nice thing, but if you run into *specific* problems (like me, see further down that post) youre in for some serious pain.


      You think that's bad, try running Linux on an m68k machine. *shiver*

      Wow, with the astonishingly closed hardware of the Old World Macs and the miniscule support base on the Internet, how could I lose!

      --saint

  32. debian-powerpc ml by raulmazda · · Score: 2, Informative

    If you're running Debian, you can post to the debian-powerpc mailing list and people will try to help you out. I don't know about the support for other distros, but I've found debian-powerpc to be more than adequate (especially considering the kernel hacker types also subscribe).

  33. Forking. by saintlupus · · Score: 2

    I always wondered why the people hacking away at Linux/PPC don't just fork the code base. Honestly, it seems like Linus has little or no interest anyway in the other architectures, and it could easily result in a much better end product.

    --saint

  34. A couple of reasons. by dmaxwell · · Score: 5, Interesting

    Linux is often faster. Just like Intel Linux, it's possible to create a custom stripped down desktop with no fat. I've become accustomed to how things work on my Intel Linux machines and like having almost the same environment on my Pismo Powerbook. I also prefer the GNU utilities over the BSD ones (flame away...it's just a preference...get over it).

    OSX is also next to useless on older hardware. We use 233Mhz Beige G3 desktop as an internal server. It's running ssh, Apache-SSL, NTP, mySQL, Apache, and Netatalk. The Apache/mySQL setup powers our troubleticket/inventory system. The Netatalk/Samba combo makes files available to both Mac and Windows clients. It does all of this with very acceptable speed and reliablity. The machine has zero need for a GUI...and doesn't have one. I suppose I could use Darwin but the machine wouldn't do it's work any better and I would have to mess with fussy ports of the daemons. It has full apt-get goodness....I forgot to mention that it is dead easy to admin.

    So yeah, there are valid reasons to use Linux on PPC hardware.

  35. Licence zealotry by dmaxwell · · Score: 2

    As a group, BSD advocates are no more immune to licence zealotry and fanboyism than Linuxers. Anybody remember the picture of the Daemon doing Tux up the butt? How about the tiff the pf author got into with Theo and let's not forget his special "no GPL" license. I've also seen lots of BSD advocates get horked off over GPL forks of BSD code yet be delighted over proprietary forks. I even sometimes wonder if the entire universe would go up in a flash of gamma rays if Brett Glass were to ever shake hands with Richard Stallman.

    If every instance of BSD and Linux were exchanged in your post it wouldn't come off any differently.

    1. Re:Licence zealotry by smagoun · · Score: 1

      oh hush. Everyone knows BSD is dying, it deosn't matter anyway.

  36. Benh is cool. by dmaxwell · · Score: 3, Informative

    I had a little trouble getting all of the modules to work with one of his 2.4.17rc kernels. I figured what the hey and emailed him. He straightened me right out. I suppose the world of PPC Linux is small enough that a leading light can have a little time for an end user like me.

  37. MacOS X vs. Linux by billvinson · · Score: 1

    I have definitely fallen into this dilema quite a bit, but have yet to feel truly satisfied. I used Macs exclusively about 7 years ago and then found my way to Linux. I loved it immediately. I still use Linux or a *BSD on all my x86 hardware, but right now my iBook runs MacOS X only. I only came back to the Mac because of MacOS X.

    I like the fact that though Apple takes a long time to release system updates, the updates work extremely well and are obviously QA tested (for the most part, ignore the iTunes fiasco ;). However, I seem to be wishing for the speed that comes from true open source development as I want to see the changes more rapidly. These changes come quicker, but it is almost always obvious that no one has done any usability or QA testing.

    Also, we come to the desktop metephor. I used to use GNOME or KDE in Linux, but these days rely only on Windowmaker or some other trimmed down GUI. This is mostly due to the fact that no matter how good either of the major DE get, they are still not able to compete with the Mac OS as far as usability or design choices. A lot of people say they are just as good, but I suggest that these people don't really know much about UI design as everything Apple does it with concern to the user. i.e. Does a click here require more or less stress to the user? (Carpal tunnel). They examine all aspects and TRULY test usability. Now, this doesn't mean OS X is right yet. It isn't, but the improvements come quickly.

    So, well anyways, I still find myself being pulled back and forth, but for right now OS X is winning...

    Bill

  38. Here is to the crazy ones by pinkpineapple · · Score: 0, Flamebait

    This is NOT a flame, I repeat, not a flame.

    It take some courage and some guts to wipe out a partition where MacOS X has been pre- installed with all the bells and whistles , all the goodies and all the simplicity in terms of usage and connectivity and then install Linux PPC instead.

    After shelving about one grant more to get a slower Apple system vs a Pentium or better AMD box , and then trying to make it look like a PC running Linux, you've got to admit that either these people are nuts or heroes.

    And all these technies know for sure that Apple's megahertz myth is pure brainwashing for selling embedding cpu at the price of desktops don't they?

    So what's left beside the look of the system when you show it to your friends? If you hide the box and let the screen show thru a hole in a cardboard, would they know that you are on a Mac? If at least Linux was easier to use on an Apple hardware than a x86 machine, I would sorta understand. But clearly we are talking about the niche of a niche market here.

    The only people I think these efforts bring joy are the hackers like ben who do it for fun. Apple gets more money out of it, they sell platforms at an outrageous price and don't have to provide support for the OS. Even Paul Mackeras, the main PPC kernel maintainer is on IBM payroll and gets big bucks from the patent company to maintain the kernel on PPC.

    PPA, the girl next door.

    --
    -- I feel better now. Thanks for asking.
    1. Re:Here is to the crazy ones by Anonymous Coward · · Score: 1, Interesting

      I gotta tell you, for many kinds of work, the G4 is a much better choice as a CPU. On the Mac, we are doing real-time transitions and effects in broadcast-quality video editing with no accelerator hardware, on NOTEBOOKS, and it is fucking great. Video effects, audio effects, encoding, and heavy graphics transformations are much faster on the Mac. If you think about it, this is no surprise ... that's who Apple's customers are, and we don't buy a new Mac because of how it looks (that's for the iMac and iBook crowd of mostly home users). When Steve Jobs does the Photoshop and Media Cleaner Pro shootouts, they're not picking one or two transforms that run better and doing them again and again, they're running scripts (Photoshop scripts and whatever automation Media Cleaner Pro has) that come from actual users and contain an entire workday or workflow, every step that the user took to create a movie poster, or convert a video clip and encode it for the Web. It's like having twin robotic users who sit down at the two systems (Mac and PC) and do the same exact thing for a whole day, only pausing to wait for the computer to catch up (as it runs filters and such). It's a very, very good real-world benchmark, and it holds true when you ask real users about their experiences. The reason Photoshop is a good choice is that you have to wait for an operation to finish before you go on to the next one (so you can see what you're doing), so you spend a lot of time looking at progress bars all day. When a machine lessens that time, it's worth real money, and that's why you see Power Macs in art departments and other creative settings. We're not setting up a 12-hour compiling operation and coming back in the morning to see it done, we're running something that we need to have NOW, ASAP. Also, in audio and video, you are often running things in real-time (audio effects like reverbs, video transitions) and the DSP power of Altivec just kicks ass on this stuff, and is well-supported by all the heavy-lifting software titles.

      Also, the low-power nature of the G4 means that my PowerBook G4 has every conceivable feature (even Gigabit Ethernet, built-in 802.11, FireWire, PC Card, 1GB RAM) and desktop power (real-time video effects and transforms again) and yet the small fan only comes on once in a while. Since I work with audio, this is a real feature for me, not just a nicety.

      Anyway, you may see the "Megahertz Myth" as Apple justifying their lower-clock-speed CPU's, but those of us who are benefiting from the G4's features see the "Megahertz Myth" as Intel justifying the marketing-inspired design decisions (20 pipelines?!!) that got them to these high clock speeds. Alphas, Sparcs, G4's, IBM's Powers, and other CPU's are all doing ~10 pipelines and ~1GHz, while Intel is doing 20 pipelines and 2GHz using the same kinds of processes and current chip technologies. It's a trick of numbers more than anything. Certainly, we Mac users are not sitting down at Windows boxes with 2GHz chips and having our hair blown back. We're underwhelmed, if anything, and it's still slow, buggy Windows, too. If everyone else was doing 2GHz and the G4 was the only one at 1GHz, then you'd have a better case, but Intel is the freak here, so I would suggest that they are the ones that merit closer inspection of what's really going on with them. The pipelines number just jumps out at anyone who has even a layman's understanding of CPU architecture.

  39. Why LinuxPPC is important IMHO by leereyno · · Score: 3, Interesting

    Lets forget about OS-X for a moment. What LinuxPPC does is fix the mac by providing a real operating system for it. There are macs where I work, and every time I'm stuck using one I start getting crazy notions in my head about taking a sledge hammer to them all, or finding some other way of destroying them. The reason has nothing to do with the hardware they are running. They're not super fast, but I'm not particularly picky in that area. What bugs me about them is the antique operating system they're running. If I wanted cooperative multi-tasking and no memory protection between apps, I'd run windows 3.1. When I sit down in front of a computer I expect the system to be responsive to me, regardless of what it is doing in the background.

    One day about a year ago I loaded up the PPC version of SuSE 7.0 onto one of the macs. Lo and behold!!! A new computer was born! Or at least it seemed that way. The computer actually seemed to run FASTER as well as being infinitely more responsive. I was also a great relief to escape from the Macs GUI, which I find cumbersome. It was like I was trying to run with a cinder block tied to my leg and someone just cut the cord. Unfortunately I eventually had to wipe Linux and reinstall MacOS-9 on it.

    Nowadays we have OS-X, which is about 6 years late, but better late than never. Its GUI isn't on par with KDE, but its far better than the previous MacOS versions. Its also responsive! Its great to actually be able to have my computer wait on me rather than the other way around. Its not terribly fast, but I'm not going to complain! Much better that it take longer to do things in the background but be more responsive in the foreground than it lock me out. Hopefully IBM/Motorola/Apple will be able to push the PPC architecture further in terms of clock rate.

    Then of course there are the standard form-factor PPC motherboards that will soon be available. Whether they will ever outperform an Athlon based system is doubtful, but the fact that they are there and available is a good thing.

    Lee

    --
    Muslim community leaders warn of backlash from tomorrow morning's terrorist attack.
    1. Re:Why LinuxPPC is important IMHO by PMan88 · · Score: 1

      KDE is nowhere near as good a GUI as OSX's. Neither is Gnome or Windows. All the non-Mac GUI's are basically the same, because we all know that KDE and Gnome are just clones of Windows. The Dock in OSX is one of the greatest GUI elements. It combines quick launch, the taskbar, open applicatrions, and open windows into one simple place. You might say that OSX is not tasked-based, but it is, and done very well. Tasks and applications are the same in OS X. If you don't want to see an app, just close the windows, but the task still runs. If you want to totally quit it, either selecty quit or right click on it's dock icon. And for applications that try to quit anyway, you can simply hide them, restoring with one click. Plus the dock gives you a quick view of all running programs and their status (like new e-mail, or im's).

  40. Re:M68K linux by davebo · · Score: 1

    Oh, come on! I had debian rocking & rolling on an old Centris with 8 MB ram.

    The only downside was the 20 MB hard disk - by the time I got everything I wanted installed, there wasn't any room left to do anything.

  41. Re:Apple Keyboards Unusable for Historic Unix User by Wesley+Felter · · Score: 2

    Obviously you want a Sun laptop instead of a Mac, so why not just buy one?

  42. Re:Apple Keyboards Unusable for Historic Unix User by wazzzup · · Score: 1

    Moron. Apple hasn't included an ADB keyboard with it's systems for almost five years now.

  43. What are people doing with their RAM? by krmt · · Score: 3, Interesting
    Don't forget to add the cost of XFree86 and Gnome/KDE to your "very little", and don't go skimping into swap-hell, since this is aimed at desktop/workstation type environments.

    Nothing against OSX, but in all honesty even a fully loaded Linux desktop will take less RAM than OSX. I'm running a fully loaded KDE right now, with Mozilla (rumor says it's bloated), StarOffice 6.0, and Kmail, and my used (not cache) memory is only at 64MB. Note that only KDE and Kmail share many libraries.

    I don't know where people get this idea that you need a ton of memory to run these programs. Granted, 128MB is little on the high side if you're talking real low end, but these are desktop workstations, as you said. OSX requires that 128 at a bare minimum, and even that maxed out when I was using 10.0 (don't know if they decreased the RAM requirements as of 10.1, but I doubt it). Linux apps just don't take as much memory as people say. KDE gets you a solid UI with a lot of bells and whistles for relatively low memory cost. Plus, the inclined desktop user could simply run fluxbox or twm, which isn't possible without Darwin, in which case you can't easily switch to Aqua. OSX is great, but Linux has its advantages too.
    --

    "I may not have morals, but I have standards."

    1. Re:What are people doing with their RAM? by Fweeky · · Score: 2

      Are you comparing Linux/PPC with OS X?

      Being RISC, the PPC tends to result in much bigger executables than x86 code, with a comparative increase in memory requirements. Factor in a bloat factor of 1.5-2, and 128MB looks rather more reasonable.

      Anyway, Memory is Cheap These Days[tm].

    2. Re:What are people doing with their RAM? by krmt · · Score: 2

      No, I am only comparing the x86 versions, but I don't really imagine that the linux apps will take up that much more room on PPC. And you're right, 128 MB is very reasonable for a system like OSX, but I just think it's strange how everyone says Linux apps are getting so bloated when I can run a very comfy desktop environment with massive apps in the same or less memory space.

      --

      "I may not have morals, but I have standards."

  44. Apple is nasty too! by Anonymous Coward · · Score: 0

    How a 1st-generation PowerMac boots:

    1. 680x0 emulator starts
    2. run MacOS in ROM (partly 680x0 code)
    3. read patch partitions to fix drivers
    4. mount root filesystem
    5. continue binary-patching the kernel

    It's still pretty bad today. The firmware
    reads HFS and HFS+ filesystems, expecting to
    find a kernel with a strange Mac filesystem
    attribute on it.

  45. Re:Encounter with the Mystery Flute Man by Anonymous Coward · · Score: 0

    Enrique S. Reymundo quiero ANAL COX.

    --
    Miguel de Icaza

  46. clean cross-arch code by jope · · Score: 1

    Strange, no mention of simply fixing the struct definition to instead use types from include/linux/asm/types.h (or equivalent) of arch-dependent "short" and "long", appropiate use of __BIG_ENDIAN et al in ordering the fields, and qualifying with __attribute((packed)).

    Also, the macros in include/linux/byteorder/*.h handle data of both endianness (and provides the more limited ntohl() quartet).

    --
    "Merging into heavy traffic at near light speed!"
    "Our inertial mass ever increasing!"
  47. Re:What does Linux do? by N+Schade · · Score: 1
    I am a kayak designer. I want to be able scan in the lines of a Inuit kayak, bring the lines into a CAD package to create a 3D surface model, calculate the hydrostatic properties. Then modify the design to suit modern paddlers. Convert the design into lines from which I can build the boat. Create drawings so I can sell the plans to others. Make renderings of the design to put in my catalog. Take pictures of the finished boat to add to the catalog. Lay out those pictures and drawings in a catalog and send the results to a printer. This is the kind of stuff real people do with computers.

    What is it about accesss to lower level operating system procedures that I should care about?

    I can see where if you are running a server that a decent GUI is pretty irrelevant, but most people don't operate servers. There seems to be a feeling in the unix user community that if you can't cluster or if the server capacity is even slightly degraded that the computer isn't worth a damn.

    If there is ever a time when there are more servers than there a people who actually access those servers for real world applications, the computer industry will die.

    The continued growth of the computer industry depends on getting computers into the hands of the mass market. As it stands now even a Mac is too complicated to use for most people. The goal of computer scientists should be to make the computer easier to use, not more powerful as a server.

    The Macintosh is designed for people who's job is something other than using a computer. They are a tool for people doing other things. A cake mixer is not a tool for furthing the manufacture of cake mixers, it is for someone who wants to make cakes and is designed accordingly. The same should apply to computers. The real use of computers, is to do non-computer related work. This is what the Mac is good at.

    Linux people seem to be in the business of designing a better milling machine just so they can make a better milling machine. They don't seem to consider what is going to be made with that machine when it is made perfect.

    Linux sounds great if you want to make a better computer for running a better version of Linux, but what exactly is Linux trying to do that matters to anyone who wants to do something else entirely?

  48. FREEDOM! by Weasel+Boy · · Score: 1

    "Are there some other advantages of Linux/PPC that I'm missing?"

    Yes. Linux is Free software. Free as in, "Give me liberty or give me death." Free as in, this is ours and nobody can ever take it away. Mac OS X is not. Darwin is not.

  49. Linux is often faster... ironic. by castlan · · Score: 1

    I remember in '96 everybody telling me how slow Linux was on the Mac. Of course, that's because MkLinux was all that we knew about.

    Native Linux is almost certainly faster than Darwin, a BSD system hosted on the Mach Subsystem. It would be interesting, and possibly valuable to see a proper and thorough attempt at comparing performance of MkLinux vs Darwin. (It seems that MkLinux is only available with Kernel 2.2, though somebody hacked a 2.4 version.)

    This might also reveal issues relating to Mach that are distinct from LinuxPPC or NetBSD, which would also make good data points. If time weren't an issue, OpenBSD, Debian and the other Linux Distros would be nice too.

    A less technical but still valid issue is that of supporting Free Software. While Darwin is Open Source, it is not "Free", so it is less than ideal for development unless you are specifically targeting Mac OS X. While Linux and the GPL mean that you are forced to support the Free Foftware community if you distribute a derived product, the APSL effectively makes you an unpaid Apple developer, supporting the Apple community, whom in most cases already bought their support from Apple Computer Corp. If you ever tried to made your derived product commercial, you would have to take great pains not to attract the Ire of the big Apple, or your license might be pulled out from under you, and they would have full rights to your product to boot.

    Don't get me wrong; I would love to run Mac OS X, but I am not yet ready for the prerequisite hardware investment, my 604 still works. Unless I am trying to hack OS 10 support for my "Mac" (clone), I would not use Darwin as a platform for development without remuneration, preferably from Apple. If I were _really_ determined and talented, I might even attempt to add Darwin interfaces to a Free Software system like NetBSD. (Not that I could... but for the sake of curiosity, does anybody know if Mac OS X makes direct use of the Mach subsystem?)

    Of course, the moral issues are more substantial than any technical reasons, right? Theoretically, all technical issues are solved over time. But at the moment, Linux is much better for interoperability, especially in the department of mounting non-native filesystems. Darwin, and AFAIK all of the Free Software BSDs have a paucity of available filesystem drivers.(FFS[nee UFS], Ext2[non-anynchrounously], cdromfs[iso9660], msdos[FAT], LFS[Log structured], and FFS+softupdates) Darwin might only support UFS(really FFS?), HFS+ and cdromfs.

    Just to play the devils advocate, Darwin isn't without merit. Debian is dead easy to admin once you know the Debian tools, but before that it might as well be Slackware. Darwin has NetInfo, which is supposed to be very easy to use for administration, and a very powerful centralized tool which may be less of a learning curve than Debian. It is supposed to respect standard /etc files as well. Also, the Fink project has ported Apt and "dpkg" to Darwin, for your apt-get goodness needs. The best reason, which admittedly invalidates my last point, is that Darwin comes pre-installed. While this may not seem like that big of an issue for many slashdotters, I find that repartitioninging a Mac is not as easy as the standard Windows based PC:
    You must be aware of the various system related partitions; pdisk is not as pleasant as cfdisk or even fdisk; there is no lossless repartitioning utility like Partition Magic or even FIPS - you must use a defragmenter to clear a contiguous area from the end of the partiton, alter the partiton table, then repair the "resized" filesystem. The best answer is usually just to buy another hard drive, or just the extant Darwin.

    Oh yeah, MOL (Mac On Linux) is worth considering if your Mac (clone) isn't up to running Mac OS X. Does anybody know what ever happened to Sheepshaver? It runs Mac OS under BeOS, and was supposedly ported to LinuxPPC.

    -castlan

  50. Mac OS 10 and other points of contention. by castlan · · Score: 1

    Just to defend against your attacks on the character of Mac OS/System x... I do not see how you can question its validity as "a system at all." The irony of your stance is especially poignant when you consider the famous debate between Linus and Tannenbaum, who similarly argued that Linux is a bad system design." The point here is that both Linux and Mac System x are Monolithic, as opposed to the Microkernels that Tannenbaum and the academic community supported.

    Bear with me on this next point for a moment, if you will. Classic Mac OS, like Linux, tend to be stable systems in general, but due to their monolithic nature, they are can only be as stable as their weakest link. Early Macintoshes were very stable, but they were closed systems. They were very good PCs for their time, but what you call bad system design might better be considered eggregious hacks to support an archaic system. In the long run they hurt the Mac OS, but the useful life of Macintoshes were far greater than Intel peers. Nevermind Windows, I know of Macs that were useful (and used) almost as long as Linux has existed.

    The problem is that being a well defined (Mac ROM) and closed system, the Macintosh couldn't really adapt when new ideas in computing were becoming the norm for general consumers. You know, newfangled things like CD-ROMS, 802.2 Ethernet and TCP/IP (for a Personal Computer? No Way!). The crude hack was "extensions", after the fact drivers that played monkey in the middle with the system folders and extended the Mac in ways that it was never designed for. Considering the constraints they placed on themselves, Apple did a fine job, and Macintoshes outlasted generations of Intel PCs, up utill about the time Windows 95 brought half decent attempts at memory protection and a WIMP GUI, finally making 68K Macs less than viable as a primary computer.

    As for Apple having almost no experience with OS X, I have to strongly disagree. Apple was founded by Steve Jobs. Steve Jobs founded NeXT, and NextStep was a stable Unix longer than Linux existed. Steve Jobs is back at Apple, and he brought his Unix with him. Just about all of Mac OS X technologies are stable and well understood systems, from the Mach Microkernel foundation, the BSD based single server and Unix Security model, the Free/NetBSD userland, the Carbon MacOS toolkit, the Mach-o binary, ObjectiveC source, up to the DisplayPDF GUI descended from the NeXT DisplayPostScript system.

    Apple hardly had "weak support of their own hardware platform". Rather, their support was so solid, that such concepts of "plug and play" weren't even an issue, that was and still is an Ideal that Microsoft aspired to reach, as all hardware supported by Apple was seamless if you could manage to keep SCSI IDs unique - can you count to 6? Unfortunately, 3rd party hardware, and lazy non-Apple software started to require Extensions to be functional, and that is the straw that broke the camel's back. This is the strongest concrete argument against binary only drivers for Linux... in a mololithic system, drivers step on each others' toes, and instability results. If all Linux drivers were only .o binaries, then Linux would be an unworkable sytem - recompilation is the only saving grace of Linux... the GPL is essential to the survival of Linux in a dynamic hardware platform.

    As for MS's quality... is it better or isn't it? If my graphics card is poorly "supported", then the fact that "they support a much broader base of hardware devices" is meaningless. Either the hardware you need is supported, or it isn't. PCI is an open standard, and not x86 specific in any way. NuBus devices tended to be more expensive than ISA, but were far better supported (i.e. What is an IRQ? Eeew, why?) The Linux "zoo" environment consisted of Linus' PC. Early users added support for their PCs. This eventually added up to a very populated zoo, but by sheer number of interested users (those frustrated by AST's lack of public leadership for a Free Minix.). This eventually built up a large base of hardware support, but not in the way that you seemed to imply with your zoo metaphor - for the longest time, weak hardware support was considered a very significant Linux flaw. Commercial companies tend not to have individual systems that they can use as a target to port to... they rather port to a class of systems, which seems to be what you refer to with your "zoo" analogy. In this aspect, BSD is much stronger in "zoo" support, as embodied by NetBSD. NetBSD is designed to be very portable, and that is maintained... once hardware is supported for any of the large stable of NetBSD platforms, is it usually supported for all NetBSD platforms. Even in desktop-oriented hardware - NetBSD was the first Free OS supporting USB for eample.

    That is not to say that Microsoft is necessarily bad with system design. Windows NT was a very good design, a MicroKernel that IIRC was written on MIPS hardware and then ported to IA-32, just to prove its portability. When NT supports hardware, I have found that the support is usually quite robust. Unfortunately, if graphics hardware support is at all flaky, then the system suffers. As NT is a thorougly graphical platform, MS chose to integrate the Graphics subsystem into the kernel level for performance reasons. This defeats most of the advantages to a microkernel based design. They have also discontinues support for non Intel platforms, which was another Win for Win NT. While these decisions don't significantly impact marketshare, they have severely hurt the integrity of the system. Similarly, Mac OS X and Darwin are based on the Mach MicroKernel, but only implemented as a single server, which is effectively just a monolithic kernel with message passing overhead. And while Mac OS X is limited to PPC hardware, there is at least the potential for Darwin to run on other Mach supported Platforms, especially IA-32.

    As for Apple and RISC... the PPC is arguably the weaskest implementation of RISC. More significantly, the point is moot - The RISC/CISC argument is archaic in the face of superscalar architectures. Curent Intel processors don't use the X86 instructions internally, they run microcode similar to RISC style instructions. And the G4 with Altivec is very un-RISC-like. Apple has positioned itself as a hardware company, but their software was always what made their systems valuable. Just because the Mac OS was designed as a single-threaded single-user OS doesn't mean it was a poorly designed system. Remember that it was a full windowing system when Bill Gates was advocating the 640KiB ceiling. Unix running X11 was not feasible without a massive cash investment, and if you had massive cash, you could have bought an Apple Lisa. The Apple Lisa was designed as a multitasking OS from the start, but it was too pricy to have any commercial succes, so Apple pared back the design to create the original Macintosh. In the 80's the limit was not software design but production costs.

    Wow, it really looks like I an against every single paragraph you wrote, but at this point I might as well go for broke! Apple realised that their hack upon hack of cutting edge early 80's PC design was unmaintainable, so they tried to maintain backwards compatibility while integrating technology that had become more readily available. You say that they were afraid of Linux as a competetor, but it sems that you are forgetting about their previous Unix on Mach, MkLinux. They didn't fear Linux as a competetor, they actually allocated significant resources into Linux on Mac development for a few years, before BSD was even considered. The issue had nothing to do with any of your imagined "desktop dominance" by Linux, but with the GNU GPL. BSD wasn't chosen so much as NeXTStep. BSD happened to be a foundation for that platform, but more importantly, NeXT BSD was hosted on Mach, so that the MkLinux development effort wasn't a complete loss, they recovered much of the Mach related work. After purchasing NeXT wholesale, they leveraged the Linux inspired hype of "Open Source" without the cost of truly embracing Free Software with their APSL. Marketing Genious building upon many years of Next's technical wizardry.

    Your last paragraph missed the point of Linux. It is just an implementaion of POSIX standards. Especially with Open Source and Free Software, anything that runs on Linux runs on Mac OS X by virtue of the POSIX compliance in BSD as well. The only exception is the few binary-only applications which run on Linux while running against the Free Software spirit of Linux. In contrast, in addition to Free GNU software, Mac OS X draws on the large base of existing NeXTStep/OpenStep software and Mac OS software. If Darwin runs on your Mac, then RAM seems to be the only limit or OS X running on your Mac as well. If Mac OS X won't run on your Mac, then LinuxPPC or MkLinux are fine choices. But despite my preference for Free Software, I have to admit that if you can run Mac OS X, then it currently beats Linux hands-down.