nnel dual-memory architecture. The concept of dual core is to have identical processing subsystems including general- purpose and special-purpose processors running the same instruction set with each processor having equal access to memory, input and output (I/O) outputs with a single copy of the operating system controlling all cores. Any of the processors can run any thread. Some specialised processors including graphic processors may be handling several thousand threads in parallel but the tasks are largely repetitive and similar. Video processing, image analysis and signal processing are all tasks that are inherently parallel. Power consumption is managed by implementing adaptive power-down modes driven by a policy data base. These trade task latency against power drain, taking into consideration that some tasks are latency and delay sensitive and some are not. Note that it is not just delay but the amount by which that delay varies over time that can be problematic, particularly for tasks that are intrinsically deterministic. User experience expectations will include things like boot time, how long applications take to launch and execute and whether the system appears stable and predictable when multitasking. All of this then has to be shown to work with legacy Symbian systems, Linux systems including Android and LiMO and Microsoft Windows Mobile. Anecdotally, most software engineers would admit though not generally publicly that most smart phones ship with typically several hundred software faults. Solving these faults results in time to market delay and creates a different set of faults that are generally equally problematic. These applications processors can be drawing the best part of 5 watts at full steam SO have to be carefully managed, as these products would ideally have an eight hour to ten hour duty cycle. Memory and interface specifications also have to be very adequately dimensioned to avoid problems with task latency and task interrupts. 3 http://www.ox.ac.uk/media/news_stories/2011/112707.html 