run multiple operating systems concurrently on a single machine, which allows separation of services while keeping cost to a minimum.
allow a single computer to effectively act as multiple computers, each running its own independent operating system
the specific type of data a variable is designed to hold.   having the proper data type can be crucial in running a an error-free program.