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.
An Answer To "What is Mac OS X?"
|
Log In/Create an Account
| Top
| 664 comments
| Search Discussion
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
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)
(http://www.l4l.org/)
Conclusion from reading the article (Score:5, Interesting)
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!!!
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)
(http://francis.uy.googlepages.com/ | Last Journal: Wednesday August 29, @09:40AM)
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.
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.
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...
The question (Score:5, Funny)
(http://ardentdisdain.blogspot.com/)
"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)
What is Mac OS X? (Score:4, Funny)
(http://www.kenfager.com/ | Last Journal: Sunday April 11 2004, @03:55PM)
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"Potential Linux Switchers: Read Up (Score:5, Insightful)
(http://slashdot.org/~Spencerian/journal/ | Last Journal: Wednesday December 15 2004, @04:38PM)
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:4, Informative)
(http://www.geemu.com/ | Last Journal: Friday June 11 2004, @05:23PM)
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.
Re:Potential Linux Switchers: Read Up (Score:5, Insightful)
(http://slashdot.org/~Spencerian/journal/ | Last Journal: Wednesday December 15 2004, @04:38PM)
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
Re:Potential Linux Switchers: Read Up (Score:5, Insightful)
(http://slashdot.org/~Spencerian/journal/ | Last Journal: Wednesday December 15 2004, @04:38PM)
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).
Re:Potential Linux Switchers: Read Up (Score:5, Interesting)
(http://www.hyperlogos.org/ | Last Journal: Wednesday July 18, @08:19PM)
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.
Re:Potential Linux Switchers: Read Up (Score:5, Interesting)
(http://www.usermode.org/ | Last Journal: Tuesday April 17 2007, @09:13PM)
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.
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.
Re:Potential Linux Switchers: Read Up (Score:4, Insightful)
(http://kirindave.tumblr.com/ | Last Journal: Friday December 19 2003, @01:35PM)
Howso? I'm working with KDE in my current job, and I've yet to find anything that KDE can do that Aqua can't seem to. I suppose this depends on your definition of "power" too. GTK+ is very "powerful" as I'd define it, but a triply nested button inside other buttons doesn't seem like power I really need.
In general, I think Apple's rapid development tools and APIs in the Cocoa environment (along with the language used) knock the socks off just about anything else I've worked with for overall usability (both from a user and developer's standpoint).
Especially in the area of rapid development, few environments can even begin to work as well, or produce such clean and maintainable results, as Apple's tools for this job.
Re:Potential Linux Switchers: Read Up (Score:4, Interesting)
(http://kirindave.tumblr.com/ | Last Journal: Friday December 19 2003, @01:35PM)
This is, of course, subjective. Since I win my daily bread as a C++ and Ruby coder, I'll leave it as obvious which language I prefer to work in.
OS X does most of these things! (Score:5, Insightful)
(http://kirindave.tumblr.com/ | Last Journal: Friday December 19 2003, @01:35PM)
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.
Re:Potential Linux Switchers: Read Up (Score:4, Insightful)
(http://www.ferion.net/ | Last Journal: Monday May 06 2002, @02:16AM)
A lot of us running Windows wish it was.
OS-X Quartz display blows away X-Windows (Score:2, Insightful)
Even NeXtstep and OPENSTEP's use of Display Postscript was excellent on low powered Intel based hardware.
Re:OS-X Quartz display blows away X-Windows (Score:4, Interesting)
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.
though i love linux (Score:4, Insightful)
Re:though i love linux (Score:5, Insightful)
(Last Journal: Friday February 21 2003, @08:57PM)
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.
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.
Re:interesting article... (Score:4, Informative)
(http://cosmo7.com/)
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.
Re:interesting article... (Score:4, Insightful)
As others said you can optimize individual areas in C++. Also you are now discussing core components which seem a different issue to the person using frameworks. They don't care how the framework is written. Certainly even obj-C advocates don't think it the solution to everything. Other languages have their place.
I wonder though, why you criticize obj-C when even Microsoft is moving to a more runtime oriented system with .NET. It seems obj-C's main competitors are C#/VB.net and Java.
Tired of linux? (Score:5, Insightful)
(http://www.otierney.net/)
Re:Tired of linux? (Score:4, Insightful)
(http://www.otierney.net/)
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"
Why would someone be tired of Linux? (Score:5, Insightful)
(http://www.chesmontastro.org/)
I still have my Linux servers, but for daily use, my Mac is a dream.
Adobe and Microsoft.. (Score:1, Interesting)
(http://davidwattst.net/)
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.
Excellent read! (Score:4, Informative)
(http://slett.net/)
Good Job!
-tor
I did the best thing (Score:1)
(http://www.p0wn3d.com/ | Last Journal: Tuesday March 09 2004, @09:43AM)