provides strong abstraction from the hardware allowing a program to be written in a languThis can run on multiple types of computers (running the same operating system)