Using Cows to Explain the Differences of the Cisco Operating Systems

Hi, Guys! Can you compare the various Cisco Operating Systems? I have read a post from the Reddit and find an interesting explanation about this topic. In this article, I will describe these operating systems and share the explanation.

(the cows are CPUs or independent processes on the same CPU.)


You have one cow. It chews grass.

Concept: Cisco IOS (originally Internetwork Operating System) is a family of software used on most Cisco Systems routers and current Cisco network switches.

Feature: IOS is a package of routing, switching, internetworking and telecommunications functions integrated into a multitasking operating system. Although the IOS code base includes a cooperative multitasking kernel, most IOS features have been ported to other kernels such as QNX and Linux for use in Cisco products or simulators such as Cisco VIRL.

Note: Not all Cisco products run IOS. Notable exceptions include ASA security products, which run a Linux-derived operating system, and carrier routers which run IOS-XR.


You have two cows. One chews grass and the other tells it what to chew.

Concept: IOS XE is a train of Cisco Systems’ widely deployed Internetworking Operating System (IOS), introduced with the ASR 1000 series.

Feature: It is built on Linux and provides a distributed software architecture that moves many operating system responsibilities out of the IOS process and has a copy of IOS running as a separate process. Since it runs a copy of IOS, all CLI commands are the same between Cisco IOS and IOS XE, in contrast to IOS XR which has a completely different code base and its developers implemented quite a different CLI command set.


1. Cisco IOS is a monolithic operating system running directly on the hardware while IOS XE is a combination of a linux kernel and a (monolithic) application (IOSd) that runs on top of this kernel.

2. IOS XR is based on QNX (since version 5.0 it’s also based on linux) where the IOSd application has been separated into many different applications. While IOS XE (IOSd) and IOS share a lot of the same code, IOS XR is a completely different code base.

3. Since IOS XE has IOSd running as an application on top of linux, it becomes possible to also run different applications on the hardware, a good example of this is running Wireshark on a switch. Another example is the Cisco IOS XE Open Service Containers.


You have 27 cows. You have no idea what they do but when they fall over a new cow instantly reappears. Somehow they cost more than your house.

Concept: IOS XR is a train of Cisco Systems’ widely deployed Internetworking Operating System (IOS), used on their high-end Network Converging System(NCS), carrier-grade routers such as the CRS series, 12000 series, and ASR9000 series.

Features: IOS XR aims to provide the following advantages over the earlier IOS trains:

1. Improved high availability (largely through support for hardware redundancy and fault containment methods such as protected memory spaces for individual processes and process restartability)

2. Better scalability for large hardware configurations (through a distributed software infrastructure and a two-stage forwarding architecture)

3. A package based software distribution model (allowing optional features such as multicast routing and MPLS to be installed and removed while the router is in service)

4. The ability to install package upgrades and patches (potentially while the router remains in service)

5. A web-based GUI for system management (making use of a generic, XML management interface)


Example BGP configuration for both IOS and IOS XR. More examples can be found in the Cisco document Converting Cisco IOS Configurations to Cisco IOS XR Configurations.


You have a penguin with a cow attached.

It yells instructions at a robot mega-cow. The robot chews grass really fast.

Concept: NX-OS is a network operating system for the Nexus-series Ethernet switches and MDS-series Fibre Channel storage area network switches made by Cisco Systems. It evolved from the Cisco operating system SAN-OS, originally developed for its MDS switches.

It is based on MontaVista Software embedded Linux[citation needed] and is inter-operable with other Cisco operating systems.[citation needed] The command-line interface of NX-OS is similar to that of Cisco IOS.

Switches running NX-OS:

Nexus B22

Nexus 9000 series

Nexus 7700 series

Nexus 7000 series

Nexus 6000 series

Nexus 5000 series

Nexus 4000 (for IBM BladeCenter)

Nexus 2000 series

Nexus 3000

Nexus 1000V

MDS 9700 FC Directors

MDS 9500 FC Directors

MDS 9250i FC Switch

MDS 9222i FC Switch

MDS 9100 FC Switches


1. NX-OS does not support the login command to switch users.

2. NX-OS does not distinguish between standard or extended access lists, all lists are named and “extended” in functionality.

3. NX-OS did not support scp server prior to 5.1(1) release.

4. In NX-OS, there is no “write” command to save the configuration like on IOS (one uses the “copy” command, instead). Instead, command aliases can be created to provide the “write” command.

5. When accessing NX-OS, users authenticate directly to their assigned privilege level.

6. SSH server is enabled while Telnet server is disabled by default in NX-OS.


You have a very old cow in a huge metal box that only speaks Spanish. Grass gives it diarrhea which it then spews out its 275 orifices at high speed.

Concept: CatOS (Catalyst Operating System) is the discontinued operating system for many of the Catalyst brand of legacy network switches. CatOS ran on switches such as 1200, 2948G, 4000, 4500, 5000, 5500, 6000, 6500 series. It was originally called XDI by the switching company Crescendo Communications, Inc. Cisco renamed it to CatOS when they acquired Crescendo in late 1993.

CatOS can still run on some of Cisco’s modular switches, “hybrid” mode. In hybrid mode, the NMP (switch processor) runs CatOS and the route processor runs Cisco IOS.

Does this information help you? Welcome to leave your comments!




An editor from

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store