I want to know what is actually happening when we upgrade a device's software. For example we upgrade a device from Android ICS to Jellybean. We do download JellyBean from the server. Then we will install it. My question is: during installation does it replaces the ICS in memory or it resides in separate memory?
I know the Kernel is same for both ICS and JB. Can we downgrade to ICS from JB?