alright why can't (or couldn't, for a while) windows run on a mac computer or vice versa? i know that macs used powerpc processors instead of intel for a while, but it's still an issue to run mac on something that isn't a mac. i guess my real question is - why do you have to trick each OS? why can't they just get along, maaan?

the short is answer is economics. apple doesn’t want XNU/OSX running on anything but apple computers they manufacture and sell for profit. microsoft doesn’t want windows running on apple computers because then people might buy apple computers and fund a direct competitor rather than buy a generic machine which funds an indirect competitor (microsoft doesn’t manufacture hardware)

the long answer involves a couple of things, but first:

operating systems like windows, osx, bsd and linux are programs exactly like the programs you might write yourself. it might be better to call them a collection of integrated programs that functions as singular entity on an appropriate platform. a program that you might write has a lot of implicit assumptions in it, like that it expects to execute within a specialized environment provided by the OS. it probably also expects to run on the same computer it was compiled on or at least one a computer running the same operating system it was compiled on. OSs don’t make many assumptions like this and that’s why the work on a wide range of computers

even when OSX only ran on power pc processors, the code describing OSX could theoretically be compiled for i386 (x86) and run on intel machines of the time. it wouldn’t be that easy of course, porting an OS across an architecture is a difficult and involved process but it’s possible. it’s also one of my favorite things to do.

NOW, for you to run OSX on a computer that is not made by apple is still complicated. they make it complicated for the aforementioned market reasons (so you buy apple hardware). windows is not the same way, its written to work on an insanely large range of hardware so long as the CPU is made by intel.

not only is OSX hard to port out, but apple computers themselves are made in such a way that they won’t really effectively run anything but OSX. this is the case because apple computers, especially laptops, all have specialized hardware in them that apple either designed themselves or paid another company to design. you won’t find a normal CD drive in an early macbook pro, you’ll find a SuperDrive. the fuck is a super drive? i don’t know, but the SCSI subsystem openbsd tries to interpret it as sure flips the fuck out over all the hardware timeouts it’s throwing during kernel boot

same thing with the video cards, a while ago you would find a genuine nvidia or AMD GPU inside your macbook, but it wasn’t one that fit the normal naming scheme of their “for consumer sale” product lineup because it was tailored for that specific machine. this is a good thing, since it performs way better but you’ll have zero luck doing much with it off OSX

same with their NICs, they always pick the goofy ones from broadcom that have never been able to be reverse engineered.