184:
31:
575:, such as an input device, which has a large delay, or a program might start some slow operation, such as sending output to a printer. This would lead to processor being "idle" (unused). To keep the processor busy at all times, the execution of such a program is halted and the operating system switches the processor to run another program. To the user, it will appear that the programs run at the same time (hence the term "parallel").
145:. Preemption has an important side effect for interactive processes that are given higher priority with respect to CPU bound processes, therefore users are immediately assigned computing resources at the simple pressing of a key or when moving a mouse. Furthermore, applications like video and music reproduction are given some kind of real-time priority, preempting any other lower priority process. In time-sharing systems,
500:, the output of the first process needs to pass to the second one, and so on. Another example is a task that has been decomposed into cooperating but partially independent processes which can run simultaneously (i.e., using concurrency, or true parallelism – the latter model is a particular case of concurrent execution and is feasible whenever multiple CPU cores are available for the processes that are ready to run).
173:
1644:
412:
858:
95:
typically stored in a file on disk, a process is the execution of those instructions after being loaded from the disk into memory. Several processes may be associated with the same program; for example, opening up several instances of the same program often results in more than one process being
84:(OS) process which comprises the program code, assigned system resources, physical and logical access permissions, and data structures to initiate, control and coordinate execution activity. Depending on the OS, a process may be made up of multiple threads of execution that execute instructions
711:
Tasks and processes refer essentially to the same entity. And, although they have somewhat different terminological histories, they have come to be used as synonyms. Today, the term process is generally preferred over task, except when referring to "multitasking", since the alternative term,
396:
at any time. Even portions of active processes/tasks (executing programs) are eligible for swapping to disk, if the portions have not been used recently. Not all parts of an executing program and its data have to be in physical memory for the associated process to be active.
469:
If a process in the "running" state needs to wait for a resource (wait for user input or file to open, for example), it is assigned the "blocked" state. The process state is changed back to "waiting" when the process no longer needs to wait (in a blocked
473:
Once the process finishes execution, or is terminated by the operating system, it is no longer needed. The process is removed instantly or is moved to the "terminated" state. When removed, it just waits to be removed from main
570:
Programs consist of sequences of instructions for processors. A single processor can run only one instruction at a time: it is impossible to run more programs at the same time. A program might need some
578:
Shortly thereafter, the notion of a "program" was expanded to the notion of an "executing program and its context". The concept of a process was born, which also became necessary with the invention of
503:
It is even possible for two or more processes to be running on different machines that may run different operating system (OS), therefore some mechanisms for communication and synchronization (called
149:
are performed rapidly, which makes it seem like multiple processes are being executed simultaneously on the same processor. This seemingly-simultaneous execution of multiple processes is called
970:
291:
The operating system keeps its processes separate and allocates the resources they need, so that they are less likely to interfere with each other and cause system failures (e.g.,
137:
that is a method for interleaving the execution of users' processes and threads, and even of independent kernel tasks – although the latter feature is feasible only in preemptive
1734:
466:. The context switch loads the process into the processor and changes the state to "running" while the previously "running" process is stored in a "waiting" state.
1060:
881:
912:
1681:
374:
operating systems. The sense of "process" (or task) is "something that takes up time", as opposed to "memory", which is "something that takes up space".
1041:
337:
2010:
1981:
343:
It is usual to associate a single process with a main program, and child processes with any spin-off, parallel processes, which behave like
2206:
1308:
1331:
106:(CPUs) and other system resources. Each CPU (core) executes a single process at a time. However, multitasking allows each processor to
1220:
1326:
1303:
808:
783:
754:
344:
832:
1785:
1729:
905:
835:
114:). Depending on the operating system implementation, switches could be performed when tasks initiate and wait for completion of
1704:
1674:
1298:
1113:
1897:
1795:
1405:
1268:
546:
312:
150:
85:
815:(particularly chapter 3, section 3.2, "process states", including figure 3.9 "process state transition with suspend states")
862:
2201:
2175:
1724:
1709:
1629:
1463:
1081:
1001:
2196:
1770:
1755:
1714:
520:
296:
1936:
1883:
1648:
1594:
1054:
898:
691:
484:
300:
292:
161:
65:
878:
828:
553:
computer architecture, and they shared scarce and limited hardware resources; consequently, the concurrency was of a
122:, and when the operating system scheduler decides that a process has expired its fair share of CPU time (e.g, by the
280:. Any subset of the resources, typically at least the processor state, may be associated with each of the process'
1951:
1790:
1667:
1573:
1368:
1253:
1215:
1065:
955:
1986:
1805:
1765:
1760:
1719:
1589:
1568:
1513:
1400:
1390:
1363:
1225:
583:
508:
424:
281:
138:
123:
76:. There are many different process models, some of which are light weight, but almost all processes (even entire
534:
183:
2029:
1916:
1780:
1543:
1169:
1108:
1021:
30:
526:
1458:
1775:
1604:
1599:
1049:
504:
377:
The above description applies to both processes managed by an operating system, and processes as defined by
333:
257:
103:
2163:
2102:
1991:
1971:
1920:
1878:
1343:
1275:
1179:
1071:
1026:
712:"multiprocessing", is too easy to confuse with multiprocessor (which is a computer with two or more CPUs).
579:
459:
452:
360:
111:
46:
42:
1133:
1946:
1912:
1814:
1750:
1435:
1395:
1348:
1338:
1076:
996:
935:
599:
542:
393:
325:
318:
277:
99:
384:
If a process requests something for which it must wait, it will be blocked. When the process is in the
164:
between independent processes, providing strictly mediated and controlled inter-process communication.
2143:
2117:
1375:
1263:
1258:
1248:
1235:
1031:
746:
738:
687:
637:
497:
276:
The operating system holds most of this information about active processes in data structures called
2112:
2064:
1538:
1493:
1319:
1314:
1293:
550:
261:
2049:
1956:
1563:
1412:
1385:
1210:
1174:
1164:
965:
945:
940:
921:
657:
632:
627:
612:
563:
329:
272:
is typically stored in computer registers when the process is executing, and in memory otherwise.
265:
254:
attributes, such as the process owner and the process' set of permissions (allowable operations).
241:
73:
38:
1123:
2158:
2107:
2039:
1996:
1837:
1609:
1285:
1243:
1138:
804:
779:
750:
662:
530:
494:
251:
245:
2138:
1690:
1619:
1418:
1353:
1200:
1016:
1011:
1006:
975:
591:
436:
378:
321:
188:
157:
81:
69:
34:
2082:
2044:
2015:
1483:
1423:
1358:
1205:
1195:
1128:
960:
950:
885:
699:
572:
558:
440:
371:
233:
92:
77:
1118:
690:
configuration and can execute several processes simultaneously. Another technique called
2168:
2092:
2054:
1926:
1614:
1430:
1087:
980:
667:
647:
642:
549:. At first, more than one program ran on a single processor, as a result of underlying
463:
428:
389:
214:
146:
107:
50:
846:
ACM SIGOPS Operating
Systems Review. Volume 8, Issue 4 (October 1974). pp. 7 – 44
172:
110:
between tasks that are being executed without having to wait for each task to finish (
2190:
2034:
1873:
1827:
1503:
1380:
772:
652:
622:
595:
490:
416:
406:
385:
355:
of its program (in memory) is one such resource. However, in multiprocessing systems
232:
Operating system descriptors of resources that are allocated to the process, such as
431:. Names for these states are not standardised, but they have similar functionality.
1961:
1103:
587:
538:
217:); which includes the executable code, process-specific data (input and output), a
207:
142:
134:
127:
115:
489:
When processes need to communicate with each other they must share parts of their
702:
technology) can simulate simultaneous execution of multiple processes or threads.
2087:
2069:
1852:
1842:
1832:
1624:
448:
363:
program at the same location in memory, but each process is said to own its own
332:), though in fact only one process can be executing at any one time on a single
226:
17:
222:
218:
392:
system, where regions of a process's memory may be really on disk and not in
2024:
1931:
1857:
1822:
1498:
1473:
617:
411:
119:
57:
843:
A proposal for certain process management and intercommunication primitives
842:
493:
or use other forms of inter-process communication (IPC). For instance in a
324:
may just switch between processes to give the appearance of many processes
857:
2153:
1548:
1528:
1453:
545:
possible and necessary. Multiprogramming means that several programs run
2148:
2077:
1847:
1553:
1533:
1508:
1143:
1523:
1518:
890:
541:
was still neither cheap nor fully utilized; such an environment made
444:
1659:
388:, it is eligible for swapping to disk, but this is transparent in a
2097:
741:; Cagne, Greg; Galvin, Peter Baer (2004). "Chapter 4. Processes".
695:
586:
came somewhat later. However, with the advent of concepts such as
410:
171:
868:
686:
Some modern CPUs combine two or more independent processors in a
194:
In general, a computer system process consists of (or is said to
1558:
1488:
1478:
770:
Vahalia, Uresh (1996). "Chapter 2. The
Process and the Kernel".
237:
229:
to hold intermediate computation data generated during run time.
177:
118:
operations, when a task voluntarily yields the CPU, on hardware
1663:
894:
525:
By the early 1960s, computer control software had evolved from
2133:
1468:
1445:
879:
Process Models with
Process Creation & Termination Methods
827:
Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau (2014). "
303:
to enable processes to interact in safe and predictable ways.
419:, with arrows indicating possible transitions between states.
299:). The operating system may also provide mechanisms for
873:
598:
computers, the old "multiprogramming" gave way to true
435:
First, the process is "created" by being loaded from a
91:
While a computer program is a passive collection of
2126:
2063:
2009:
1970:
1905:
1896:
1866:
1813:
1804:
1743:
1697:
1582:
1444:
1284:
1234:
1188:
1152:
1096:
1040:
989:
928:
133:A common form of multitasking is provided by CPU's
801:Operating Systems: internals and design principles
771:
507:for distributed computing) are needed (e.g., the
458:While the process is "waiting", it waits for the
427:that allows multitasking needs processes to have
102:is a method to allow multiple processes to share
874:Computer Process Information Database and Forum
602:, multiprocessing and, later, multithreading.
1675:
906:
359:processes may run off of, or share, the same
284:in operating systems that support threads or
8:
831:". Arpaci-Dusseau Books. Relevant chapters:
561:, multiple programs may run concurrently in
340:or other similar technologies can be used).
733:
731:
729:
727:
415:The various process states, displayed in a
1902:
1810:
1682:
1668:
1660:
913:
899:
891:
156:For security and reliability, most modern
27:Particular execution of a computer program
336:(unless the CPU has multiple cores, then
869:Online Resources For Process Information
537:. Over time, computers got faster while
182:
29:
723:
679:
370:Processes are often called "tasks" in
72:that is being executed by one or many
7:
829:Operating Systems: Three Easy Pieces
268:and physical memory addressing. The
176:A list of processes as displayed by
743:Operating system concepts with Java
307:Multitasking and process management
347:subroutines. A process is said to
25:
774:UNIX Internals: The New Frontiers
213:Memory (typically some region of
1786:Object-oriented operating system
1643:
1642:
856:
187:A process table as displayed by
1114:Analysis of parallel algorithms
803:(5th ed.). Prentice Hall.
455:assigns it the "waiting" state.
1796:Supercomputer operating system
557:nature. On later systems with
313:Process management (computing)
248:), and data sources and sinks.
1:
1061:Simultaneous and heterogenous
1771:Just enough operating system
1756:Distributed operating system
1649:Category: Parallel computing
521:History of operating systems
328:simultaneously (that is, in
225:and/or other events), and a
2207:Operating system technology
1884:User space and kernel space
799:Stallings, William (2005).
692:simultaneous multithreading
485:Inter-process communication
479:Inter-process communication
301:inter-process communication
198:) the following resources:
2223:
1791:Real-time operating system
956:High-performance computing
535:executive control software
518:
482:
404:
310:
264:), such as the content of
210:associated with a program.
1987:Multilevel feedback queue
1982:Fixed-priority preemptive
1766:Hobbyist operating system
1761:Embedded operating system
1638:
1590:Automatic parallelization
1226:Application checkpointing
509:Message Passing Interface
221:(to keep track of active
124:Completely Fair Scheduler
2030:General protection fault
1781:Network operating system
1735:User features comparison
833:Abstraction: The Process
527:monitor control software
505:communications protocols
1776:Mobile operating system
1605:Embarrassingly parallel
1600:Deterministic algorithm
351:resources, of which an
1879:Loadable kernel module
1320:Associative processing
1276:Non-blocking algorithm
1082:Clustered multi-thread
420:
278:process control blocks
191:
180:
53:
1947:Process control block
1913:Computer multitasking
1751:Disk operating system
1436:Hardware acceleration
1349:Superscalar processor
1339:Dataflow architecture
936:Distributed computing
840:Gary D. Knott (1974)
778:. Prentice-Hall Inc.
747:John Wiley & Sons
739:Silberschatz, Abraham
414:
186:
175:
33:
2202:Concurrent computing
2118:Virtual tape library
1710:Forensic engineering
1315:Pipelined processing
1264:Explicit parallelism
1259:Implicit parallelism
1249:Dataflow programming
865:at Wikimedia Commons
638:Light-weight process
423:An operating system
2197:Process (computing)
2127:Supporting concepts
2113:Virtual file system
1539:Parallel Extensions
1344:Pipelined processor
863:Process (computing)
594:, and multiple-CPU
559:multiple processors
80:) are rooted in an
2050:Segmentation fault
1898:Process management
1413:Massively parallel
1391:distributed shared
1211:Cache invalidation
1175:Instruction window
966:Manycore processor
946:Massively parallel
941:Parallel computing
922:Parallel computing
884:2021-02-06 at the
745:(Sixth ed.).
613:Background process
462:to do a so-called
421:
206:of the executable
192:
181:
54:
2184:
2183:
2040:Memory protection
2011:Memory management
2005:
2004:
1997:Shortest job next
1892:
1891:
1691:Operating systems
1657:
1656:
1610:Parallel slowdown
1244:Stream processing
1134:Karp–Flatt metric
861:Media related to
663:Working directory
592:computer networks
453:process scheduler
451:. After that the
437:secondary storage
158:operating systems
51:Context Switching
16:(Redirected from
2214:
2139:Computer network
1903:
1811:
1684:
1677:
1670:
1661:
1646:
1645:
1620:Software lockout
1419:Computer cluster
1354:Vector processor
1309:Array processing
1294:Flynn's taxonomy
1201:Memory coherence
976:Computer network
915:
908:
901:
892:
860:
816:
814:
796:
790:
789:
777:
767:
761:
760:
735:
713:
709:
703:
684:
543:multiprogramming
367:of the program.
322:operating system
240:terminology) or
234:file descriptors
189:KDE System Guard
147:context switches
82:operating system
78:virtual machines
70:computer program
37:vs. Process vs.
21:
18:Computer process
2222:
2221:
2217:
2216:
2215:
2213:
2212:
2211:
2187:
2186:
2185:
2180:
2122:
2083:Defragmentation
2068:
2059:
2045:Protection ring
2014:
2001:
1973:
1966:
1888:
1862:
1800:
1739:
1693:
1688:
1658:
1653:
1634:
1578:
1484:Coarray Fortran
1440:
1424:Beowulf cluster
1280:
1230:
1221:Synchronization
1206:Cache coherence
1196:Multiprocessing
1184:
1148:
1129:Cost efficiency
1124:Gustafson's law
1092:
1036:
985:
961:Multiprocessing
951:Cloud computing
924:
919:
886:Wayback Machine
853:
836:The Process API
824:
822:Further reading
819:
811:
798:
797:
793:
786:
769:
768:
764:
757:
737:
736:
725:
721:
716:
710:
706:
700:Hyper-threading
685:
681:
677:
672:
608:
580:re-entrant code
523:
517:
487:
481:
441:hard disk drive
409:
403:
379:process calculi
315:
309:
170:
160:prevent direct
41:
28:
23:
22:
15:
12:
11:
5:
2220:
2218:
2210:
2209:
2204:
2199:
2189:
2188:
2182:
2181:
2179:
2178:
2173:
2172:
2171:
2169:User interface
2166:
2156:
2151:
2146:
2141:
2136:
2130:
2128:
2124:
2123:
2121:
2120:
2115:
2110:
2105:
2100:
2095:
2093:File attribute
2090:
2085:
2080:
2074:
2072:
2061:
2060:
2058:
2057:
2055:Virtual memory
2052:
2047:
2042:
2037:
2032:
2027:
2021:
2019:
2007:
2006:
2003:
2002:
2000:
1999:
1994:
1989:
1984:
1978:
1976:
1968:
1967:
1965:
1964:
1959:
1954:
1949:
1944:
1939:
1934:
1929:
1927:Context switch
1924:
1909:
1907:
1900:
1894:
1893:
1890:
1889:
1887:
1886:
1881:
1876:
1870:
1868:
1864:
1863:
1861:
1860:
1855:
1850:
1845:
1840:
1835:
1830:
1825:
1819:
1817:
1808:
1802:
1801:
1799:
1798:
1793:
1788:
1783:
1778:
1773:
1768:
1763:
1758:
1753:
1747:
1745:
1741:
1740:
1738:
1737:
1732:
1727:
1722:
1717:
1712:
1707:
1701:
1699:
1695:
1694:
1689:
1687:
1686:
1679:
1672:
1664:
1655:
1654:
1652:
1651:
1639:
1636:
1635:
1633:
1632:
1627:
1622:
1617:
1615:Race condition
1612:
1607:
1602:
1597:
1592:
1586:
1584:
1580:
1579:
1577:
1576:
1571:
1566:
1561:
1556:
1551:
1546:
1541:
1536:
1531:
1526:
1521:
1516:
1511:
1506:
1501:
1496:
1491:
1486:
1481:
1476:
1471:
1466:
1461:
1456:
1450:
1448:
1442:
1441:
1439:
1438:
1433:
1428:
1427:
1426:
1416:
1410:
1409:
1408:
1403:
1398:
1393:
1388:
1383:
1373:
1372:
1371:
1366:
1359:Multiprocessor
1356:
1351:
1346:
1341:
1336:
1335:
1334:
1329:
1324:
1323:
1322:
1317:
1312:
1301:
1290:
1288:
1282:
1281:
1279:
1278:
1273:
1272:
1271:
1266:
1261:
1251:
1246:
1240:
1238:
1232:
1231:
1229:
1228:
1223:
1218:
1213:
1208:
1203:
1198:
1192:
1190:
1186:
1185:
1183:
1182:
1177:
1172:
1167:
1162:
1156:
1154:
1150:
1149:
1147:
1146:
1141:
1136:
1131:
1126:
1121:
1116:
1111:
1106:
1100:
1098:
1094:
1093:
1091:
1090:
1088:Hardware scout
1085:
1079:
1074:
1069:
1063:
1058:
1052:
1046:
1044:
1042:Multithreading
1038:
1037:
1035:
1034:
1029:
1024:
1019:
1014:
1009:
1004:
999:
993:
991:
987:
986:
984:
983:
981:Systolic array
978:
973:
968:
963:
958:
953:
948:
943:
938:
932:
930:
926:
925:
920:
918:
917:
910:
903:
895:
889:
888:
876:
871:
866:
852:
851:External links
849:
848:
847:
838:
823:
820:
818:
817:
809:
791:
784:
762:
755:
722:
720:
717:
715:
714:
704:
678:
676:
673:
671:
670:
668:Zombie process
665:
660:
655:
650:
648:Parent process
645:
643:Orphan process
640:
635:
630:
625:
620:
615:
609:
607:
604:
529:, for example
516:
513:
491:address spaces
483:Main article:
480:
477:
476:
475:
471:
467:
464:context switch
456:
429:certain states
405:Main article:
402:
401:Process states
399:
390:virtual memory
338:multithreading
311:Main article:
308:
305:
274:
273:
255:
249:
230:
215:virtual memory
211:
169:
168:Representation
166:
26:
24:
14:
13:
10:
9:
6:
4:
3:
2:
2219:
2208:
2205:
2203:
2200:
2198:
2195:
2194:
2192:
2177:
2174:
2170:
2167:
2165:
2162:
2161:
2160:
2157:
2155:
2152:
2150:
2147:
2145:
2142:
2140:
2137:
2135:
2132:
2131:
2129:
2125:
2119:
2116:
2114:
2111:
2109:
2106:
2104:
2101:
2099:
2096:
2094:
2091:
2089:
2086:
2084:
2081:
2079:
2076:
2075:
2073:
2071:
2066:
2062:
2056:
2053:
2051:
2048:
2046:
2043:
2041:
2038:
2036:
2035:Memory paging
2033:
2031:
2028:
2026:
2023:
2022:
2020:
2017:
2012:
2008:
1998:
1995:
1993:
1990:
1988:
1985:
1983:
1980:
1979:
1977:
1975:
1969:
1963:
1960:
1958:
1955:
1953:
1950:
1948:
1945:
1943:
1940:
1938:
1935:
1933:
1930:
1928:
1925:
1922:
1918:
1914:
1911:
1910:
1908:
1904:
1901:
1899:
1895:
1885:
1882:
1880:
1877:
1875:
1874:Device driver
1872:
1871:
1869:
1865:
1859:
1856:
1854:
1851:
1849:
1846:
1844:
1841:
1839:
1836:
1834:
1831:
1829:
1826:
1824:
1821:
1820:
1818:
1816:
1815:Architectures
1812:
1809:
1807:
1803:
1797:
1794:
1792:
1789:
1787:
1784:
1782:
1779:
1777:
1774:
1772:
1769:
1767:
1764:
1762:
1759:
1757:
1754:
1752:
1749:
1748:
1746:
1742:
1736:
1733:
1731:
1728:
1726:
1723:
1721:
1718:
1716:
1713:
1711:
1708:
1706:
1703:
1702:
1700:
1696:
1692:
1685:
1680:
1678:
1673:
1671:
1666:
1665:
1662:
1650:
1641:
1640:
1637:
1631:
1628:
1626:
1623:
1621:
1618:
1616:
1613:
1611:
1608:
1606:
1603:
1601:
1598:
1596:
1593:
1591:
1588:
1587:
1585:
1581:
1575:
1572:
1570:
1567:
1565:
1562:
1560:
1557:
1555:
1552:
1550:
1547:
1545:
1542:
1540:
1537:
1535:
1532:
1530:
1527:
1525:
1522:
1520:
1517:
1515:
1512:
1510:
1507:
1505:
1504:Global Arrays
1502:
1500:
1497:
1495:
1492:
1490:
1487:
1485:
1482:
1480:
1477:
1475:
1472:
1470:
1467:
1465:
1462:
1460:
1457:
1455:
1452:
1451:
1449:
1447:
1443:
1437:
1434:
1432:
1431:Grid computer
1429:
1425:
1422:
1421:
1420:
1417:
1414:
1411:
1407:
1404:
1402:
1399:
1397:
1394:
1392:
1389:
1387:
1384:
1382:
1379:
1378:
1377:
1374:
1370:
1367:
1365:
1362:
1361:
1360:
1357:
1355:
1352:
1350:
1347:
1345:
1342:
1340:
1337:
1333:
1330:
1328:
1325:
1321:
1318:
1316:
1313:
1310:
1307:
1306:
1305:
1302:
1300:
1297:
1296:
1295:
1292:
1291:
1289:
1287:
1283:
1277:
1274:
1270:
1267:
1265:
1262:
1260:
1257:
1256:
1255:
1252:
1250:
1247:
1245:
1242:
1241:
1239:
1237:
1233:
1227:
1224:
1222:
1219:
1217:
1214:
1212:
1209:
1207:
1204:
1202:
1199:
1197:
1194:
1193:
1191:
1187:
1181:
1178:
1176:
1173:
1171:
1168:
1166:
1163:
1161:
1158:
1157:
1155:
1151:
1145:
1142:
1140:
1137:
1135:
1132:
1130:
1127:
1125:
1122:
1120:
1117:
1115:
1112:
1110:
1107:
1105:
1102:
1101:
1099:
1095:
1089:
1086:
1083:
1080:
1078:
1075:
1073:
1070:
1067:
1064:
1062:
1059:
1056:
1053:
1051:
1048:
1047:
1045:
1043:
1039:
1033:
1030:
1028:
1025:
1023:
1020:
1018:
1015:
1013:
1010:
1008:
1005:
1003:
1000:
998:
995:
994:
992:
988:
982:
979:
977:
974:
972:
969:
967:
964:
962:
959:
957:
954:
952:
949:
947:
944:
942:
939:
937:
934:
933:
931:
927:
923:
916:
911:
909:
904:
902:
897:
896:
893:
887:
883:
880:
877:
875:
872:
870:
867:
864:
859:
855:
854:
850:
845:
844:
839:
837:
834:
830:
826:
825:
821:
812:
810:0-13-127837-1
806:
802:
795:
792:
787:
785:0-13-101908-2
781:
776:
775:
766:
763:
758:
756:0-471-48905-0
752:
748:
744:
740:
734:
732:
730:
728:
724:
718:
708:
705:
701:
697:
693:
689:
683:
680:
674:
669:
666:
664:
661:
659:
656:
654:
653:Process group
651:
649:
646:
644:
641:
639:
636:
634:
631:
629:
626:
624:
623:Child process
621:
619:
616:
614:
611:
610:
605:
603:
601:
597:
596:shared memory
593:
589:
585:
581:
576:
574:
568:
566:
565:
560:
556:
552:
548:
544:
540:
539:computer time
536:
532:
528:
522:
514:
512:
510:
506:
501:
499:
496:
492:
486:
478:
472:
468:
465:
461:
457:
454:
450:
447:, etc.) into
446:
442:
438:
434:
433:
432:
430:
426:
418:
417:state diagram
413:
408:
407:Process state
400:
398:
395:
391:
387:
386:blocked state
382:
380:
375:
373:
368:
366:
362:
358:
354:
350:
346:
341:
339:
335:
331:
327:
323:
320:
314:
306:
304:
302:
298:
294:
289:
287:
283:
279:
271:
267:
263:
259:
256:
253:
250:
247:
243:
239:
235:
231:
228:
224:
220:
216:
212:
209:
205:
201:
200:
199:
197:
190:
185:
179:
174:
167:
165:
163:
162:communication
159:
154:
152:
148:
144:
140:
136:
131:
129:
125:
121:
117:
113:
109:
105:
101:
97:
94:
89:
87:
83:
79:
75:
71:
67:
63:
59:
52:
48:
44:
40:
36:
32:
19:
2070:file systems
1962:Time-sharing
1941:
1189:Coordination
1159:
1119:Amdahl's law
1055:Simultaneous
841:
800:
794:
773:
765:
742:
707:
682:
600:multitasking
588:time-sharing
577:
569:
562:
554:
551:uniprocessor
547:concurrently
524:
502:
488:
422:
383:
376:
369:
364:
356:
352:
348:
345:asynchronous
342:
319:multitasking
316:
290:
285:
275:
269:
208:machine code
203:
195:
193:
155:
135:time-sharing
132:
128:Linux kernel
116:input/output
100:Multitasking
98:
93:instructions
90:
86:concurrently
61:
55:
2088:Device file
2078:Boot loader
1992:Round-robin
1917:Cooperative
1853:Rump kernel
1843:Multikernel
1833:Microkernel
1730:Usage share
1625:Scalability
1386:distributed
1269:Concurrency
1236:Programming
1077:Cooperative
1066:Speculative
1002:Instruction
449:main memory
394:main memory
288:processes.
223:subroutines
151:concurrency
2191:Categories
2018:protection
1974:algorithms
1972:Scheduling
1921:Preemptive
1867:Components
1838:Monolithic
1705:Comparison
1630:Starvation
1369:asymmetric
1104:PRAM model
1072:Preemptive
719:References
688:multi-core
519:See also:
219:call stack
120:interrupts
112:preemption
104:processors
96:executed.
47:Preemption
43:Scheduling
2108:Partition
2025:Bus error
1952:Real-time
1932:Interrupt
1858:Unikernel
1823:Exokernel
1364:symmetric
1109:PEM model
694:(used in
618:Code cave
460:scheduler
361:reentrant
326:executing
297:thrashing
266:registers
258:Processor
58:computing
2154:Live USB
2016:resource
1906:Concepts
1744:Variants
1725:Timeline
1595:Deadlock
1583:Problems
1549:pthreads
1529:OpenHMPP
1454:Ateji PX
1415:computer
1286:Hardware
1153:Elements
1139:Slowdown
1050:Temporal
1032:Pipeline
882:Archived
606:See also
573:resource
564:parallel
511:{MPI}).
498:pipeline
439:device (
372:embedded
330:parallel
293:deadlock
252:Security
141:such as
66:instance
2149:Live CD
2103:Journal
2067:access,
2065:Storage
1942:Process
1848:vkernel
1715:History
1698:General
1554:RaftLib
1534:OpenACC
1509:GPUOpen
1499:C++ AMP
1474:Charm++
1216:Barrier
1160:Process
1144:Speedup
929:General
584:Threads
515:History
474:memory.
470:state).
282:threads
262:context
260:state (
246:Windows
242:handles
139:kernels
126:of the
74:threads
64:is the
62:process
35:Program
1957:Thread
1828:Hybrid
1806:Kernel
1647:
1524:OpenCL
1519:OpenMP
1464:Chapel
1381:shared
1376:Memory
1311:(SIMT)
1254:Models
1165:Thread
1097:Theory
1068:(SpMT)
1022:Memory
1007:Thread
990:Levels
807:
782:
753:
555:serial
445:CD-ROM
425:kernel
108:switch
39:Thread
2159:Shell
2098:Inode
1494:Dryad
1459:Boost
1180:Array
1170:Fiber
1084:(CMT)
1057:(SMT)
971:GPGPU
696:Intel
675:Notes
533:, to
531:IBSYS
495:shell
365:image
353:image
286:child
270:state
204:image
143:Linux
68:of a
1720:List
1559:ROCm
1489:CUDA
1479:Cilk
1446:APIs
1406:COMA
1401:NUMA
1332:MIMD
1327:MISD
1304:SIMD
1299:SISD
1027:Loop
1017:Data
1012:Task
805:ISBN
780:ISBN
751:ISBN
658:Wait
633:Fork
628:Exit
357:many
238:Unix
227:heap
178:htop
60:, a
2176:PXE
2164:CLI
2144:HAL
2134:API
1937:IPC
1574:ZPL
1569:TBB
1564:UPC
1544:PVM
1514:MPI
1469:HPX
1396:UMA
997:Bit
698:'s
349:own
334:CPU
295:or
202:An
196:own
130:).
56:In
2193::
1919:,
749:.
726:^
590:,
582:.
567:.
443:,
381:.
317:A
153:.
88:.
49:,
45:,
2013:,
1923:)
1915:(
1683:e
1676:t
1669:v
914:e
907:t
900:v
813:.
788:.
759:.
244:(
236:(
20:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.