Cisco IOS began as a small embedded system and has been expanded over time to become the powerful network operating system it is today. The basic components for IOS are no different than the ones used to build other operating systems. However, in IOS those components are optimized to work within the environment in which IOS is used: limited memory and speed-critical packet switching.
IOS is a cooperative multitasking operating system and operates within a single flat address space. All program code, buffers, routing tables, and other data, reside in the same address space, and all processes can address each other's memory. IOS processes are equivalent to threads in other operating systems.
IOS has a small kernel that provides CPU scheduling ...