Process

Home * Programming * Process

A Process is an instance of a computer program, containing the program code being or about to be executed and its data in memory. A process owns ressources such one or more processors if running, and memory, including descriptors of allocated resources, such as file descriptors or handles for data sources and sinks, usually all provided by the operating system. Multitasking operating systems allow the simultaneous execution of multiple threads within one process, sharing all its common resources. Further, processes may spawn or fork child processes who inherit most of the attributes from its parent, such as open files, but otherwise have their own memory for data, heap and stack.

=Process States= Seven process states in a State diagram

=Parallel Search= In Parallel search, multiple threads within one process are more common, because they are easier to debug as well as implement, provided the program does not already have lots of global variables. Processes are favored by some because the need to explicitly share memory makes subtle bugs easier to avoid. Also, in processes, the extra argument to most functions is not needed.

=See also=
 * Parallel Search
 * Program
 * Sequential Logic
 * Shared Hash Table
 * Thread

=Forum Posts=
 * Re: Stormx is this a Crafty Clone?? by Sean Empey, CCC, May 25, 2004 » Windows
 * threads vs processes by Robert Hyatt, CCC, July 16, 2008
 * threads vs processes again by Robert Hyatt, CCC, August 05, 2008
 * Weird Windows / WinBoard behavior by Harm Geert Muller, CCC, September 15, 2016 » WinBoard, Windows
 * Crashing engines (Linux) by Harm Geert Muller, CCC, September 18, 2016 » Linux, XBoard
 * Core behaviour by Ed Schroder, CCC, June 28, 2017 » Engine Testing

=External Links=
 * Process (computing) from Wikipedia
 * Parent process from Wikipedia
 * Child process from Wikipedia
 * Orphan process from Wikipedia
 * Zombie process from Wikipedia
 * Process state from Wikipedia
 * Context switch from Wikipedia
 * Processor affinity from Wikipedia
 * exit (operating system) from Wikipedia
 * Process management (computing) from Wikipedia
 * Inter-process communication from Wikipedia
 * Shared memory from Wikipedia
 * Central processing unit from Wikipedia
 * Multiprocessing from Wikipedia

Posix

 * Process group from Wikipedia
 * Fork (operating system) from Wikipedia
 * Fork bomb from Wikipedia
 * ps (Unix) from Wikipedia
 * Pstree from Wikipedia
 * kill (command) from Wikipedia

Windows

 * Using Processes and Threads, Windows Desktop Development
 * Creating Processes
 * Creating a Child Process with Redirected Input and Output


 * Processes and Threads, MSDN
 * Processes, Threads, and Jobs (pdf) from Microsoft® Windows® Internals, Fourth Edition: Windows 2000, Windows XP, and Windows Server 2003 by David Solomon and Mark Russinovich
 * Windows Task Manager from Wikipedia

C++

 * QProcess | Documentation | Qt Developer Network
 * Chapter 1. Boost.Process
 * Brief Review to C++ / Process / Thread (pdf)

Java

 * Processes and Threads (The Java™ Tutorials > Essential Classes > Concurrency)

Misc

 * Process (disambiguation) from Wikipedia
 * Processing (programming language) from Wikipedia
 * Signal processing from Wikipedia
 * Process (science) from Wikipedia
 * Process control from Wikipedia

=References=

Up one Level