System that provides behavior needed by running code; primarily implements portions of an execution model