Changes

Jump to: navigation, search

Process

6,772 bytes added, 07:55, 23 April 2018
Created page with " '''Home * Programming * Process''' A '''Process''' is an [https://en.wikipedia.org/wiki/Object_%28computer_science%29 instance] of a Program|computer pro..."

'''[[Main Page|Home]] * [[Programming]] * Process'''

A '''Process''' is an [https://en.wikipedia.org/wiki/Object_%28computer_science%29 instance] of a [[Program|computer program]], containing the program code being or about to be executed and its [[Data|data]] in [[Memory|memory]]. A process owns ressources such one or more processors if running, and memory, including descriptors of allocated resources, such as [https://en.wikipedia.org/wiki/File_descriptor file descriptors] or [https://en.wikipedia.org/wiki/Handle_%28computing%29 handles] for data sources and sinks, usually all provided by the [https://en.wikipedia.org/wiki/Operating_system operating system]. [https://en.wikipedia.org/wiki/Computer_multitasking Multitasking] operating systems allow the simultaneous execution of multiple [[Thread|threads]] within one process, sharing all its common resources. Further, processes may [https://en.wikipedia.org/wiki/Spawn_%28computing%29 spawn] or [https://en.wikipedia.org/wiki/Fork_%28operating_system%29 fork] [https://en.wikipedia.org/wiki/Child_process 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=
[[FILE:Process states.svg|none|border|text-bottom]]
Seven [https://en.wikipedia.org/wiki/Process_state process states] in a [https://en.wikipedia.org/wiki/State_diagram State diagram] <ref>[https://en.wikipedia.org/wiki/Process_state Process state from Wikipedia]</ref>

=Parallel Search=
In [[Parallel Search#ThreadsVsProcesses|Parallel search]], multiple [[Thread|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=
* [https://www.stmintz.com/ccc/index.php?id=367073 Re: Stormx is this a Crafty Clone??] by [[Sean Empey]], [[CCC]], May 25, 2004 » [[Windows]]
* [http://www.talkchess.com/forum/viewtopic.php?t=22398 threads vs processes] by [[Robert Hyatt]], [[CCC]], July 16, 2008
* [http://www.talkchess.com/forum/viewtopic.php?t=22799 threads vs processes again] by [[Robert Hyatt]], [[CCC]], August 05, 2008
* [http://www.talkchess.com/forum/viewtopic.php?t=61435 Weird Windows / WinBoard behavior] by [[Harm Geert Muller]], [[CCC]], September 15, 2016 » [[WinBoard]], [[Windows]]
* [http://www.talkchess.com/forum/viewtopic.php?t=61465 Crashing engines (Linux)] by [[Harm Geert Muller]], [[CCC]], September 18, 2016 » [[Linux]], [[XBoard]]
* [http://www.talkchess.com/forum/viewtopic.php?t=64441 Core behaviour] by [[Ed Schroder]], [[CCC]], June 28, 2017 » [[Engine Testing]]

=External Links=
* [https://en.wikipedia.org/wiki/Process_%28computing%29 Process (computing) from Wikipedia]
* [https://en.wikipedia.org/wiki/Parent_process Parent process from Wikipedia]
* [https://en.wikipedia.org/wiki/Child_process Child process from Wikipedia]
* [https://en.wikipedia.org/wiki/Orphan_process Orphan process from Wikipedia]
* [https://en.wikipedia.org/wiki/Zombie_process Zombie process from Wikipedia]
* [https://en.wikipedia.org/wiki/Process_state Process state from Wikipedia]
* [https://en.wikipedia.org/wiki/Context_switch Context switch from Wikipedia]
* [https://en.wikipedia.org/wiki/Processor_affinity Processor affinity from Wikipedia]
* [https://en.wikipedia.org/wiki/Exit_%28operating_system%29 exit (operating system) from Wikipedia]
* [https://en.wikipedia.org/wiki/Process_management_%28computing%29 Process management (computing) from Wikipedia]
* [https://en.wikipedia.org/wiki/Inter-process_communication Inter-process communication from Wikipedia]
* [https://en.wikipedia.org/wiki/Shared_memory Shared memory from Wikipedia]
* [https://en.wikipedia.org/wiki/Central_processing_unit Central processing unit from Wikipedia]
* [https://en.wikipedia.org/wiki/Multiprocessing Multiprocessing from Wikipedia]

==Posix==
* [https://en.wikipedia.org/wiki/Process_group Process group from Wikipedia]
* [https://en.wikipedia.org/wiki/Fork_%28operating_system%29 Fork (operating system) from Wikipedia]
* [https://en.wikipedia.org/wiki/Fork_bomb Fork bomb from Wikipedia]
* [https://en.wikipedia.org/wiki/Ps_%28Unix%29 ps (Unix) from Wikipedia]
: [https://en.wikipedia.org/wiki/Pstree Pstree from Wikipedia]
: [https://en.wikipedia.org/wiki/Kill_%28command%29 kill (command) from Wikipedia]

==[[Windows]]==
* [http://msdn.microsoft.com/en-us/library/windows/desktop/ms686937%28v=VS.85%29.aspx Using Processes and Threads], [http://msdn.microsoft.com/en-us/windows/desktop Windows Desktop Development]
: [http://msdn.microsoft.com/en-us/library/windows/desktop/ms682512%28v=vs.85%29.aspx Creating Processes]
: [http://msdn.microsoft.com/en-us/library/windows/desktop/ms682499%28v=vs.85%29.aspx Creating a Child Process with Redirected Input and Output]
* [http://msdn.microsoft.com/en-us/library/ms684841%28v=VS.85%29.aspx Processes and Threads, MSDN]
* [http://download.microsoft.com/download/5/b/3/5b38800c-ba6e-4023-9078-6e9ce2383e65/c06x1116607.pdf Processes, Threads, and Jobs] (pdf) from [http://www.microsoft.com/learning/en/us/book.aspx?ID=6710&locale=en-us Microsoft® Windows® Internals, Fourth Edition: Windows 2000, Windows XP, and Windows Server 2003] by [http://www.solsem.com/ David Solomon] and [https://en.wikipedia.org/wiki/Mark_Russinovich Mark Russinovich]
* [https://en.wikipedia.org/wiki/Windows_Task_Manager Windows Task Manager from Wikipedia]

==[[Cpp|C++]]==
* [http://qt-project.org/doc/qt-4.8/qprocess.html QProcess | Documentation | Qt Developer Network]
* [http://www.highscore.de/boost/process/ Chapter 1. Boost.Process]
* [http://ludwig.csie.ncku.edu.tw/members/alvin/2010_9/ESL/C++_Process_2010.pdf Brief Review to C++ / Process / Thread] (pdf)

==[[Java]]==
* [http://docs.oracle.com/javase/tutorial/essential/concurrency/procthread.html Processes and Threads (The Java™ Tutorials > Essential Classes > Concurrency)]

==Misc==
* [https://en.wikipedia.org/wiki/Process Process (disambiguation) from Wikipedia]
* [https://en.wikipedia.org/wiki/Processing_%28programming_language%29 Processing (programming language) from Wikipedia]
* [https://en.wikipedia.org/wiki/Signal_processing Signal processing from Wikipedia]
* [https://en.wikipedia.org/wiki/Process_%28science%29 Process (science) from Wikipedia]
* [https://en.wikipedia.org/wiki/Process_control Process control from Wikipedia]

=References=
<references />

'''[[Programming|Up one Level]]'''

Navigation menu