Hardware and software work together in digital devices and systems to provide computerized functionality. Hardware includes the physical components, such as the motherboard, chips, memory, and hard drives, while software includes the programs. Though both are most often associated with computers, software also runs on other hardware, such as cellular phones, personal digital assistants (PDAs), Global Positioning Satellite (GPS) units, medical equipment, and air traffic control systems. Modern cash registers are also computerized with software to better organize sales-related issues like inventory, tax, and coupon discounts.
Hardware and software are constantly improving in a kind of leapfrog fashion. The former is most often the bottleneck when it comes to data transfer speeds, or how fast a program can work. Therefore, as hardware improves, it becomes capable of running more robust programs. Old hardware from just ten years ago may not run current software, as the programs might be designed to take advantage of hardware in ways that older pieces of equipment cannot support