iPod Software

From The Apple Wiki
iPod Software
Written in
Working stateDiscontinued
Source modelClosed source
Initial release10 November 2001; 22 years ago
Final release1.1.2 (39A10023) / 7 May 2016; 7 years ago
Update method
PlatformsiPod (excluding iPod shuffle (1st generation) and all iPod touch models)
Kernel typeReal-time operating system

iPod Software is the real-time operating system used on all iPod devices, with the exception of iPod shuffle (1st generation) and all iPod touch models. It has been referenced as "RetailOS" internally.

iPod Software was built on the foundation of Pixo OS, an embedded operating system toolkit developed by PIXO, Inc. to create user interfaces for low-end ARM devices. Pixo OS is combined with a reference operating system provided by PortalPlayer or Samsung, depending on the model of iPod. PortalPlayer's reference operating system is based on RTXC 3.2.[1] Pixo OS was licensed by Apple during development of iPod with scroll wheel (1st generation), with the company later acquiring full rights to the operating system. Over time, the operating system was extended with a considerable number of features, including video playback, video recording, multitouch, and Bluetooth.

The operating system is entirely implemented in a single binary, and there is no memory space separation between the kernel, user interface, and other components. While eApps (games) are implemented as separate binaries that are installed to the iPod's storage, they are executed within the same memory space as the kernel. iPod Software can therefore be seen as having equivalent monolithic architecture to Classic Mac OS.

On iPod nano (2nd generation) and newer, the iPod hardware was re-engineered to be based on a Samsung SoC platform. With this change, iPod Software is booted by a variant of iBoot similar to the codebase used on the first-generation iPhone, and includes a driver for the PowerVR GPU core. As with the iPhone, the iPod implementation of iBoot validates digital signatures of the boot chain, permitting only official Apple firmware and eApps to be executed. A former engineer describes this as being implemented in response to top Apple corporate staff disliking that alternative operating systems had been developed by the community, such as iPodLinux and Rockbox.[1]

Apple engineers developed iPod Software on computers running Windows XP (likely originally Windows 2000 in the iPod project's early development), using the official ARM toolchain.[1]

External Links