SFI vs COD's - Attempt to explain
I posted this in one of the other threads, but thought it might benefit newbs who are trying to understand what's going on in these hybrids and leaks.
This is my understanding of how the OS works. Thanks also to Thyth for clarifications which were used to edit this post.
The sfi file (some call it the radio file but it's much more) contains essentially the core of the OS. It's the Blackberry kernel and the Java virtual machine (VM) that actually runs the programs. Think of it as similar to the Windows kernel. There's a version for each type of hardware, just like theres a Windows x86, 64 bit, embedded, etc. It interfaces directly with the hardware, runs the applications, and provides the means for applications to interact with the hardware of the device.
COD files are multi-purpose containers that can hold programs, support data for programs, images, sounds, ringtones, etc.. The programs are run by the kernel / java VM contained in the sfi file. The applications interact with the user, hardware, network, and other applications by "talking" to the kernel. These are not just full applications like media player, the browser, etc., but little support apps like the keyboard GUI, launcher (Home), etc.
The apps (from the CODs) will generally run on most kernels / VM's (from the sfi's), whether 9500 or 9530, as long as the app doesn't access a function that doesn't exist or is changed in the core (sfi). I believe the apps can only access hardware / be accessed by the hardware through the kernel.
So upgrading the apps (CODs) without changing the kernel (sfi) will benefit those apps, but the core is the same. It may run better or worse because the apps are using the resources differently. It can have benefits when the apps improve, but can also cause problems if the apps call for new functionality that the old kernel doesn't have.
The sfi can directly affect hardware performance (graphics, touch, click, radios, power use, etc) because it directly controls it. It can also benefit or detract from any apps running on top of it.
The "Platform" version number refers to the sfi file - it is the platform that the rest of the OS operates on top of. The "Device Software" version refers to the supporting applications in the COD files.