The operating environment of a computer is the user interface and the non-physical environment where the software is executed. The user interface can be a graphical desktop environment or a text-based console. The term can also refer to an integrated development environment used by programmers or a runtime environment used for executing programs.
When referring to the graphical desktop environment, the term "operating environment" refers to the way the interface looks and how users interact with the actual programs. The user can change the way the environment looks by changing the icons, the font and the size of the text. Interacting with the programs is done by clicking on icons and choosing from menus.
In a text-based environment, the term refers to the command prompt, the path for executable programs and the shell that is being used. The shell is the text-based interface that takes input from the user and passes it on to the kernel. The user interacts with a text-based environment by typing commands using the keyboard.
All operating environments have environmental variables that tell the operating system how the software and system processes will behave. These environmental variables are handled differently depending on the type of operating system that is being used. On most operating systems, these variables can be changed according to the user's preference. Programs and system processes can also change the variables.
In computer programming, the operating environment refers to the integrated development environment (IDE) used to assist in creating a program. IDEs are usually comprised of a source code editor, a compiler or interpreter, build automation tools and a debugger. Many IDEs are created for a specific programming language and operating system. Other IDEs support many different programming languages and can be installed on multiple operating systems.
A runtime environment is a type of operating environment used to execute computer programs. Some runtime environments allow a single program to run on multiple operating systems. They are also used to handle low-level tasks, such as creating a network connection, without the programmer actually having to write the code for this task.