Knowledge (XXG)

Process (computing)

Source đź“ť

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:)

Index

Computer process

Program
Thread
Scheduling
Preemption
Context Switching
computing
instance
computer program
threads
virtual machines
operating system
concurrently
instructions
Multitasking
processors
switch
preemption
input/output
interrupts
Completely Fair Scheduler
Linux kernel
time-sharing
kernels
Linux
context switches
concurrency
operating systems
communication

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑