If you are interested, Cisco is working on a new style of code that allows the upgrading and reloading of different sections of code on the overall device. Therefore, only the updated process (say for instance OSPF, BGP, EIGRP, SNMP, etc.) could be upgraded and reloaded without affecting any of the other processes.
Juniper has been doing this since it's inception on their products. Cisco is catching up now.