Slashdot Log In
An Answer To "What is Mac OS X?"
Posted by
Cliff
on Wed Jan 07, 2004 01:15 PM
from the for-those-who-are-curious dept.
from the for-those-who-are-curious dept.
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."
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Full
Abbreviated
Hidden
Loading... please wait.
Hey, Wait a second (Score:5, Funny)
But if I wasn't interested, then why would I be reading it?
Re:Hey, Wait a second (Score:5, Funny)
Parent
Conclusion from reading the article (Score:5, Interesting)
Parent
Re:Hey, Wait a second (Score:5, Funny)
Sticking pins in them! Some people say it's wrong, but that's what makes it fun!!!
Parent
Carbon's roots are older (Score:5, Interesting)
To nitpick: actually, a lot of the Carbon APIs go as far back as System 1.0 -- most of QuickDraw for example.
Re:Carbon's roots are older (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.
Parent
Re:Carbon's roots are older (Score:5, Informative)
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.
Parent
Re:Carbon's roots are older (Score:5, Informative)
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...
Parent
The question (Score:5, Funny)
"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.
Re:The question (Score:5, Funny)
Parent
What is Mac OS X? (Score:4, Funny)
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
Re:What is Mac OS X? (Score:4, Funny)
Mac OS X is:
stable
asy to use
gorgeous
well rounded
You forgot "lickable"Parent
Potential Linux Switchers: Read Up (Score:5, Insightful)
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.
Re:Potential Linux Switchers: Read Up (Score:5, Interesting)
I use personally use Linux to get away from the liscensing nonsense that MicroAppleSunSoft tries to cram down my throat and sockets. They force too much upon me. It's my hardware, not theirs. I use Linux because it is Free. I use OSX at work and MS-Windows at work because I have to. What management decides is out of my control.
"...without a call to your other Linux buddies..."
Half the fun of Linux is the community built around it.
Parent
Re:Potential Linux Switchers: Read Up (Score:5, Insightful)
But OS X is much like any other BSD. Don't want to pay Roxio for a burn app? Just use the exact same CD burn tools you're using now. Same is true for Apache and many, many other tools that are built in OS X as they are in Linux and BSD. Else, compile the darn things.
Just note that not everyone (not even here on
Parent
Re:Potential Linux Switchers: Read Up (Score:5, Insightful)
Again, when it comes to buying a basic PC box, assembling it yourself and installing an OS, or buying a Mac box, you get what you pay for. There is a very good reason why Porsche doesn't offer a "build-it-yourself" option for their cars, and Apple feels the same way. Why are Macs a tad more expensive on average? Because they don't use the low-cost crappy commedity parts, and because they add the hardware they know many PC users may skip buying today but will eventually buy later (FireWire, a better video card, and other niceties). The only thing really unique in any Mac today is its chassis, motherboard and processor. The rest is the same stuff you find in any other PC.
The various UNIXes and clones out there all have their joys and laments, but none have hit the overall consistency, useability, and business software availability (Microsoft Office) than OS X--yet. You may be right--but not right now.
I understand truly about the joys of geekhood as well, and I don't think I should lose a point from my Geek License for suggesting that tinkering is a sin. In fact, unlike the original Mac OS (which was mostly closed up), I have gained far more repair and software options with the advent of OS X, since the UNIX side allows me to truly get under the hood of the damn thing in the few instances where it gets cranky or if I need to compile some app that's not included with OS X (like any other UNIX).
Parent
Re:Potential Linux Switchers: Read Up (Score:5, Interesting)
Mac hardware hasn't been special since PCs went to the PCI bus and apple hardware stopped having the drivers in rom on the card. NuBus was a paragon of autoconfiguration equalled by no one but the Amiga. But now that drivers are in the software and not adapter ROM, that advantage is nonexistent.
It's also worth pointing out that until the G5, apple hardware has had poor bus architecture and slow memory buses. So while the designs are supposedly clean (I have a yosemite so I know that is a lie; I am also familiar with the IIfx, which didn't even follow Apple's standards, let alone anyone else's, and even needed a nonstandard SCSI terminator) they have usually been dated. The G5 is an exception; it sure would be nice if OSX were 64 bit though. Apple finally has the superbadass hardware, and their OS doesn't even take full advantage of it. By the time they have a 64 bit OSX, AMD's hammer chips will have come down further in price, and XP-64 will be running on them, and they'll squander their "lead" once more.
Parent
Re:Potential Linux Switchers: Read Up (Score:5, Insightful)
Half the frustration of Linux is the community built around it, also.
That goes for every operating system. Use what makes YOU more productive. I could care less about free/open source/closed source. I prefer to use an OS that makes me more productive, with the least amount of hassle. Apple gives me that. Microsoft does not. Linux sure doesn't either.
Parent
Re:Potential Linux Switchers: Read Up (Score:5, Interesting)
I think Borland was the first major software vendor to use a copyright-based proprietary license (the famous "book" license). Some other companies followed suit, Apple included. Unfortunately, the old unilateral-contract-based schemes required hordes of lawyers, and lawyers love nothing better than to control other people.
Apple's proprietary software is still proprietary. But it's in a completely different class then Microsoft software. Nothing is being crammed down anyone's throat. While I still prefer Free Software, I have no problems buying and using proprietary software if the license terms are based on copyright rather than on some lawyer's delusion of how the world should work.
Parent
Re:Potential Linux Switchers: Read Up (Score:4, Informative)
Parent
Re:Potential Linux Switchers: Read Up (Score:4, Insightful)
A lot of us running Windows wish it was.
Parent
OS X does most of these things! (Score:5, Insightful)
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 [macupdate.com] to get system wide gestures. The hotkeys support is already there.
The system-wide password manager? Prithee, sir, what then would we call KeyChain [apple.com]?
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 [macosxhints.com], and other people have cheerfully extended this functionality with supplemental abilities. [lorax.com]) 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.
Parent
though i love linux (Score:4, Insightful)
Re:though i love linux (Score:5, Insightful)
When a company does such a good job, then the intelligent consumer would pay the company so it can improve. Apple does not survive by your applause, but by your purchasing dollars. Even your dollars spent on Microsoft Office for the Mac is partially a powerful vote for Apple.
Point is, if all we are going to do is to sit around and dish out glowing reviews, then we should not be surprised when (not if) a company we so approve of fails. Put your money where your mouth is.
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!)
GarageBand requires a G4 with DVD drive for full operations. The entry-level eMac satisfies this at $800 brand new, or under $700 refurbished. The $800 price, if you wait a few weeks, would include the $50 iLife.
Don't get me wrong. $800 is still real money, and is still more expensive than a Dell box. However, it's not $1,800, which is what an entry-level G5 would cost, and the Dell box won't have GarageBand, its big brother Soundtrack, or Final Cut Express and big brother Final Cut Pro.
Parent
interesting article... (Score:5, Informative)
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.
Tired of linux? (Score:5, Insightful)
Re:Tired of linux? (Score:4, Insightful)
a lot of users tried to get away from windows because linux works better from a day to day basis for getting work done. just about any linux advocate with agree with you there. what most linux users won't say is how wonderfuly nice and easy to setup linux is, or so what if i takes 5 hours to compile KDE from source.
you're confusing philosophical matters with an argument that's not predominantly philosophical. for people who want to *completely* escape proprietary software, yes linux is the answer. for people, like myself, who want UNIX, want it to WORK easily, and want to spend more time getting word done than compiling/configuring/installing linux then os x might be for you.
switching to mac os x is NOTHING like windows xp. lets take a brief look:
kernel: open source under an apple license. just got OSS approved if i remember correctly.
rendevous: open standard (zeroconf) for allowing instant networking
xcode: based off gcc, and is completely FREE unlike visual studio
preferences system: no harry registry in os x. preferences are done in xml files, and each program has it's own xml file (~/Library/Preferences/com.apple.Addressbook.plis
open packages: i can right click on Safari, choose show package contents, and naviagte to safari's gui file. i can open up safari's gui and MOVE buttons around. i can rebind keys, i can delete menus, i can do a heck of a lot. isn't safari closed source? yep. but GUIs in os x are extremely easy to hack if you install XCode.
build in tools: os x ships with perl, ruby, python, and many standard unix tools. for what you can't get in the base system, you simply install darwinports and install it similar to ports in BSD. i can type sudo ifconfig en1 down and turn my wireless off. i can type ssh -X user@host and forward linux apps to my powerbook with apple's built in x11 server.
build off standards: os x's rendering system is based off opengl and displaypdf. it also has nfs and smb built in so i can mount shares off my linux machine.
you complain about how much more expensive macs are, but you get a hell of a lot more "built in" and free software compared to windows.
if your issues are that you don't have complete control over your environment, then stick with linux. if you are fed up with the day to day ease of use of linux, then consider ponying up the extra cash to get a machine that does all your unix goodness and everything "just works"
Parent
Why would someone be tired of Linux? (Score:5, Insightful)
I still have my Linux servers, but for daily use, my Mac is a dream.
Parent
Excellent read! (Score:4, Informative)
Good Job!
-tor
Minor things to update (Nits) (Score:4, Informative)
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
On the Subject of Games (Score:5, Informative)
-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 [aspyr.com], 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.
Re:On the Subject of Games (Score:5, Insightful)
With regard to Half-Life, it is THE only game that I have envied PC users for. The only one. I use my Mac for gaming and have otherwise been very well fed, thank you very much. Your points are dead on, and it's something that most don't realize. To add, you can't even purchase a Mac without an exceptional graphics card built in. My wife uses it for her design work, I use it for gaming. Frag on.
Parent
Re:On the Subject of Games (Score:4, Insightful)
Well, two problems with that statement.
One, there are still a lot of A-list games that never make it to the Mac. Battlefield 1942 and Serious Sam are two of my favorites.
Two, by the time the Mac port comes out, the PC version is usually in the bargain bin, so Mac players are paying $50 for what PC users are now paying $20 for. And if you're like me, I never buy a new release when I know it's going to be half price in 6 months.
I've been a Mac user since 1984, so believe me, I know the Mac gamer's anguish... hope, pray, sign petitions, send emails, etc. Things have gotten SIGNIFICANTLY better in the past few years... I mean, LucasArts actually released Jedi Knight II for Mac! Wonders never cease. But the situation is a far cry from being "satisfactory".
Parent
try OS X on a cheap iBook (Score:5, Informative)
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)
I'm so sick of this: Cocoa IS PORTABLE! (Score:5, Informative)
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.
It's compiled! DAMMIT!! (Score:5, Funny)
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.
Re:OS X 10? (Score:5, Insightful)
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.
Parent
Re:OS X 10? (Score:5, Insightful)
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?
Parent
GIMP (Score:4, Informative)
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."
Parent
Re:OS X 10? (Score:4, Insightful)
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.
Parent
Re:OS X 10? (Score:5, Informative)
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.
Parent
Re:OS X 10? (Score:5, Informative)
* 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 [logarithmic.net] is one.
Parent
Re:OS X 10? (Score:4, Funny)
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.
Parent
uh (Score:5, Insightful)
Are you just bitching because it isn't Free for the sake of bitching?
Parent
Re:The core is already... (Score:5, Informative)
Parent
Re:OS X on x86, I wish (Score:5, Interesting)
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.
Parent
Re:It isn't MacOS X that turns people off of Macs. (Score:5, Funny)
Oh wait, they don't.
Go away, troll.
Parent
Dirty post-stealing whore! (Score:5, Informative)
You might also want to steal comments from someone who doesn't have 1765 comments, and does have a life...
Parent
Re:The story behind OSX (Score:4, Insightful)
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---
Parent
Re:Adobe and Microsoft.. (Score:5, Insightful)
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.
Parent