Could have fooled me with all the various intellectual shortcuts you're taking. Though I do have to say, I had a girlfriend once with a MS in Computer Science, and she could barely handle the basics of computers. She might have been great at programming an AI algorithm in Java, but when it came to basic computer maintenance... Seems to be a pretty common thing with CS types. They are great little code monkeys, but are horrible with everything else.
And I said that multi-core CPUs are subtly different, but important, from SMP. I never said it was a new thing. Also, up until recently, SMP was largely relegated to servers and high end workstations, and very few apps supported it. Usually made by large companies like Adobe which could afford to hire people who knew the ins and outs of parallel processing. But multi-core CPUs lack the second set of interrupts and data pathways SMP systems have, so the game has changed in some rather important ways.
The Windows process scheduler is a holdover from it's NT roots which are based in SMP systems. Each CPU being single core, operating largely independent of the other. Microsoft has tried to tweak it, to varying degrees of success, but it's basically a whole series of kludges because they have this really strong aversion to just doing what's necessary, and rewriting Windows from scratch.
Apple, with 10.6, created what's known as Grand Central Dispatch. It's a deamon process that is constantly monitoring CPU/core resources, and creates a dynamic pool of threads, the number being based on the number of cores detected by the kernel, that it then assigns to apps when they request a new thread. It then does its best to spread out the workload as evenly as possible across all the cores on the system. Which is a pretty elegant solution to the easy half of the whole parallel processing issue. It's a good stopgap measure while the researchers figure out a way to come up with a system so that parallel processing is rather simple for the average programmer. It takes a lot of skill to be able to coordinate the activities of multiple threads of a single program, and not everyone will be able to master that. Just having a single threaded program and trying to ram it through the CPU as fast as possible isn't really going to work, because for the most part, we've hit the wall as far as what we can do with current technology. But maybe I'm one of the few who's ever stopped to ponder why suddenly the shift has been to how many cores can be added to a CPU die rather than the clock speed race of yore.
Microsoft is rather loathe to rewrite Windows, the need for which is rather obvious when you stop to look at it. The current incarnations of Windows are built upon the NT codebase, which was created back in the mid-90s before there was an Internet for all intents and purposes. While NT had more in the way of a security model than the DOS based versions of Windows, it was still largely intended for use in an environment where it was managed by a professional and you didn't really have to contend with outside threats. At least not in the same way you do today.
Things have changed since then, and Windows has failed pretty miserably to keep up. Microsoft has always made its money by cramming loads of features into new products, and like Windows, most of their products pre-date the era of the Internet. Some of them, like Internet Explorer, still come from the "age of innocence" before someone hit on the idea of malware. Security has always taken a back seat to usability with Microsoft, for decades, and while they may have been starting to take it more seriously as a company in the last couple of years, they still have 20-30 years worth of legacy code like a giant stone weight around their neck.
On the other side, you have Apple. After Apple decided that it needed to replace its own aging bundle of security (among plenty of other issues) joy, we ultimately end up with what is Mac OS X. They started with a FreeBSD base, converted the kernel over to a mach design, which turned out to not work quite as well as they hoped, and so it's gradually become more monolithic as the years have gone by, basically adopting the Linux kernel extension idea. When they set out to make Darwin (the core OS) they had a 20 year design plan in place for it. They took the time to really kind of map out where they wanted to go with the OS, and to make sure it was flexible enough to get them there. We're already about 10 years into that 20 year life expectancy, and by most accounts, it's surpassed what they could have possibly imagined at the outset. There's no way they could have anticipated products like the iPhone, iPod, iPad, and AppleTV all using offshoots of the same OS. They also managed to migrate CPU architectures with considerably less pain than the m68K to PPC transition back in the day, where basically users and developers both got a swift kick in the teeth. It was next to seamless this go around, and basically Apple was able to have parallel builds of Mac OS X running internally since the very beginning.
And along the way, Apple hasn't been afraid to rip chunks of the OS out and rewrite them. They wrote their own version of at and cron a long ways back, almost no one even remembers that anymore, and then they ripped out the process scheduler and replaced it with GCD. As I already mentioned, they've made some tradeoffs with the original Mach kernel design for performance reasons.
Anyway, you can't have it both ways. If you're going to say exploiting Chinese workers is bad, which is a perfectly valid stance to take, you can't then turn around and say that we should exploit them MORE by buying Dell or HP or whomever because they're cheaper... Ergo, they don't pay those Chinese workers as much, don't enforce better working conditions compared to the norm, etc. It just doesn't work that way. If exploiting these workers is bad, then the fact that Apple pays better, etc, should be seen as at least LESS bad compared to the others. Like the choice between a swift kick to the teeth or a swift kick to the teeth with a steel toed boot. Neither option is exactly desirable, but if those are your only options, wouldn't you take the plain swift kick to the teeth? I know I would.
So you've pretty much shot your own price argument in the foot, unless you want to change your stance and claim to be a heartless b@stard who thinks himself better than all those Chinese workers, because YOU would never work for about $50 a week, work 12-16 hours a day, and then basically LIVE at the factory. No, those Chinese workers are there to be worked until they drop, then replaced, all so that YOU can have cheap electronic goods. Unless that's the stance you want to take, you're going to have to rethink your price argument. And for the record, while I wouldn't agree with that particular neo-conservative view of the world, it is at least consistent.
I'm not really sure what it is you have left for arguments at this point. You're either destroying them yourself or missing the forest for the trees. Actually, trees would probably be a bit generous, more like tree, or branch on a particular tree. You're not quite making straw men arguments, but you're not that far off the mark.