It might be okay to make the arguments you're making, except that Apple is increasingly marketing its systems as performance "serverish" machines in competition with other UNIX systems. I'm not saying that this is correct or incorrect, but that's how they're marketing themselves--and, based on what I see my colleagues purchasing, it seems to be working with some individuals. I myself have been thinking about migrating from Linux to OSX for many of the same reasons.
So, it makes sense to me to make the comparisons they did between Linux and OSX. Was it a perfect comparison? No. But it seemed reasonable.
Ah, but to turn your previous argument against you, AnandTech did bill it as "No More Mysteries".:)
I thought the article was extremely revealing, in that it suggested that performance bottlenecks were not due to hardware--as Apple has been suggesting--but rather, to software. It has really changed my view of the whole Apple/Linux-Power/x86 issue. It increases my confidence in IBM's line of chips a tad, and decreases my confidence in Apple's programming about just as much.
Like I said before, this whole thing seems to revolve around design choices. Apple's chosen to abstract and more tightly restrict threads, which makes sense for a workstation-type OS. And yes, Apple may be marketing OS X as the be-all and end-all of server performance, but that's not what I'm really interested in discussing. We've known for a while that OS X Server isn't a good choice for big iron.
Would I like to see more, and more rigorous comparisons? Sure. But I think these comparisons were legitimate for many users who would be interested in OSX as an OS alternative to Linux for a performance system.
Absolutely. They're perfectly legitimate comparisons, but they certainly don't tell the whole story.
This sounds very authoritative. But it makes no sense. What do threading models have to do with security? What does it mean for a thread to "run amok in the kernel", and how would I do that if I wanted to?
If a malicious process is spawned from an infected one, it's confined to the user-space. In Linux, a kernel thread doesn't have a distinct address space relative to any other kernel threads.
This guy said he'd run each OS through workstation-like tests, but all I see is a bunch of server tests and a lame "isolate the FPU" test.
And calling OS X's threading its "Achilles heel" is a bit short-sighted and belies an ignorance of OS design choices. Mac OS X adds an extra layer of communication for threading, so you can have user-space threads. This of course, comes with a performance penalty. In Linux, everything is a kernel thread. This gives it a big performance advantage, making it appropriate for servers operating under controlled conditions, as the tests indicate. However, OS X's design choice makes for more secure communication between user-space threads and the kernel, which gives an advantage in the workstation-space, since you can keep a user process from running amok in the kernel.
I've always said that Linux is a great server OS, and these tests certainly show that. But they're very tilted toward Linux's strengths and OS X's weaknesses, so OS X comes out looking like a ball-and-chain on Apple hardware. The author made a fundamental mistake in assuming that server stress tests were the be-all and end-all of performance computing, and that's just not true. OS X's designers made different design choices than the Linux designers did. These aren't choices that can be "fixed".
All he's shown here is that OS X is not appropriate for a high-demand, single-application server, and that's not really news to anyone. At the desktop level, no one's going to be working with thousands of simultaneous threads.
The "Show Desktop" function in Windows simply hides all the visible windows and doesn't give you any indication that you're in "Show Desktop" mode. In Exposé, when you invoke its "Show Desktop" mode, there is a translucent black border around the screen to indicate that Exposé is active.
Also, Exposé does have two other modes, the "Show All Windows" and "Show All App Windows" modes. As far as I can tell, Vista doesn't have an equivalent to either.
I'd be just fine with it. I've got a 20 GB iPod, but if I'm just walking around campus and want to listen to a few tunes between classes or something, an iTunes phone would be perfect. I'd use my iPod for playing music at work and in my car on long trips.
Oh give me a break. I was referring to mainframe programming, not maintenance and general usage. And when you're talking about programming, it's another language. It may be a different environment, but it's nothing someone with a computer science degree from a decent school can't be trained in.
This is why my school is introducing a mainframe concentration into its CS program within the next two years, and people graduating with that degree are going to be looking at lots of money. Although, as some other posters have asked, why is this the university's job?
My profs came out and told us that people like State Farm and Caterpillar had sat down with our CS people and asked them to provide some sort of mainframe sequence. But any graduate of the CS program should be able to pick up mainframe programming through training. It's just another language, after all. These companies should have seen the writing on the wall and hired graduates 5 years ago and had their current mainframe programmers start training them. Then they'd have workers with 5 years of real-world experience in mainframes. That's infinitely more valuable than a " mainframe concentration" in a CS degree.
These corporations dropped the ball, and now they're looking to universities to pick it up for them. They don't want to have to spend money training anybody. That's all this boils down to.
Linus doesn't write web browsers. Hyatt would probably be more appropriate, considering he was the first one to really pass the Acid Test, although privately.
It's not about console mode being "all anyone wants." It's about progress and understanding. In other words, there is nothing at the lower levels interfacing with TPM. It's only for Rosetta-executed code, and that means non-kernel-extension code.
I wonder, is it possible that TPM can only work with one type of machine language, and that is why Apple only applies it to PowerPC code? After all, there's no reason the designers would have had to make it work with multiple kinds of binary.
Apparently Apple's DRM kernel extension only gets involved when Rosetta is executing code. In other words, if you're running native code, there's no checking. But apparently some critical parts of the kernel are still being executed by Rosetta. And reimplementing the `AppleTPMACPI.kext' in a completely harmless manner (such that it always returns a "Yes go ahead" signal) is an option. As is replacing it at runtime via mach_override.
These boxes aren't even for sale yet. I'm sure that it'll be cracked before that even happens.
You're essentially right. Maybe it's just the cynic in my talking, but I think that Microsoft has so far let Apple stick around as the "token competition" to say, "See! We're playing by the rules!" Also, Mac sales do account for about 10% of Microsoft's revenue, the last time I checked.
Ultimately, Microsoft is interested in maintaining the Windows monopoly and all its subsidiaries. They'll attack anything that threatens it with devastating force. That's why Apple is sort of tip-toing into the Intel market.
Yes, that is another possible sequence. That's the great thing about speculation.:)
Ultimately, I think Apple is going for that "comfortable" 10% or 20% marketshare. They don't want to become commodity brokers. It's not their image. They want to be that upper middle-class computer maker. They have a comfortable number of users who give them lots of money, so their support costs stay down but revenue is still high. So I agree with your comment about the 20% of the market who generate 80% of the revenue.
Jobs and Gates are the exception, not the rule. Gates was a geek with good business sense. Jobs is either a genius or insane; take your pick.
But pick a random Slashdotter and tell him to run a company, and I seriously doubt the results would be anything near what Apple or Microsoft have achieved. Geeks think logically, so they make the equation "Best Features + Best Price = Market Winner", when this is completely untrue and has been proven so time and again. Geeks almost always neglect user interface and style, which the iPod has shown to be two of the most important factors in a product's design. Seriously, these are people who think Linux is ready for the desktop. Do you really think they have a sense of what the consumer wants?
Let's say Apple releases OS X x86 for generic x86 hardware. It's a box right next to Windows XP. What happens?
Some people buy it. Quite a few people who buy it find out that OS X doesn't support their particular hardware configuration. These people each tell 10 other people that OS X sucks because they'd have had to upgrade their hardware to use it. OS X gets bad word-of-mouth and quickly dies.
After all, Apple have significantly less resources to test OS X with the wide range of x86 hardware out there than Microsoft does, and even Microsoft can't get it right half the time. If they were to dedicate the required time and energy to making sure it worked on as many configurations as reasonable, OS X for x86 would put Longhorn to shame in the "RSN" department with all the delays it'd experience.
Say Apple, by some miracle, manages to support as many configurations as Windows does (or close enough). What then? Microsoft undercuts the shit out of them, that's what. OEM's like Dell would get huge discounts as long as they agreed not to sell OS X on any of their boxes. The worst thing that happens to Microsoft is they get another DoJ slap on the wrist, but in the end they've eliminated the most viable competitor to come along in the last decade. Even if that's not the exact method they use, rest assured, they'll find some way to pummel Apple out of existence. That $40 billion warchest would see to that.
Say the DoJ actually grows a shrivel of integrity and stops Microsoft before they can obliterate Apple completely. Apple has a great OS that runs on a wide range of commercially available hardware and costs only $129. Their hardware sales dry up, and they're forced to rely on OS X revenue, iTunes Music Store revenue (barely turns a profit) and iPods (how much longer till market saturation?). Not a great position to be in. Profits plummet, investors lose confidence and Apple's stock sinks.
This is why geeks aren't in charge of companies. If I were to speculate, I'd say this is Apple's strategy.
Release Intel-based boxes and become a sort of "testbed" for new Intel technology. Since Apple control their hardware, they can afford to adopt things like EFI before anyone else. The new boxes are faster, cheaper and Apple gets all the latest and greatest stuff as soon as Intel can deliver. Geeks complain about Apple locking people into their hardware.
Being sick of Windows, people buy these new, cheaper Macs with assurances that they can always install Windows if they aren't satisfied with the experience. Geeks complain more and warn of the Coming of the Cracked Mac OS X x86 Torrent. This holy torrent will, they claim, herald an end to Apple's hardware lock-in, since everyone will now simply buy cheap PCs and install The Holy Cracked Mac OS X on them. They refuse to acknowledge that normal people don't want to build their own PCs and will never know The Holy Cracked Mac OS X even exists.
The Holy Cracked OS X arrives. Geeks begin pirating OS X. Normal people don't notice and continue buying Apple's hardware.
Longhorn comes out, no longer a distant Vista. Leopard is there to meet it. Apple trashes Windows Vista for sucking. Microsoft ignores Apple.
OS X's popularity grows, but the price of Apple's hardware still puts some people off. Apple, having been working in secret, licenses OEMs a version of Mac OS X that installs on their machines. Dell and HP begin selling machines with OS X on them. (Apple refuses to be associated with eMachines and Gateway. Steve may or may not say they suck at a keynote address.)
Geeks complain more about how they can't get a supported version of OS X for their $300 custom PCs. Normal people remain unaware.
This stupid "colossal disappointment" crap fades from memory.
The entertainment industry begins imposing absurd DRM restrictions on everything up to and including what pixels are displayed on your screen. OS X does not adopt these ridiculous restrictions and becomes even more popular as th
Unfortunately, even commercial game makers must have adds in their games. The ability to add and multiply numbers is just too important to programming to toss out. If you don't like adds, I suggest never using any computer software ever again.
The user interface requires the additional hardware to do something I need. I don't see how I can look at it in isolation in a way that allows me to make purchasing decisions. Sure it's capable, but only in a set of circumstances that I find prohibitive.
Every user interface requires that you buy another monitor to have dual monitors. The only way dual screens apply to the user interface would be as to how easy it is to set them up once you have them. You might as well argue that OS X sucks because it doesn't support right-clicking and a scroll wheel without buying a mouse with two buttons and a scroll wheel.
Having a "WindowServer" doesn't make it a microkernel. Linux's entire GUI runs in userspace too and it's as monolithic as you can get. In Darwin the network stack, drivers, etc exist in the same address space in the kernel. They don't run as a separate server, which is what a microkernel does.
And implementing the network stack in the kernel space doesn't not make it a microkernel, either. It's a hybrid kernel, which is essentially a microkernel with some non-essential services placed into the kernel space instead of in a userland server. In other words, all hybrid kernels are microkernels, but not all microkernels are hybrid kernels. Your claim that it's "just as monolithic as Linux" is completely off-base.
I was talking about capabilities. If capabilities (like dual displays) are prohibitively expensive, it's impossible to remove it from consideration.
You're talking about capabilities which necessitate buying additional hardware. I'm talking about the user interface. Surely you can see the difference.
I agree, but either that's not what you said or I misinterpreted what you said: "Less capable on the server end perhaps, but you're dreaming if you think Mac OS X is less capable as a desktop workstation than Linux, of all things."
That depends on how you interpret "desktop workstation." I'd interpret that as the CEO's secretary's computer, not something a Lockheed Martin engineer is using to model aerodynamics. Not all workstations are technical in nature. Some simply need to be able to create and print documents, check and send e-mail and surf the Internet.
It's just as monolithic as Linux. It's based on a microkernel and still has a lot of overhead, but it's not one anymore.
It most certainly is. Would you like me to list my ps -gaux output and show you the line that says "WindowServer"?
It's based off of NeXTStep, which was created by NeXT, which was acquired by Apple. NeXT's former CEO is now in charge of Apple. So no, Apple didn't rip Darwin off of anyone, if that's what you're implying. And it most certainly is theirs.
Apple's OS only runs on Apple's hardware. It's fair game.
No, it's a red herring. When you're comparing the UIs of different operating systems, the hardware they run on is completely irrelevant. It'd be a different story if we were talking about price/performance, but we're not. I mentioned Linux's open source nature as the reason it would never make it to the desktop in any significant way, and all you've basically done is lecture me about how great it is for people who aren't typical computer users.
Yes. Their flexibility costs them consistency. It is a tradeoff.
Which makes it highly unsuitable for the desktop market. This is all I've been saying.
If your workstation needs to do technical stuff, the technical strength of Linux can be an advantage.
Of course it can. Which is what I've said. Linux is a great choice for servers and technical workstations, but it's totally unsuitable for Joe Sixpack.
Darwin's plumbing leaves a lot to be desired next to Linux or FreeBSD. I understand that Apple wanted to control their kernel, but it has a lot of overhead compared to other OSes.
Uh... what does this have to do with anything we're talking about? And more messaging overhead is part of using a microkernel. It's a tradeoff.
I know this guy is probably a teacher at a college, and he's made a PowerPoint presentation, and therefore, that presentation must use Comic Sans for everything, but Jesus Christ, when are college professors going to get over this insane obsession with Comic Sans? Some of my CS teachers actually used it for code in their presentations! CODE! You can't code in Comic Sans! IDEs should prevent you from even viewing code in Comic Sans just out of general principle! KILL THIS FONT NOW.
I was talking about operating systems. You're talking about hardware plus operating systems. Regardless of the price, Linux simply does not have the kind of unified approach to human interaction that Mac OS X and Windows do. This is because it's open source. Not to say that open source is bad, but it's hardly a model for consistency. The open source strength lies mainly in the server and technical side of the computing world. Apple have recognized that. That's why they've open-sourced the Darwin operating system but kept the higher level things like Quartz to themselves. They let the community work on the plumbing, but they want to do the interior decorating.:)
Less capable on the server end perhaps, but you're dreaming if you think Mac OS X is less capable as a desktop workstation than Linux, of all things. The server market is Linux's strength, and frankly, I think it's a waste of time to try and make it a desktop operating system. The desktop market requires consistency and attention to UI detail. Entrusting these things to freelance geeks coding in their spare time and expecting results on par with those of multibillion-dollar corporations is unrealistic.
This is not the case with the server end, which really only requires functionality and stability. On the desktop, once someone implements a feature, he has to then think, "Okay, what would be a good interface to this feature?" Microsoft and Apple have graphic designers and people trained in human-computer interfaces dedicated to answering that question. Linux distros don't.
This guy said he'd run each OS through workstation-like tests, but all I see is a bunch of server tests and a lame "isolate the FPU" test.
And calling OS X's threading its "Achilles heel" is a bit short-sighted and belies an ignorance of OS design choices. Mac OS X adds an extra layer of communication for threading, so you can have user-space threads. This of course, comes with a performance penalty. In Linux, everything is a kernel thread. This gives it a big performance advantage, making it appropriate for servers operating under controlled conditions, as the tests indicate. However, OS X's design choice makes for more secure communication between user-space threads and the kernel, which gives an advantage in the workstation-space, since you can keep a user process from running amok in the kernel.
I've always said that Linux is a great server OS, and these tests certainly show that. But they're very tilted toward Linux's strengths and OS X's weaknesses, so OS X comes out looking like a ball-and-chain on Apple hardware. The author made a fundamental mistake in assuming that server stress tests were the be-all and end-all of performance computing, and that's just not true. OS X's designers made different design choices than the Linux designers did. These aren't choices that can be "fixed".
All he's shown here is that OS X is not appropriate for a high-demand, single-application server, and that's not really news to anyone. At the desktop level, no one's going to be working with thousands of simultaneous threads.
The "Show Desktop" function in Windows simply hides all the visible windows and doesn't give you any indication that you're in "Show Desktop" mode. In Exposé, when you invoke its "Show Desktop" mode, there is a translucent black border around the screen to indicate that Exposé is active.
Also, Exposé does have two other modes, the "Show All Windows" and "Show All App Windows" modes. As far as I can tell, Vista doesn't have an equivalent to either.
Leopard will probably be shown off at WWDC2006, like Steve said at the WWDC2005 keynote.
I'd be just fine with it. I've got a 20 GB iPod, but if I'm just walking around campus and want to listen to a few tunes between classes or something, an iTunes phone would be perfect. I'd use my iPod for playing music at work and in my car on long trips.
Oh give me a break. I was referring to mainframe programming, not maintenance and general usage. And when you're talking about programming, it's another language. It may be a different environment, but it's nothing someone with a computer science degree from a decent school can't be trained in.
So go fuck yourself.
This is why my school is introducing a mainframe concentration into its CS program within the next two years, and people graduating with that degree are going to be looking at lots of money. Although, as some other posters have asked, why is this the university's job?
My profs came out and told us that people like State Farm and Caterpillar had sat down with our CS people and asked them to provide some sort of mainframe sequence. But any graduate of the CS program should be able to pick up mainframe programming through training. It's just another language, after all. These companies should have seen the writing on the wall and hired graduates 5 years ago and had their current mainframe programmers start training them. Then they'd have workers with 5 years of real-world experience in mainframes. That's infinitely more valuable than a " mainframe concentration" in a CS degree.
These corporations dropped the ball, and now they're looking to universities to pick it up for them. They don't want to have to spend money training anybody. That's all this boils down to.
If you can't do it right ... :)
Linus doesn't write web browsers. Hyatt would probably be more appropriate, considering he was the first one to really pass the Acid Test, although privately.
It's not about console mode being "all anyone wants." It's about progress and understanding. In other words, there is nothing at the lower levels interfacing with TPM. It's only for Rosetta-executed code, and that means non-kernel-extension code.
I wonder, is it possible that TPM can only work with one type of machine language, and that is why Apple only applies it to PowerPC code? After all, there's no reason the designers would have had to make it work with multiple kinds of binary.
Apparently Apple's DRM kernel extension only gets involved when Rosetta is executing code. In other words, if you're running native code, there's no checking. But apparently some critical parts of the kernel are still being executed by Rosetta. And reimplementing the `AppleTPMACPI.kext' in a completely harmless manner (such that it always returns a "Yes go ahead" signal) is an option. As is replacing it at runtime via mach_override.
These boxes aren't even for sale yet. I'm sure that it'll be cracked before that even happens.
You're essentially right. Maybe it's just the cynic in my talking, but I think that Microsoft has so far let Apple stick around as the "token competition" to say, "See! We're playing by the rules!" Also, Mac sales do account for about 10% of Microsoft's revenue, the last time I checked.
Ultimately, Microsoft is interested in maintaining the Windows monopoly and all its subsidiaries. They'll attack anything that threatens it with devastating force. That's why Apple is sort of tip-toing into the Intel market.
Yes, that is another possible sequence. That's the great thing about speculation. :)
Ultimately, I think Apple is going for that "comfortable" 10% or 20% marketshare. They don't want to become commodity brokers. It's not their image. They want to be that upper middle-class computer maker. They have a comfortable number of users who give them lots of money, so their support costs stay down but revenue is still high. So I agree with your comment about the 20% of the market who generate 80% of the revenue.
Jobs and Gates are the exception, not the rule. Gates was a geek with good business sense. Jobs is either a genius or insane; take your pick.
But pick a random Slashdotter and tell him to run a company, and I seriously doubt the results would be anything near what Apple or Microsoft have achieved. Geeks think logically, so they make the equation "Best Features + Best Price = Market Winner", when this is completely untrue and has been proven so time and again. Geeks almost always neglect user interface and style, which the iPod has shown to be two of the most important factors in a product's design. Seriously, these are people who think Linux is ready for the desktop. Do you really think they have a sense of what the consumer wants?
After all, Apple have significantly less resources to test OS X with the wide range of x86 hardware out there than Microsoft does, and even Microsoft can't get it right half the time. If they were to dedicate the required time and energy to making sure it worked on as many configurations as reasonable, OS X for x86 would put Longhorn to shame in the "RSN" department with all the delays it'd experience.
This is why geeks aren't in charge of companies. If I were to speculate, I'd say this is Apple's strategy.
Unfortunately, even commercial game makers must have adds in their games. The ability to add and multiply numbers is just too important to programming to toss out. If you don't like adds, I suggest never using any computer software ever again.
Or did you mean "ads"?
It's based off of NeXTStep, which was created by NeXT, which was acquired by Apple. NeXT's former CEO is now in charge of Apple. So no, Apple didn't rip Darwin off of anyone, if that's what you're implying. And it most certainly is theirs.
I know this guy is probably a teacher at a college, and he's made a PowerPoint presentation, and therefore, that presentation must use Comic Sans for everything, but Jesus Christ, when are college professors going to get over this insane obsession with Comic Sans? Some of my CS teachers actually used it for code in their presentations! CODE! You can't code in Comic Sans! IDEs should prevent you from even viewing code in Comic Sans just out of general principle! KILL THIS FONT NOW.
I was talking about operating systems. You're talking about hardware plus operating systems. Regardless of the price, Linux simply does not have the kind of unified approach to human interaction that Mac OS X and Windows do. This is because it's open source. Not to say that open source is bad, but it's hardly a model for consistency. The open source strength lies mainly in the server and technical side of the computing world. Apple have recognized that. That's why they've open-sourced the Darwin operating system but kept the higher level things like Quartz to themselves. They let the community work on the plumbing, but they want to do the interior decorating. :)
Less capable on the server end perhaps, but you're dreaming if you think Mac OS X is less capable as a desktop workstation than Linux, of all things. The server market is Linux's strength, and frankly, I think it's a waste of time to try and make it a desktop operating system. The desktop market requires consistency and attention to UI detail. Entrusting these things to freelance geeks coding in their spare time and expecting results on par with those of multibillion-dollar corporations is unrealistic.
This is not the case with the server end, which really only requires functionality and stability. On the desktop, once someone implements a feature, he has to then think, "Okay, what would be a good interface to this feature?" Microsoft and Apple have graphic designers and people trained in human-computer interfaces dedicated to answering that question. Linux distros don't.