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."
I'm sorry but - there's no reason to run OS X - FreeBSD 4.x already offers everything it has for free, and FreeBSD -current far surpasses it.
One word: Photoshop.
Bzzt...Gimp doesn't count so don't bother.
On second thought, this may be a better read if you're *not* interested in OS X!
But if I wasn't interested, then why would I be reading it?
Carbon. This is a set of procedural C-based APIs for Mac OS X that are based on the old Mac OS 9 API (actually dating back as far back as Mac OS 8.1)
To nitpick: actually, a lot of the Carbon APIs go as far back as System 1.0 -- most of QuickDraw for example.
I know what you mean...
:P~~~~
Yesterday I was having a great time editing my masterpiece "When Trolls attack" on Final Cut Pro, especially after I finally was done tweaking the shots in Photoshop and After Effects.
Later I enjoyed solving another level of Halo while listening to my iTunes collection.
Thank God for FreeBSD 4! I didn't have to pay for none of this stiffling proprietary OS X crap!
Joe Anoymous.
It's been at the back of your mind all along, always there, you're always asking...
"What is Mac OS X?"
Do you want me to show you, Neo...er...Steve? Eat the blue apple, and you'll go on living your life, believing whatever you want to believe. Eat the red apple, and I'll show you how deep the worm hole goes. And you'll realize that there is no Mac OS X. It's only your mind that has unfathomably sexy UI elements.
Help protect civil rights from abuse by the TSA - visit TSA News Blog.
http://www.tsanewsblog.com
stable
easy to use
gorgeous
well rounded
interesting Kind of sounds like the perfect boyfriend/girlfriend. But remember, we're talking about software here... :P
.deviatefromtheabsolute.
If you've been under a rock and haven't read much about OS X, still view Linux as a strong desktop OS, but hate having to fight to get the latest software, hardware, or other common computer accessories working without a call to your other Linux buddies, you should get a kick out of this article.
While the author disavows the article to a degree, it may be of great use to Linux and other UNIX users who haven't a clue of the true nature of OS X beneath its GUI interface. From the kernel, to a typical Mac's boot firmware, to its BSD origins, this is probably one of the better free web-accessible summaries that Linux geeks could appreciate.
OK, it might not make you switch, but note that this guy admits to using OS X for only 3 years or so, and he's gained quite an understanding of it.
Will OS X work for you best? YMMV.
Vos teneo officium eram periculosus ut vos recipero is.
One word: Photoshop.
Bzzt...Gimp doesn't count so don't bother.
I agree that Gimp 1.x has a GUI designed by a masochist. Check out version 2 though -- much better IMHO.
Nevertheless, more commercial apps and a gorgeous desktop that is truly ready for grandma and grandpa, with BSD, X11, and GCC for junior. Other than being completely "free as in freedom," and games, what else could you want?
How much "hacking the code" have you done on Linux? Be honest. Have you ever needed to significantly modify your operating system's source code? Do you even know how?
Are you just bitching because it isn't Free for the sake of bitching?
--
the strongest word is still the word "free"
i must admit that i admire apple's os x platform. for example one *can* use the command line as much as one likes but one doesnt't *have* to. i can't say that i love editing my xf86config for example. tho os x is far from perfect (it *is* after all proprietary) but it seems like an evolution of linux in ways of usability. i think however that the major OSS desktop environments aren't that far away from obtaining equally powerfull yet userfriendly operation (having only working knowledge of the gentoo distro) it's been a while since i used os x (10.1 in fact) and i must admit i regret lacking the funds to buy myself a peachy powermac g5 cuz i'm quite tempted by os x panther and the ilife bundle (man garageband look awesome!) sometimes i've wished linux was a bit more 'it just works' although i know huge progess is being made in that field every day (ie getting alsa to work has been a major pita for me) i for one just think os x gives the user still a much smoother computer experience than linux can at the moment. i consider it to be a best of both worlds - operation system. only, personally, i think os x could do with decent skinning features as simple far from everybody likes apple's aqua interface. way to go apple
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.
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.
I loved some of the concepts behind linux, but I think Linux's greatest advantage is also it's greatest weakness. The fact that there is no central governing body for most projects means that you get lots of fragmentation (X11: freedesktop.org, fresco, XFree; Distros: Gentoo, Debian, Mandrake, Redhat, etc) which makes it very difficult to stick to one standard. Thankfully, over time some projects fork (gcc) and wind up becoming the project that takes over. It's this fragmentation that helps linux adapt so rapidly. However because of all this, developers can't code for one toolkit api, one kernel api, etc. Mac OS X, to linux users, is like linux controlled by ONE group who says yes or no to all issues so that the complex fragmented software base can concentrate on one goal: a good consistent end user experience. I honestly would say Mac OS X couldn't exist without Linux or BSD because it wouldn't be where it was today without the OSS community. People complain that OS X is too proprietary, but i believe it is the perfect mix. On one hand you have OSS software. On the other hand you have commercial software. It's truely the best of both worlds! Isn't this what many linux users want? Linux grandma can use? Companies to write native software? Games? Gaim and KMail side by side with safari and photoshop? You don't have to wait if that's what you want. Linux is a great server OS, but mac os x has it by leaps and bounds as a good desktop platform. Am i saying Gnome and KDE should die off and we should all just use mac os x? of course not. But i am saying if you want a usable unix desktop now, not later, you don't have to look much further.
- tristan
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
Well, then I'm thinking your best bet is to go out and find yourself a used blue and white G3 (can be had very reasonably priced on ebay IF you take your time and don't rush it) and follow that with a CPU upgrade. They're coming down to a fairly comfortable price for those machines. Get that B&W going about 500Mhz and add Panther. Don't worry about the price of Panther (I figure if you're going to pirate XP then why pay for Panther?) and you got your firsthand look at OSX.
I pretty much did it that way and then decided I loved this shit enough to give them $3K to see it run on their new machines. I'm not the least bit disappointed either.
Everybody's different but as far as I'm concerned to hell with Windows and screw waiting on Linux to get it's collective desktop shit together. OSX beats both.
Appended to the end of comments you post. 120 chars.
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
And if you think it's just the UI that makes GIMP less powerful, you've clearly never seen a pro work on PhotoShop.
Yeah, it's too bad that Apple forces you to use its LCD monitors and wireless hardware.
Oh wait, they don't.
Go away, troll.
I watched C-beams glitter in the dark near the Tannhauser gate.
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.
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.
.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_)
:(
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
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.
FeeBSD.
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.
i think the REAL issue is that Apple users are much more likely to have actual sex, while all the *nix trolls get is goat.se(x)...
You might also want to steal comments from someone who doesn't have 1765 comments, and does have a life...
Exactly right.
So, tell me again *why* Apple would want to push their elegant and easy to use OS to the jerry-rigged x86 PC platform. To cope with all the problems that prevent innovation within Linux OS development community with a fraction of the resources available to Microsoft?
I think not.
---anactofgod---
---anactofgod---
"Equal opportunity swindling - *that* is the true test of a sustainable democracy."
And this is opposed to Windows users that rely "heavily on Adobe (Photoshop, Illustrator, Go live, et al) and Microsoft (Office, Outlook, Messenger, Media player, el al)"? I think you over-estimate the diversity of applications on any platform. Most people don't go much further than the software that is already installed on their system for most uses (games being the biggest exception).
Of the applications currently running on my doc I have 3 from OmniGroup (Web, Outliner, and Graffle), 4 Apple apps (the Finder, Mail.app, Terminal.app, and TextEdit), and 4 other applications from other companies (a tn5250 emulator, Comcastic, Chicken of the VNC, and NetNewsWire Lite).
And I think you need to do some research before saying "profound cost of owning an Apple". Make sure you know what you are talking about before you say that again.
"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."
"ree Software Camp: But Photoshop isn't Free. so "bzzt" to you too."
Sadly, I see this argument all too often. Price isn't everything, folks. If I save $600 by using Gimp instead of Photoshop, but the result isn't good enough to get paid for the project, then Gimp effectively isn't free.
I'm happy to spend the money, especially when it makes the task of making more money a lot easier. GIMP has a long ways to go before it actually saves a lot of us artists money.
"Derp de derp."
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)
Personally, I got tired of having to re-locate the the set of arcana I needed to get my USB and DVD stuff working again on my Linux box after each kernel update. When the time came for a new machine, I bought a Powerbook.
I still have my Linux servers, but for daily use, my Mac is a dream.
Clear, Dark Skies
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.
if your buying a computer based on how many buttons its OEM mouse has, you have some major issues.
There is one really, really big issue. Apple is famous for their laptops. Apple's desktops are not (IMHO) particularly exceptional or cost-competitive, but their laptops have traditionally been near-PC price and well-built. Most people I know that want Apple hardware want a laptop.
However, if you purchase an Apple laptop, you cannot simple snap in a new trackpad. You are stuck with a single button. Yes, you can can purchase an external mouse, but then you're stuck using an external mouse with your laptop. This is a pain in the ass, and something that you can avoid on non-Apple laptops -- you can get nice three-button laptops elsewhere.
This is not something that Apple is unaware of or incapable of fixing. However, they have made a conscious (and much-protested) decision to not natively support multiple buttons in their hardware, even as an option. While I can respect their reasons for doing so, it does make their hardware much less appealing. The reason people get so bent out of shape about this is partly because Apple *insists* on forcing you to use their hardware to use their software, and *insists* on not providing an option for more buttons for the (many) folks that are unhappy with their default setup.
If this is not a problem for your uses, that's fine. For me, it would be a major issue -- having to find a flat surface and carry along a big clunky external device to use the thing *is* an issue. Please do not call this "nitpicking" -- it is an entirely justified criticism that Apple has chosen not to address.
May we never see th
I guess I'm suprised that UNIX just accepted the CDE and never really extended it to be something really cool. At its base OS X is BSD, and Panther actually comes with a version of X one could install. Personally I like OS X, but macs hardware is just to expensive for a poor man like me. IMHO Mac OS X is the uppermiddle class mans extra friendly UNIX. I'll take Linux cause I'm poor ;-)
Only 'flamers' flame!
Does slashdot hate my posts?
Um, what crappy widgets, and what horrible fonts?
Widgets are the domain of the toolkits, and I think Qt's are quite pretty. And FreeType is a much better font-renderer than the Apple one. Apple's renderer hints too little (leading to uneven color weight on normal-res screens) and Microsoft's hints too much (very forced, distored glyph shapes). Freetype has a nice mix balance between contrast and proper glyph shapes.
A deep unwavering belief is a sure sign you're missing something...
Apple does not "get it" WRT open source in anywhere near the same way that Red Hat and friends do.
Apple "gets it" much better than Red Hat and friends do. Apple "gets" that open source needs to be part of a profitable business plan if you are going to run a company based on it. Why do you think Red Hat is no longer maintaining a user distribution? Because you can't make any money by giving things away. You have to charge for something. Apple knows that they will only be able to charge for hardware if part of their software (the GUI parts and the iApps, etc.) is closed source. Otherwise, people would just download the source, compile it for x86, and Apple's hardware sales would go in the toilet.
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.
May we never see th
Hmmm, damn I could have sworn the PowerMac we just bought is working absolutely fine with our nice Sony CRT and our NEC LCD monitor, both of which use standard VGA connections.
And I could swear that the D-Link wireless card I have works very nicely in my Powerbook.
I must just be dreaming though.
T Money
World Domination with a plastic spoon since 1984
Hmm, he lists Lisp amongst the interpreted languages. I hope the rest of the article is more accurate...
...
Edi.
== Programming Language Myths ==
BASIC Myth: People who learn BASIC go on to learn other languages.
Reality: Most people who learn BASIC go on to find less nerdy ways of writing "Mr. Gzabowski is a lame teacher" over and over again.
C Myth: C programs are insecure, full of buffer overflows and such.
Reality: C programs are only insecure if written by imperfect programmers. Since all C programmers know that they are perfect, there's no problem.
COBOL Myth: COBOL is dead.
Reality: It stalks from out the ancient vaults of death, its putrid mind drawn to the blood of the living.
Forth Myth: Forth makes no sense.
Reality: backwards. think to have just you sense, perfect makes Forth
Java Myth: You need Java to do business applications.
Reality: You need Java to get a job.
Lisp Myth: Lisp is an interpreted language.
Reality: Lisp is COMPILED DAMMIT COMPILED! IT'S IN THE FUCKING STANDARD!!!
Pascal Myth: Pascal is a toy.
Reality: Oh, wait, that is not a myth, it is true
Perl Myth: Perl is impossible to read.
Reality: You are not taking enough psychedelics.
Python Myth: Python's only problem is the whitespace thing.
Reality: Python's only problem is that it is fucking slow.
OS X is the UNIX desktop Linux has been trying to be for 10+ years now. If OS X came out for x86, would the drive for desktop Linux effectively die?
"Sufferin' succotash."
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.
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
The configurability is a Mac vs. Linux philosophy thing. Don't tout it, you'll start a flamewar. Suffice to say, Apple has decided that for UI, One Consistent Way is better than a huge amount of configurability.
You need CocoaGestures to get system wide gestures. The hotkeys support is already there.
The system-wide password manager? Prithee, sir, what then would we call KeyChain?
System wide spellchecking is part and parcel of the very good Apple text widgets. You use their widgets, you get it for free. You can configure it specially, or you can let all the code in NSApp just do it for you (usually what you want).
Apple doesn't do things like auto-completion in a generic fashion (although you never see it mentioned, they do provide a completion service, and other people have cheerfully extended this functionality with supplemental abilities.) because they haven't decided on their One Consistent Way to do it. Until then, we have a plethora of software, free and commercial, that does most anything we want. The OS X software community is very happy correcting any perceived flaws or blank spots a dozen different ways.
UI is a very subjective matter, so Apple (that makes money off of their good, consistent user experience) takes the middle road in most everything. It's smarter for them that way, since it's so incredibly easy to extend their input mechanisms.
Slashdot. It's Not For Common Sense
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.