For example, a program written in Java calls for services from the Java Runtime Environment by issuing commands from which the expected result is returned by the Java Runtime. By providing these services, the Java Runtime Environment is considered the runtime environment of the program. Both the program and the Java Runtime Environment request services from the operating system. The operating system kernel provides services for itself and all processes and software running under its control. The Operating System may be considered as providing a runtime environment for itself.