An Overview of Virtual Machine Architectures