Describe the differences between foreground and background processing. What advantage does background processing provide?
1. Background processes typically run with little or no user interaction, they interact with the system instead. Foreground processes are what the user interacts with.
2. Background processes, unless explicitly ran so, run with non-admin permissions.
This is also called batch processing.
3. A foreground process has access to the terminal (standard input and output), while the background process does not.
4. A background process runs without being connected to your keyboard. If the background process requires any keyboard input, it waits.
The basic advantage of background processing is that it allows the system to run other commands; the processor does not have to wait until it completes one task to start another. This provides the ability to have multiple applications executing at the same time. For example, a user can play a game with one application while another application is playing a song. To the developer, the advantage of multitasking gives the ability to create tools and applications which use more than one process and to create processes that use multiple threads of execution.