The brains (or thoughts) behind any Cisco router reside in the Cisco operating system. The IOS enables the router to perform all of the tasks needed to route data successfully between networks.
To enable functionality on a Cisco router that may not have been installed by default, IOS feature packs need to be installed. Feature packs can add the ability to run firewalls, protocols, and VPNs.
Cisco routers are produced in two memory configurations: Run-from-RAM and Run-from-Flash. The type of memory configuration for a router will determine the location for running the IOS.