A Foreground process is a computer program with User Experience components.
- Computer systems typically interact with users (or with other process) as seamlessly as possible. Successful computer systems give the user the illusion that it is responsive solely to their objectives. The part of the system that is reacting to these external events it typically called the Foreground process while the other parts of the system are referred to as the Background process.
- The scope of this page is limited to the parts of a computer system running in the user context and ignores processes running in the kernel context, such as interrupt handlers.
- In a client computer the Foreground processes are those that are specifically tuned to create a good User Experience.
- In a server computer the Foreground processes are those that are specifically tuned to be responsive to external API requests from other computers.
- In this simple model, the Web Site Foreground processes are those that respond to HTTP requests from a User Agent, which renders the HTTP responses into a User Experience.
Most current versions of Smart Phones now include the ability to start background processes. Due to hardware limits, background processes on mobile operating systems are often restricted to certain tasks or consumption levels. On Android, CPU use for background processes is bounded at 5 - 10%. Third-party applications on Apple's iOS are limited to a subset of functions while running in the background. On both iOS and Android, background processes can be killed by the system if they are using too much memory.
- Matt Buchanan giz-explains-how-multitasking-works-on-a-phone Gizmodo (2010-04-21) https://gizmodo.com/5527407/ https://web.archive.org/web/20101017123040/http://gizmodo.com/5527407/giz-explains-how-multitasking-works-on-a-phone