Pick and mix

1 min read

How virtualisation allows software developers to choose different operating environments and mix them on a single hardware platform. By Mike Richardson.

A new wave of virtualisation tools is helping to simplify the task of migrating, debugging, and optimising software for multicore processors. Able to provide a system wide view of multicore behaviour, virtualisation allows developers to quickly diagnose the complex interactions that characterise multicore designs and to pinpoint bottlenecks. These benefits vary based on how virtualisation is being applied. For software developers, the major benefit is to provide a more flexible and powerful development platform than actual hardware. For the end product, virtualisation provides the flexibility of mixing operating environments on a single hardware platform which leads to a variety of benefits, including improved security, higher availability and reduced size to weight and power ratios. It’s worth pointing out that one of the major issues with the word ‘virtualisation’ is that it means different things to different people. It helps to separate the technology into distinct application areas -- software development, server provisioning, security and other applications. At the high end of technology, virtualisation provides a computing platform that acts or simulates the system being targeted. In the embedded software arena, there are two major -- and very different -- applications of virtualisation that can create confusion when trying to understand their benefits: the sub classification of virtual prototyping, which is used to improve the software development process; and the provision of a virtual platform, which helps to improve the actual run time flexibility of a system, in other words, an end product that incorporates virtualisation. For embedded applications, virtualisation can hasten multicore adoption. Trends suggest that virtualisation use is being driven by time to market demands, production cost pressures, increased consolidation of functions and the need for more flexibility.