Slashdot Mirror


An Answer To "What is Mac OS X?"

XCube writes: "'What is Mac OS X?' is a fascinating article over at KernelThread.com. According to Amit Singh it's a hacker-over-friendly answer to that question and a low-level taste of Apple's OS. The extensive article covers many details on Mac OS X: history, Mac firmware & boot loader, system architecture, kernel, startup, file systems, app environments, programming facilities, available software, and more. A great read if you are interested in Mac OS X, though some stuff is too technical methinks. On second thought, this may be a better read if you're *not* interested in Mac OS X! The author says he wrote it to introduce Mac OS X to the Linux User's Group at his work."

43 of 664 comments (clear)

  1. The core is already... by SuperKendall · · Score: 2, Informative

    Darwin has been released under the GPL. It's only the higher layers (like Aqua) that are closed.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:The core is already... by scrod · · Score: 4, Informative

      Really? The GPL you say? Sorry, but no. Parts of Darwin are GPL'd, but Apple's own code is released under the Apple Public Source License.

  2. interesting article... by Anonymous Coward · · Score: 5, Informative

    It's good to explain more of the underpinnings OS X. You see, NeXTSTEP was almost the perfect operating system and development environment.

    The NS environment (living on in Aqua today) is just so cool. Well-designed interfaces abound. Design patterns everywhere, created when the term "Design Pattern" had barely been explored in the computer world. For instance: most objects use delegation to extend their behavior. Not subclassing! Just compare building a GUI in Swing to Cocoa, it's like salt and sugar.

    Objective-C is a wonderful semi-dynamic language, much nicer than C++.

    Programming the mac is a true joy, even if all this dynamic dispatch is a little slow and hardly anybody uses macs. :-)

    1. Re:interesting article... by cosmo7 · · Score: 3, Informative

      I've worked for Apple and I can tell you just about all the new core stuff is being done or being converted to C or C++.

      If you've worked for Apple you'd know that all the CoreFoundation classes have always been written in C/C++ and are (mostly) "toll-bridged" with their corresponding Objective-C Foundation classes.

      If you are writing in Objective-C and discover a performance hit from the dynamic binding there is nothing to prevent you from using the CF classes (other than having to write C/C++) and including it in your Objective-C code.

  3. GIMP by Saeed+al-Sahaf · · Score: 3, Informative
    These features Photoshop has that Gimp does not have just hasn't given anyone a sufficient itch yet.

    Oh?

    From the developer of FilGimp: "Film GIMP developer Caroline Dahllof, a programmer at Rhythm & Hues, "Photoshop handles more layers with big images better". Matte painting artists at Rhythm & Hues create large backgrounds with perhaps forty layers and use a lot of specialized plugins. Working on single large images is quite different from the typical Film GIMP tasks of retouching film frames to remove dust or wire rigs. To get rid of Photoshop completely would require investing a lot of developer resources."

    --
    "Who are in control, they are not in control of anything - they don't even control themselves!" - Glen Beck
  4. Re:OS X on x86, I wish by skinfitz · · Score: 2, Informative

    Maybe if they offered some sort of lite x86 version

    You can get Darwin (the OS X kernel) for x86 at http://developer.apple.com/darwin/

    This is a single Installer CD that will boot and install Darwin on Macintosh computers supported by Mac OS X 10.3, as well as certain x86-based personal computers. The version of Darwin installed by this CD corresponds to the open source core of Mac OS X 10.3 and is available at the following URLs:

    http://www.opensource.apple.com/darwinsource/image s/darwin-701.iso.gz
    http://www.opendarwin.org/downloads/7.0.1/darwin-7 01.iso.gz
    MD5 (darwin-701.iso.gz) = 57e9cb37e9595436596b2fa5975d5569

  5. Excellent read! by Tor · · Score: 3, Informative

    This is one of the very best "OS Review" articles I've ever come across - especially the way that it brings in all aspects of history, influences, etc to address ignorance & common misconceptions.

    Good Job!
    -tor

  6. Re:OS X 10? by DreamerFi · · Score: 3, Informative

    And if you think it's just the UI that makes GIMP less powerful, you've clearly never seen a pro work on PhotoShop.

  7. That's funny by subtillus · · Score: 3, Informative

    Because I was just at the website and the store says 799$ for the emac right now. Shipping included.

    Airport may be expensive, but you don't have to get it. In my laptop it was cheaper than the PC equivalent.

    The initial cost of 800 does cost more than a PC, but they also don't become obsolete AS quickly so it's a neat trade off.

  8. Re:Carbon's roots are older by frankie · · Score: 5, Informative
    The article is conflating two different things - either an accidental mis-edit or an intentional oversimplification.

    Carbon is based on the classic Mac APIs which go way back to 1984, while the Carbon API actually exists (and is available for calls) in MacOS 8.1 and higher via the CarbonLib classic extension.

  9. Minor things to update (Nits) by WillAdams · · Score: 4, Informative

    Misses the ``sturm und drang'' over Adobe's promising a free, then low-cost, then no-way-what's-your-market-cap license for Display PostScript (originally co-developed by NeXT and Apple), as well as the free ``Yellow Box'' run-time which went away at that time, as well as the moving target of the up-dated APIs when Apple ceased to think of Mac OS X as an OpenStep implementation.

    Apple's support for PDF/X gainsays the claim the pdf support isn't a replacement for Adobe Acrobat to a certain extant. By tweaking a few settings one can get a press-ready .pdf out of pretty much any app. If one needs access to other features, well, there's always pdfTeX....(which provides access to things which the Adobe Acrobat GUI _doesn't_)

    And the author misses Gerben Wierda's spiffy iInstaller.app which is a neat way to install iInstaller packages (which includes TeX, xfig, imagemagick, Ghostscript &c.). This was developed to work around (then limitations) of Apple's Installer.app and to make updating packages more efficient---way cool stuff.

    osx.hyperjeff.net is a way-cool app tracker....

    Also misses Macromedia FreeHand MX and the irony of NeXTstep's premier drawing / page-layout application having come to Mac OS X as a Carbon app :(

    But a nice, informative article naetheless.

    William

    --
    Sphinx of black quartz, judge my vow.
  10. On the Subject of Games by Spencerian · · Score: 4, Informative

    The largest flaw of the article involves the availability of games for Mac OS X. The writer admittedly didn't know of many, so I'll list a few, past, present, and near future. Games that cannot play with their PC or Linux counterparts in a multiplayer mode will be marked with the number sign (#)

    -Return to Castle Wolfenstein (original; the Enemy Territory MP expansion is not yet available) (Multiplayer DOTH ROCK.)
    - Diablo 2 (including all expansions)
    - WarCraft 3 (including all expansions)
    - Neverwinter Nights (original; expansions not yet available, but can be hacked to work)
    - Baldurs Gate II
    - Icewind Dale
    - Star Wars: Jedi Knight II
    - Star Wars: Jedi Academy
    - Lara Croft: Angel of Darkness
    - No One Lives Forever 1 and 2
    - Halo
    - Soldier of Fortune 2
    - Dungeon Siege (#) (Legends of Arranna expansion not yet available. This game is made in part by Microsoft and uses proprietary software to make MP work for PCs)
    - SimCity 4
    - The Sims (including all expansions, excluding Online)
    - Splinter Cell (coming soon)
    - Command & Conquer: Generals
    - Star Wars: Battlegrounds
    - Call of Duty (coming soon)
    - Medal of Honor: Allied Assault and Spearhead expansion (new editions not yet available)
    - Unreal
    - Unreal Tournament 2003 and 2004
    - Quake 3 (duh--its the engine for most of the games listed)

    About the only big game that never hit the Macintosh in recent years was Half-Life. I built a PC just to try that baby out, and I wasn't disappointed.

    Usually, you have to wait 2-6 months for a successful PC game to be ported by companies such as Aspyr, but the wait is usually worth it because the game has been patched and runs much smoother than when it was first introduced on the PC.

    I jokingly consider PC players as my beta testers, since a PC game that sucks ("Bloodrayne" notwithstanding--that turd got through the quality control somehow) is never ported to Mac OS X.

    So, if you gotta play everything, the Mac isn't for you. If you want to enjoy the best of the games in a year, it's a sure bet it'll be ported soon.

    Some companies, like Blizzard, ship boxes that contain both the Mac and PC versions of the game, such as WarCraft 3.

    --
    Vos teneo officium eram periculosus ut vos recipero is.
  11. Dirty post-stealing whore! by teamhasnoi · · Score: 4, Informative
    I posted that! Get your own sense of humor, you dirty, dirty whore!

    You might also want to steal comments from someone who doesn't have 1765 comments, and does have a life...

  12. Mod parent down by Wesley+Willis,+RIP · · Score: 2, Informative

    How the hell is this "insightful??" Macs can use any LCD or CRT monitor and standard 802.11b/g equipment.

  13. Re:It isn't MacOS X that turns people off of Macs. by Anonymous Coward · · Score: 1, Informative

    Actually you can use any 802.11b or g wireless router with a Mac (so it's not just available for PCs as you probably already know). The Airport base station has a slightly different set of features that I don't need so I just use a cheap-o wireless router. However, to be fair, there are probably some users who can make use of the Airport features. You're not just buying a more expensive version of the exact same thing when you buy an Airport base station.

  14. Re:Carbon's roots are older by gwernol · · Score: 5, Informative

    Carbon is based on the classic Mac APIs which go way back to 1984, while the Carbon API actually exists (and is available for calls) in MacOS 8.1 and higher via the CarbonLib classic extension.

    Actually (if you care about all the historical details of Mac OS X's evolution) Carbon was originally based on the QuickTime library, which in turn was based on the classic Mac APIs. I was an engineer on the QuickTime team during the early Rhapsody days up through Mac OS X beta.

    When Rhapsody (basically the NextStep OS) was being developed it quickly became obvious we needed to support classic Macintosh applications. QuickTime had already been ported to an early Rhapsody version, and it just so happened QuickTime already carried around an API that contained about 70% of the Mac OS functionality. This is how QuickTime runs on Windows and why porting Carbon/classic Mac apps to Windows is (relatively) painless if you know to call the QTW libraries. So Apple effectively had the start of Carbon on NextStep as a result of the QuickTime port. Rhapsody became Mac OS X, the QuickTime library support was spun out to its own team and became Carbon.

    None of which really disagrees with your post, just a little more detail on the exact process.

    --
    Sailing over the event horizon
  15. Re:OS X 10? by NanoGator · · Score: 4, Informative

    "only a dipshit thinks that photoshop is better than gimp. "

    Either a dipshit or somebody who sits down, uses Gimp, and finds out it's missing a LOT of what Photoshop has.

    There are a few things that Gimp does just fine. However, those of us that make a living by knowing every nook and cranny of Photoshop find Gimp to be virtually unusuable in many areas of image creation and adjustment. There's a reason why Photoshop is the de-facto leader in that market, think about it.

    --
    "Derp de derp."
  16. Re:Potential Linux Switchers: Read Up by gamgee5273 · · Score: 3, Informative

    I started using OS X with the Public Beta - in September 1999. And, yes, it was on my production machine. Thus, OS X has been with us for 4 years and 4 months, not 3 years.

  17. Just to address one of those... by Millennium · · Score: 2, Informative

    If Quartz was so "good", why would Apple need to make it's own (non-free for that matter) version of X11 available as well?
    Because people wanted to run the GIMP and X-Chat.

    Seriously; that's just about it.

  18. try OS X on a cheap iBook by SideshowBob · · Score: 4, Informative

    If you're interested in trying OS X, Apple's online store has new iBook G3s for $799 (look in the Special Deals section). I bought one for my wife and 'borrow' it liberally ;-) OK so it isn't a PowerBook G4 but it has to be one of the best values in laptops. Its fast enough to do reasonably sized software development, and its more than enough for couch-born web surfing and email. Unix + great GUI + lightweight portable = bliss.

    Not trying to sound like an advertisement, just giving a heads up to people that want the cheapest way possible to run OS X. (well, on new gear, on the same page you can get factory refurbs for even cheaper)

    1. Re:try OS X on a cheap iBook by kitzilla · · Score: 2, Informative
      Yeah, I abandoned OS X on my older (first generation) iBook -- it was just too slow. Then I tried Panther. It's a much snappier user experience, even on old Mac hardware.

      I liked Yellow Dog Linux on my laptop, but the new version of OS X runs so nicely I'll probably leave it. Still happily running SUSE on my x86 desktop, but I think a dual-boot Powermac is somewhere in the near future.

      A very reasonable article.

      --
      This is my post. There are many others like it. If you don't like what you read here, go try one of the others.
  19. Re:It isn't MacOS X that turns people off of Macs. by gobbo · · Score: 2, Informative
    it is NOT the software that turns people away from buying Macs

    No, it's compatibility FUD (I actually had an online banking support rep say to me "remember Betamax?") and a complete lack of understanding of ROI and the lifecycle of hardware. Not to mention lemming behaviour...

    And I've heard more people than I can stomach who just need to use the internet and type some letters say that there isn't any software for the Mac, a salesperson told them so. (10K native apps plus VirtualPC and all those OS 9 apps, and counting.)

    $1299 for just a box (WTF? which one? izzat $CDN?) that you'll use for 4 years as-is (after a third-party RAM upgrade) and can run semi-pro creative applications without geekery, viruses, or downtime--not bad at all, especially if you use it to make money.

  20. I'm so sick of this: Cocoa IS PORTABLE! by Art+Tatum · · Score: 4, Informative
    It's called GNUstep. And yes, there are applications that build cleanly on both platforms. GNUMail.app, for example. There's also a project called Renaissance that allows you to craft your interface with XML, avoiding even issues with Apple's proprietary .NIB files.

    There are also clones of NeXT/Apple's InterfaceBuilder and ProjectBuilder and a host of end user applications. GNUstep builds on Linux and other UNIX systems. The Foundation classes work fine on Windows and there's serious work to perfect the GUI classes on Windows as well.

    1. Re:I'm so sick of this: Cocoa IS PORTABLE! by CottonEyedJoe · · Score: 2, Informative

      No, that wasnt what he was saying, or if it was, he was wrong. Cocoa apps would ideally need only to be recompiled for GnuStep/Linux to work on your linux box, practically, GnuStep isnt 100% compatible and significant changes would likely need to be made in order to get it to compile. You could certainly write an app to be cross compatible easily from the ground up. One of the linux mags had an article on this last year including a simple example project.

    2. Re:I'm so sick of this: Cocoa IS PORTABLE! by Art+Tatum · · Score: 2, Informative

      No, it's source code compatible. Cocoa is kind of like the standard C library, except it's for Objective-C and it's object oriented. GNUstep is an LGPL'd implementation of that API. It was originally created because people didn't want to lose the excellent Objective-C language and API that NeXT created. Once Apple bought NeXT, the maintainers started tracking the changes that Apple made. Cross platform development (including, hopefully, the ability to deploy on Windows) is a goal.

    3. Re:I'm so sick of this: Cocoa IS PORTABLE! by Art+Tatum · · Score: 3, Informative
      A couple times per year I check in on the GNUstep stuff. I'm always suprised to see there are still people working on it... doing stuff... but I can never figure out what the purpose of it all is.

      Well, there are several purposes it seems (everybody has different goals and desires). Many are old NeXT programmers who didn't want to lose the beauty of the Objective-C language and API. Others are OS X programmers who also like Linux or other UNIX systems and like to have the same tools, API, and language to work with. Still others are completely new to the paradigm and just think it's nice technology. There are also quite a few people who are professional software developers and want to release their software or libraries on more than just OS X. (One guy ported his special software to OS X and is also going to release it on Linux and Windows XP).

      I mean, you never hear anything about GNUstep. There are no distros that I know of that use it on the desktop.

      Yes, there are several reasons for that. One of them is that distro integrators have never heard of it or don't think it's really being maintained. The other is that the number of end-user applications has only recently started to grow. But there are some Gentoo ebuilds, I understand. Might be some packages for other distros as well. I don't really know much about that since I always build from CVS, since there are so many changes and commits. :-)

      Hell, to this day I'm not 100% sure what exactly GNUstep is or what it does. I mean, is it a X11 replacement? Something like KDE/GNOME? Some widgets? Just some API's?

      The GNUstep core is just a set of object oriented APIs. It's an implementation of Cocoa. But there are also other packages, like dev-apps, that includes clones of the Apple/NeXT development tools, as well as some other frameworks for development. There are lots of 3rd party frameworks and applications too, like the MusicKit.

      I mean, what the hell is it for? Are there any applications that let me "do stuff" which make me more productive?

      There are some. At this point, it's mostly just your typical desktop stuff (a media player, a mail client, dev tools, a GPS app, a few games, some other stuff). Somebody is doing a port of Apple's WebKit and working on an HTML view class that will make it pretty easy to write a web browser.

      They really need to do some marketing legwork here because right now the whole project is off in some dark corner (as it has been for many years). Maybe collaborate with some other well-known projects or something.

      Yeah, that's a problem. I'm trying to do some of that myself by posting here. The GNOME and KDE projects have such prominence that it's difficult to get the general population interested. Personally, I think the attempts to create an integrated desktop system could be superior to what GNOME and KDE are doing. Both of those projects tend to be over complicated. It seems like they just want to throw in everything including the kitchen sink. It ends up just being a big mess.

  21. Re:OS X on x86, I wish by faust2097 · · Score: 2, Informative

    I'd consider the "Digital Audio" G4s to be the best price/performance place for people looking for a cheap way to play around with OS X. Most of them came with Quickdraw Extreme-capable video cards and they all have at least a CD burner.

    Just make sure you stock up on RAM [at least 512 IMO] and you'll have a smooth while not exactly rocket-powered OS X experience. The 466s seem to run around $500 on eBay.

  22. Re:OS X 10? by 0x0d0a · · Score: 4, Informative

    The major things I've seen that Photoshop has that GIMP doesn't are:

    * No neat duotone tool. I like duotones.

    * No non indexed/RGB color model support. Very, very bad if you're doing output for professional printing.

    * Not sure, but I suspect Photoshop has better color matching support.

    * Photoshop has a nicer warping interface.

    * There are more plugins available for Photoshop. They're often quite pricy, but if you're a professional designer (the sort of person that would care about four color work and hence want to use Photoshop instead of GIMP), you're probably going to make back the cost pretty quickly.

    There are only a few things that I know of that GIMP can do that Photoshop can't. Among these are:

    * Better support for many languages to write plugins in.

    * Some researchy plugins that go well beyond what Photoshop can do; Resynthesizer is one.

  23. Re:Dunno about that... by PygmySurfer · · Score: 2, Informative

    Instead of buying a Cube (Cubes are notoriously over-priced still, even though they were discontinued years ago) you should've picked up a G4 tower. Or, since you were going the upgrade route anyway, you could've picked up a Blue & White G3 tower, and upgraded it, though I don't think the G3s had AGP support.

    Regardless, a 500MHz G4 tower would've cost you ~$400-500 on eBay, instead of $800. And, you'd have a machine infinitely more expandable than the Cube. Hell, for the $1300 you spent, you probably could've picked up a 867 MHz G4 (With a Superdrive).

    A little more research would've gone a long way...

  24. Re:Put away the crackpipe. by WillAdams · · Score: 2, Informative

    Actually, Display PostSript wasn't that much of a chokepoint on NeXTstep---it _is_ a multi-threaded system after all (the problem was DPS granularity was 1 PostScript operator and sometimes 1 OS op. is ``Display this multi-megabyte bitmap graphic''. The NeXTDimension board off-loaded this from the main CPU though, greatly assisting performance.

    Turbo NeXTs were 68040 at 33MHz (the standard was an '040 at 25MHz and the original Cube was an '030 at 25MHz). There were a few pre-production ``Nitro'' accelerator cards (estimates range from 6 to a couple of dozen) which ran at 40MHz in Turbo hardware, and there was a ``Pyro'' CPU upgrade which allowed one to run a clock-doubled 50MHz CPU in _non_ Turbo hardware.

    Agree, having X11.app is nice 'cause one doesn't have to wait for things to be ported (just recompile), though QT support for things like LyX for Aqua is _way_ cool.

    William

    --
    Sphinx of black quartz, judge my vow.
  25. OS X has improved its font rendering by waaka! · · Score: 2, Informative

    I agree that hinting too little has been a problem with past versions of OS X, but whatever they added between Jaguar and Panther (I guess Apple prefers to call it "micro-pixel positioning") has done a lot to clean up the color problems that existed before. I noticed the difference the first time Panther booted, and the appearance of small fonts in particular is much more readable now.

  26. Re:OS X is ... by taweili · · Score: 2, Informative

    Well. I am a Mac user. Actually, I am a NeXTSTEP user but it beomes Mac OS X after NeXT acquired Apple. So, for me, Mac OS X GUI is the UI my Unix box always has! ;)

    Unix never really accept CDE or Motif. They were just, well, there. Three big Unix vendors: IBM, Sun and HP have all in one time or another trying to adapt NeXTSTEP/OPENSTEP on their machines but as fragemented as the Unix was during the early 90s', the adaption never went anywhere.

    If you are on Linux, you want to take a look at GnuSTEP which is an open source implementation of OPENSTEP which is the fundation of Mac OS X.

  27. Re:Unless you want a laptop by Anonymous Coward · · Score: 1, Informative

    There is this very useful feature in every mac since system 7 called "control clicking." You might want to try it some time. As long as you have your hand on the computer to use the trackpad, you can hit the control key quite easily. Maybe your to lazy. Unfortunatly their isnt a key to fix that.

    Its kind of like that emulate 3 button mouse thing in linux.

  28. Re:though i love linux by subtillus · · Score: 2, Informative
    Don't get me wrong. $800 is still real money, and is still more expensive than a Dell box.

    This is suprisingly not TOTALLY true. My last box was a dell, they also charge about 160CDN for shipping on their lower ended models. Apple didn't charge me at all for shipping.

    So, The price difference is only about 100-200. I found it to be seriously worth it to go from a P4, 2.8 desktop to the new G4 ibook.

  29. Re:NTFS Read support(!!) by aristotle-dude · · Score: 3, Informative

    NTFS read support has been in there since Jaguar. IIRC. Jaguar and onward also has read/write support for FAT32.

    --
    Jesus was a compassionate social conservative who called individuals to sin no more.
  30. Re:Carbon's roots are older by gwernol · · Score: 4, Informative

    So if most of the Classic Mac's functionality is based on Carbon, which is based on QuickTime, and QuickTime has been ported to Windows...

    aaaannnd, most of the NextStep functionality was available to x86 early on, with the YellowBox environment as well as seen in Rhapsody and WebObjects...

    aaaaannnd Darwin, the OSX xnu kernel and personalities on Mach run on x86...

    We have pretty complete coverage of the state of the Mac on x86. Interesting. I suspect with QuickTime installed, the hardest thing about iTunes on Windows was getting the GUI right. Which really is hard.


    Yes, this is indeed the case. However...

    First you're missing some important components, for example the Quartz rendering layer and the Aqua UI components. Neither of these are at all trivial.

    Second, even ignorning Quartz and Aqua, you now have a set of about 70% of the components you need to build a Mac OS X-like operating system on Intel. As they say, the first 70% of the work takes 90% of the time, the other 30% of the work takes the other 90% of the time. It gives you a head-start, sure but you still have an immense effort ahead of you.

    Apple spent (very, very approximately) a team of 1,000 engineers for 3 years to get to Mac OS X 10.0, from about the starting point you describe. That's 3,000 engineer-years of effort to find. Panther is another 3,000 engineer-years beyond that. It could be done, but its not trivial.

    That said, when I was at Apple we did builds of Mac OS X (the entire stack) for PowerPC and Intel. From colleagues still at Infinite Loop I understand they still do every build for both platforms. I don't believe that it is technical barriers that are stopping Mac OS X for Intel...

    --
    Sailing over the event horizon
  31. Re:It isn't MacOS X that turns people off of Macs. by phillymjs · · Score: 3, Informative

    It's the fact that apple only sells LCD monitors, starting at $699.

    Yes, and nobody else makes displays that work on the Mac. I'm just imagining the two ViewSonic LCDs that are connected to my G4 right now.

    It's the fact that airport (which is a fancy name for 802.11b/g) is much more expensive than what is available for PCs.

    Yeah, and no other wireless hardware works with the Mac. Those pesky hallucinogens pumped through the air ducts at my office only make me THINK my iBook is connecting via the company's Compaq wireless access point.

    It's also the fact that systems have high initial costs ($1299 for JUST A BOX!).

    Well, it's not Apple's fault that people are cheap, short-sighted idiots. I've gotten significantly longer usage out of the Macs I've owned than the x86 hardware I've owned. I got six years out of the last Power Mac I bought new, but I've rebuilt my x86 box with newer hardware three times in that same time period. You might be able to get a PC for 1/3 the cost of a Mac, but chances are you'll have purchased two more before I'm ready to replace my Mac.

    ~Philly

  32. Re:Potential Linux Switchers: Read Up by calyphus · · Score: 3, Informative

    Actually, the author didn't get OS X until April 2003. So, more like 9 Months.

    --


    The potato it is uninformed.
  33. Re:Potential Linux Switchers: Read Up by Paradox · · Score: 2, Informative
    Last time I used OS X (10.2.8, haven't used Panther yet) it had nothing comparable to the auto-completion capabilities of KDE's text widgets. Its probably possible for the application to do this stuff, but KDE apps get this function automaically.
    Well, the auto-completion stuff is new to panther, but the configuration has always been there. It's not UI'd up, so KDE has a one-up there. However, this is part of the disjunt ideology problem. There is a great deal of comfort in knowing that any mac you come up to is going to behave in mostly the same way as every other mac.
    Have you used KDE 3.2's IntelliJ-inspired IDEAL MDI mode? I didn't like MDI at all (my primary OS for a long time was BeOS, which was agressively SDI). But IDEAL mode kicks ass.
    Still sucks. Until you've used Expose in SDI, you really don't know what you're missing. It's trivial to have 30+ windows open and not feel cluttered at all. Especially if you bind expose to spare mouse keys.

    MDI is kinda obnoxious, save in very controlled scenarios. Generalizing it outside of these scenarios is a recipe for disaster.

    I'm not familiar with [Cocoa], what's in it?
    Its a whole Objective-C development environment, complete with FoundationKit, which is a bunch of stuff for core data structures, system interfaces, and whatnot. Basic stuff. Then there is the AppKit, which builds off the FoundationKit to give you one of the coolest application development suites around.

    It's possible to write a full-featured text editor with about 10 lines of code. 10 readable lines of code, I might add.

    So why not use the Java, Python, or Javascript bindings? C++ is a fine language for implementing the framework, especially because Qt and KDE are examples of properly-done C++ code. However, there is no reason you have to use them for your apps.
    I try not to write GUIs at all. I try to use visual feedback tools to develop them, then let the tool generate an intermediate form I can use. I grew fond of this approach using Apple's dev stuff.

    It's kind of a pain to use KDE's tools for this. They aren't very good, it doesn't tie together very well. All in all, it feels like a very slipshod affair. Ultimately, the framework is a C++ system, and shows the rigidity and lack of cool dynamic features that make developer's life easier in other frameworks.

    KDE is a fine piece of work, and it's competitive. I just don't think it's an incredibly hot piece of software. I use it in preference to GNOME, when I use Linux environments (and I do frequently), but I haven't found all this "power" particularly compelling.

    I try not to fall into the trap mentioned in the article above. Endless cycles of tweaks, configurations, and generally boring drugework to get my windowing environment "just so" when it was 90% of what I wanted to begin with. I'd rather have good development tools and a nice base language. That's my standpoint as a developer.

    As an average user, KDE's options are hidden, bewildering, and seldom used. This is Microsoft all over again. Windows can do a ton of things, but it's all buried in cluttered UI, unknown and arcane dialog boxes, and odd control panel property lists.

    For people who want to futz, tweak, and generally waste time... well that's great. More power to ya. If you think spending 2 days tweaking your window manager instead of just adapting to it is really that beneficial, that's cool. I've kept mostly with the stock KDE, and I haven't been wont for anything really.

    I just get a lot more bang for my buck with the stock OS X config. Expose, especially, really breaks the bank. :)

    --
    Slashdot. It's Not For Common Sense
  34. Re:Why Mach? by rmlane · · Score: 3, Informative
    Why combine the loss of performance and added complexity of Mach with the lack of flexibility of a single (BSD) server?
    Your premise is incorrect. I worked at Apple as an Enterprise SE, and asked the same question of the kernel engineers which they answered as follows: (errors all mine, accurate info all theirs)

    The Mach microkernel and the BSD kernel stuff actually live inside the same memory / process space. There is no task switching performance penalty (the performance issue from "standard" Mach implementations), as you don't task switch to get from the Unix kernel to the Mach microkernel.

    What you do get from having Mach is a well debugged, small set of OS primitives that the rest of the kernel can call with the performance penalty of a function call rather than a task switch.

    Effectively, XNU uses the "single server" model from a performance perspective, and the BSD on Mach model when you're talking about stability, extensibility and debuggability. In addition the Mach primitives are available when you don't want to use the *NIX ones.

    So you DO get the best of both worlds.

  35. Re:OS X is ... by taweili · · Score: 2, Informative

    OPENSTEP spec is jointly developed by NeXT and Sun. OPENSTEP/SPARC has been released.

    As for NeWS, it's a terrible system. It tried to use Postscript as the communication language but it's very slow. Sun tried to define new Unix GUI standard with AT&T and jointly developed CDE. The other group IBM/HP/DEC decided to go with Motif.

    NeXTSTEP adaption came after the CDE/Motif fight which basically fragemented the Unix GUI market.

  36. an unusual fork & exec sequence by hayne · · Score: 2, Informative
    Actually, mach_init is originally process #1 but that process forks and then the parent process (#1) does an exec of /sbin/init. The child process from the fork is process #2 and continues running as mach_init. The thing that makes this a bit hard to understand is that it is the parent process that does the exec whereas it is usually the child that does that.

    A few more details are available here.

  37. Re:Why Mach? by Anonymous Coward · · Score: 1, Informative

    Mach IPC is more flexible and efficient than Unix/POSIX/BSD IPC mechanisms, even if it is only used between applications and not for providing system services.

    Additionally, the Mach part of the kernel is already fine-grainedly multithreaded, and it has been since the beginning.

    There are also plenty of APIs in Mach that provide far more fine-grained control over the system than POSIX APIs.

    The only way in which the solution is the "worst of both worlds" is the fact that the kernel is slightly bigger than it needs to be...but considering the memory consumption of MacOS X in general, that isn't significant.

    There is no "loss of performance"; Mach doesn't reduce performance, using Mach IPC rather than direct system calls for system services would (especially without modifying them to be more suitable for implementing a multi-server system with POSIX semantics; which is why many things under the Hurd are so slow).

    Of course it is true that XNU doesn't seem to be as fast as *BSD or Linux for basic POSIX services, but that's probably just because Apple's priorities have been in making the userland parts efficient; system call performance isn't a bottleneck in many OS X apps.