Two of the most fundamental technologies that underpin could computing are virtualization and grid computing. Virtualization is a technology that masks the physical characteristics of computing resources (e.g., a PC, a Server) in order to simplify the way in which other systems, applications, or end users interact with them. For example, a PC that is running Windows (the host operating system) and using virtualization software can also run Linux(as a guest operating system).