If I understand correctly, you can't run arbitrary homebrew code on a PS3 without some difficulty (java exploits, which Sony is actively combating). BUT, you can run Linux on it with no problem. This confuses me because, what could be more arbitrary than loading up an entirely new, alternate OS ? It seems to me, if I can boot and run alternate OS' I should be able to run _anything_ ... and yet, people are dealing with these java exploits and playing cat and mouse with Sony over homebrew code, etc. What am I missing ?
Linux doesnt give you full access to the hardware..so anything mildy CPU intensive (like doing anything related to 3D graphics) is restricted.
No, it's more like the Hypervisor (the stuff you run on the PS3 aways run inside a virtual machine or "sandbox" as the security experts like to call it) filters calls to the 3D hardware and BD-ROM drive so the "Other OS" mode is restricted enough to make the PS3 not usable as a "decent" game machine or to keep "BD-ROM emulators"/ "ISO Loaders" from working.
Ok, I found a wikipedia entry for linux on the ps3: http://en.wikipedia.org/wiki/Ps3_linux and it does clarify that. So arbitrary programs (in this case, Linux) are allowed by the hypervisor to access all of the CPU power, which explains how they are setting up supercomputer-level clusters with ps3 systems. The hypervisor does NOT, however, allow full (or any ?) access to he RSX GPU, so arbitrary code cannot get hardware acceleration for graphics. It all makes sense now