टास्क (कंप्यूटिंग): Difference between revisions
(Created page with "{{Short description|Unit of execution or work in software}} {{Use mdy dates|date=June 2015}} File:Thread pool.svg|thumb|400px|कार्य की इकाई के र...") |
No edit summary |
||
(7 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{Short description|Unit of execution or work in software}} | {{Short description|Unit of execution or work in software}} | ||
[[File:Thread pool.svg|thumb|400px|कार्य की इकाई के रूप में कार्य के अर्थ में प्रतीक्षा कार्यों (नीला) और पूर्ण कार्यों (पीला) की [[कार्य कतार]] | [[File:Thread pool.svg|thumb|400px|कार्य की इकाई के रूप में कार्य के अर्थ में प्रतीक्षा कार्यों (नीला) और पूर्ण कार्यों (पीला) की [[कार्य कतार]] के साथ एक नमूना [[ धागा पूल |थ्रेड पूल]] (हरा बॉक्स)।]][[कंप्यूटर]] में, कार्य [[निष्पादन (कंप्यूटिंग)]] की इकाई या कार्य एक इकाई है। यह शब्द अस्पष्ट है; स्पष्ट वैकल्पिक शब्दों में ''[[प्रक्रिया (कंप्यूटिंग)]]'', [[हल्के वजन की प्रक्रिया|सरलतम प्रक्रिया]], ''[[थ्रेड (कंप्यूटिंग)]]'' (निष्पादन के लिए), ''स्टेप'', ''अनुरोध-प्रतिक्रिया'', या ''क्वेरी' सम्मिलित हैं। ' (काम के लिए)। आसन्न आरेख में, आने वाले कार्य और आउटगोइंग पूर्ण कार्य की कतार है, और इस कार्य को करने के लिए थ्रेड्स का थ्रेड पूल है। या तो स्वयं कार्य इकाइयाँ या कार्य करने वाले थ्रेड्स को कार्यों के रूप में संदर्भित किया जा सकता है, और इन्हें क्रमशः अनुरोध / प्रतिक्रिया / थ्रेड, आने वाले कार्य / पूर्ण कार्य / थ्रेड (जैसा कि सचित्र), या अनुरोध / प्रतिक्रिया / के रूप में संदर्भित किया जा सकता है।'' | ||
== शब्दावली == | == शब्दावली == | ||
निष्पादन की इकाई के अर्थ में, कुछ [[ऑपरेटिंग सिस्टम]] में | निष्पादन की इकाई के अर्थ में, कुछ [[ऑपरेटिंग सिस्टम]] में कार्य एक प्रक्रिया (कंप्यूटिंग) का पर्याय है, और अन्य में थ्रेड के साथ (कंप्यूटिंग). गैर-संवादात्मक निष्पादन ([[ प्रचय संसाधन ]]) में,एक कार्य (कंप्यूटिंग) के अंदर निष्पादन की इकाई है,<ref>{{cite web|url=http://whatis.techtarget.com/definition/task|title=What is task? - Definition from WhatIs.com|work=WhatIs.com|accessdate=June 11, 2015}}</ref><ref>{{cite web|url=http://www.liutilities.com/articles/what-are-computer-processes/#.VXn8h0b7LDc|title=What are computer processes?|work=liutilities.com|accessdate=June 11, 2015}}</ref> कार्य के साथ सामान्यतः एक प्रक्रिया। [[कंप्यूटर मल्टीटास्किंग|कंप्यूटर बहुक्रियन]] शब्द मुख्य रूप से कार्यविधि सेंस को संदर्भित करता है - एक ही समय में निष्पादित होने वाले कई कार्य - किन्तु एक ही समय में किए जा रहे कई कार्यों की कार्य अभिप्राय की बारीकियाँ होती हैं। | ||
कार्य की इकाई के अर्थ में, | कार्य की इकाई के अर्थ में, (अर्थात् कार्य का एक-एक टुकड़ा) कार्य चरण के अनुरूप हो सकता है (स्वयं चरण, उसके निष्पादन नहीं), जबकि बैच प्रसंस्करण में व्यक्तिगत कार्य एकल के अनुरूप हो सकते हैं एक बैच में एक आइटम को संसाधित करने का चरण, या बैच में सभी आइटम को संसाधित करने का चरण। ऑनलाइन प्रणाली में, कार्य सामान्यतः एक अनुरोध (अनुरोध-प्रतिक्रिया आर्किटेक्चर में) या क्वेरी (सूचना पुनर्प्राप्ति में) के अनुरूप होते हैं, या तो संचालन का चरण, या संपूर्ण प्रणाली-वाइड संचालन। | ||
=== उदाहरण === | === उदाहरण === | ||
[[ जावा (प्रोग्रामिंग भाषा) ]] प्रोग्रामिंग लैंग्वेज में, इन दो अवधारणाओं (कार्य की इकाई और निष्पादन की इकाई) को सीधे थ्रेड्स के साथ काम करते समय मिलाया जाता है, | [[ जावा (प्रोग्रामिंग भाषा) | जावा (प्रोग्रामिंग भाषा)]] प्रोग्रामिंग लैंग्वेज में, इन दो अवधारणाओं (कार्य की इकाई और निष्पादन की इकाई) को सीधे थ्रेड्स के साथ काम करते समय मिलाया जाता है, किन्तु [https://docs.oracle.com/javase/tutorial/] में स्पष्ट रूप से अलग किया जाता है। (आवश्यक/संगामिति/निष्पादक .एचटीएमएल निष्पादक) रूपरेखा: | ||
{{quote| | {{quote|जब आप सीधे थ्रेड्स के साथ काम करते हैं, <code>Thread</code> तो काम की एक इकाई और इसे निष्पादित करने के लिए तंत्र दोनों के रूप में कार्य करता है। निष्पादक ढांचे में, कार्य की इकाई और निष्पादन तंत्र अलग-अलग होते हैं। कुंजी अमूर्त कार्य की इकाई है, जिसे ''कार्य'' कहा जाता है<ref>{{cite book |author-link = Joshua Bloch |first = Joshua |last = Bloch |title = Effective Java |edition = Third |page=[https://books.google.com/books?id=BIpDDwAAQBAJ&lpg=PT431&ots=LwbKdbR4_b&dq=%22the%20key%20abstraction%20is%20the%20unit%20of%20work%22&pg=PT431#v=onepage&q=%22the%20key%20abstraction%20is%20the%20unit%20of%20work%22&f=false p. 272], Item 68}}</ref>}} | ||
===आईबीएम शब्दावली === | ===आईबीएम शब्दावली === | ||
आईबीएम शब्द का उपयोग प्रभावशाली रहा है, चूंकि शब्द की अस्पष्टता को रेखांकित करते हुए, आईबीएम शब्दावली में, कार्य के दर्जनों विशिष्ट अर्थ सम्मिलित हैं:<ref>IBM Terminology: [http://www-01.ibm.com/software/globalization/terminology/t.html T]</ref> | |||
* कार्य की एक इकाई जो प्रक्रिया के किसी | * कार्य की एक इकाई जो प्रक्रिया के किसी चरण का प्रतिनिधित्व करती है। | ||
* किसी उपकरण या प्रक्रिया द्वारा पूरा किए जाने वाले कार्य की एक | * किसी उपकरण या प्रक्रिया द्वारा पूरा किए जाने वाले कार्य की एक इकाई है। | ||
* एक प्रक्रिया और प्रक्रियाएँ जो प्रक्रिया को चलाती हैं। | * एक प्रक्रिया और प्रक्रियाएँ जो प्रक्रिया को चलाती हैं। | ||
* एक विशेष परिणाम प्राप्त करने के लिए डिज़ाइन किए गए कार्यों का | * एक विशेष परिणाम प्राप्त करने के लिए डिज़ाइन किए गए कार्यों का समूह। विशिष्ट समय पर लक्ष्यों के एक समूह पर एक कार्य किया जाता है। | ||
* गणना की एक इकाई। समानांतर कार्य में, दो या दो से अधिक समवर्ती कार्य संदेश पासिंग और साझा मेमोरी के माध्यम से एक साथ काम करते हैं। यद्यपि प्रत्येक भौतिक या तार्किक प्रोसेसर के लिए एक कार्य आवंटित करना | * गणना की एक इकाई। समानांतर कार्य में, दो या दो से अधिक समवर्ती कार्य संदेश पासिंग और साझा मेमोरी के माध्यम से एक साथ काम करते हैं। यद्यपि प्रत्येक भौतिक या तार्किक प्रोसेसर के लिए एक कार्य आवंटित करना सामान्य बात है, शब्द कार्य और प्रोसेसर विनिमेय नहीं हैं। | ||
* एक गतिविधि जिसका व्यावसायिक मूल्य है, एक उपयोगकर्ता द्वारा | * एक गतिविधि जिसका व्यावसायिक मूल्य है, एक उपयोगकर्ता द्वारा प्रारंभ की जाती है, और सॉफ्टवेयर द्वारा की जाती है। | ||
जेड/ओएस में विशेष रूप से, इसे ठीक से परिभाषित किया गया है:<ref>[http://www-01.ibm.com/support/knowledgecenter/zosbasics/com.ibm.zglossary.doc/zglossary.html Glossary of z/OS terms and abbreviations]: [http://www-01.ibm.com/support/knowledgecenter/zosbasics/com.ibm.zglossary.doc/zglossary.html#t T]</ref> | जेड/ओएस में विशेष रूप से, इसे ठीक से परिभाषित किया गया है:<ref>[http://www-01.ibm.com/support/knowledgecenter/zosbasics/com.ibm.zglossary.doc/zglossary.html Glossary of z/OS terms and abbreviations]: [http://www-01.ibm.com/support/knowledgecenter/zosbasics/com.ibm.zglossary.doc/zglossary.html#t T]</ref> | ||
* एक मल्टीप्रोग्रामिंग या | * एक मल्टीप्रोग्रामिंग या कार्यविधि वातावरण में, एक या एक से अधिक निर्देशों के अनुक्रम को नियंत्रण प्रोग्राम द्वारा कंप्यूटर द्वारा पूरा किए जाने वाले कार्य के अव्यव के रूप में माना जाता है। | ||
ओएस/360 में जेड/ओएस के माध्यम से शब्द कार्य मोटे तौर पर सरलतम प्रक्रिया के सामान्य है; कार्य चरण में कार्य एक पता स्थान साझा करते हैं। चूंकि, एमवीएस/ईएसए में जेड/ओएस के माध्यम से, कार्य या [[सेवा अनुरोध ब्लॉक]] (एसआरबी) की पहुँच सूची के माध्यम से अन्य पता स्थानों तक पहुँच हो सकती है। | |||
=== [[लिनक्स कर्नेल]] === | === [[लिनक्स कर्नेल]] === | ||
कार्य | कार्य अवधि का उपयोग लिनक्स कर्नेल में किया जाता है (कम से कम v2.6.13 के बाद से,<ref>{{cite web | ||
| title = <code>include/linux/sched.h</code> | | title = <code>include/linux/sched.h</code> | ||
| website = GitHub.com | | website = GitHub.com | ||
Line 38: | Line 37: | ||
| publisher = Linus Torvalds | | publisher = Linus Torvalds | ||
| date = October 3, 2016 | | date = October 3, 2016 | ||
| url = https://github.com/torvalds/linux/blob/v4.8/include/linux/sched.h }}</ref>) निष्पादन की | | url = https://github.com/torvalds/linux/blob/v4.8/include/linux/sched.h }}</ref>) निष्पादन की इकाई को संदर्भित करने के लिए, जो प्रणाली पर अन्य कार्यों के साथ विभिन्न प्रणाली संसाधनों को साझा कर सकती है। साझा करने के स्तर के आधार पर, कार्य को पारंपरिक थ्रेड (कंप्यूटिंग) या प्रक्रिया (कंप्यूटिंग) के रूप में माना जा सकता है। का उपयोग करके कार्यों को अस्तित्व में लाया जाता है <code>clone()</code> प्रणाली कॉल,<ref>{{cite journal | ||
| title = clone, __clone2 - create a child process | | title = clone, __clone2 - create a child process | ||
| journal = Linux Programmer's Manual | | journal = Linux Programmer's Manual | ||
Line 46: | Line 45: | ||
== इतिहास == | == इतिहास == | ||
1960 के दशक की | 1960 के दशक की प्रारंभ में जॉब के एक भाग के लिए टास्क शब्द [[ बहु क्रमादेशन |बहु क्रमादेशन]] के लिए था, जैसा कि 1961 के इस उदाहरण में है: | ||
{{quote | | {{quote |धारावाहिक मॉडल में [[आईबीएम 709]] के कामकाज के समान स्वतंत्र विधि से एक कार्य के कार्यों को संसाधित करने की क्षमता है।.<ref>{{cite book |title=Simultaneous multiprogramming of electronic computers |year=1961 |author=James Larrimore McKenney |page=[https://books.google.com/books?id=ThYcAQAAMAAJ&dq=%22tasks+of+one+job%22 154]}}</ref>}} | ||
यह शब्द | यह शब्द ओएस/360 और उत्तराधिकारी |ओएस/360 (घोषित 1964) की प्रारंभ के साथ लोकप्रिय हुआ, जिसमें ओएस/360 और उत्तराधिकारी #एमएफटी (एमएफटी) और ओएस/360 और उत्तराधिकारी #एमवीटी (एमवीटी) सम्मिलित थे। इस स्थिति में कार्यों को हल्की-फुल्की प्रक्रियाओं के साथ पहचाना गया, एक कार्य में कई कार्य सम्मिलित थे, और बाद में, कार्यों में उप-कार्य हो सकते थे (आधुनिक शब्दावली में, [[बाल प्रक्रिया]]एँ)। | ||
आज कार्य | आज कार्य अवधि का प्रयोग बहुत अस्पष्ट रूप से किया जाता है। उदाहरण के लिए, [[ विंडोज़ कार्य प्रबंधक |विंडोज़ कार्य प्रबंधक]] प्रक्रियाओं का प्रबंधन करता है (चल रहा है), जबकि [[विंडोज टास्क शेड्यूलर]] प्रोग्राम को भविष्य में निष्पादित करने के लिए शेड्यूल करता है, जिसे पारंपरिक रूप से [[ नौकरी अनुसूचक |नौकरी अनुसूचक]] के रूप में जाना जाता है, और इसका उपयोग करता है <code>.job</code> विस्तार। इसके विपरीत, कार्य कतार शब्द का प्रयोग सामान्यतः कार्य की इकाइयों के अर्थ में किया जाता है। | ||
== यह भी देखें == | == यह भी देखें == | ||
Line 60: | Line 59: | ||
{{Reflist}} | {{Reflist}} | ||
{{DEFAULTSORT:Task (Computing)}} | {{DEFAULTSORT:Task (Computing)}} | ||
[[Category:Created On 02/03/2023|Task (Computing)]] | |||
[[Category:Lua-based templates|Task (Computing)]] | |||
[[Category: Machine Translated Page]] | [[Category:Machine Translated Page|Task (Computing)]] | ||
[[Category: | [[Category:Pages with script errors|Task (Computing)]] | ||
[[Category:Short description with empty Wikidata description|Task (Computing)]] | |||
[[Category:Templates Vigyan Ready|Task (Computing)]] | |||
[[Category:Templates that add a tracking category|Task (Computing)]] | |||
[[Category:Templates that generate short descriptions|Task (Computing)]] | |||
[[Category:Templates using TemplateData|Task (Computing)]] | |||
[[Category:कंप्यूटिंग शब्दावली|Task (Computing)]] |
Latest revision as of 15:41, 16 March 2023
कंप्यूटर में, कार्य निष्पादन (कंप्यूटिंग) की इकाई या कार्य एक इकाई है। यह शब्द अस्पष्ट है; स्पष्ट वैकल्पिक शब्दों में प्रक्रिया (कंप्यूटिंग), सरलतम प्रक्रिया, थ्रेड (कंप्यूटिंग) (निष्पादन के लिए), स्टेप, अनुरोध-प्रतिक्रिया, या क्वेरी' सम्मिलित हैं। ' (काम के लिए)। आसन्न आरेख में, आने वाले कार्य और आउटगोइंग पूर्ण कार्य की कतार है, और इस कार्य को करने के लिए थ्रेड्स का थ्रेड पूल है। या तो स्वयं कार्य इकाइयाँ या कार्य करने वाले थ्रेड्स को कार्यों के रूप में संदर्भित किया जा सकता है, और इन्हें क्रमशः अनुरोध / प्रतिक्रिया / थ्रेड, आने वाले कार्य / पूर्ण कार्य / थ्रेड (जैसा कि सचित्र), या अनुरोध / प्रतिक्रिया / के रूप में संदर्भित किया जा सकता है।
शब्दावली
निष्पादन की इकाई के अर्थ में, कुछ ऑपरेटिंग सिस्टम में कार्य एक प्रक्रिया (कंप्यूटिंग) का पर्याय है, और अन्य में थ्रेड के साथ (कंप्यूटिंग). गैर-संवादात्मक निष्पादन (प्रचय संसाधन ) में,एक कार्य (कंप्यूटिंग) के अंदर निष्पादन की इकाई है,[1][2] कार्य के साथ सामान्यतः एक प्रक्रिया। कंप्यूटर बहुक्रियन शब्द मुख्य रूप से कार्यविधि सेंस को संदर्भित करता है - एक ही समय में निष्पादित होने वाले कई कार्य - किन्तु एक ही समय में किए जा रहे कई कार्यों की कार्य अभिप्राय की बारीकियाँ होती हैं।
कार्य की इकाई के अर्थ में, (अर्थात् कार्य का एक-एक टुकड़ा) कार्य चरण के अनुरूप हो सकता है (स्वयं चरण, उसके निष्पादन नहीं), जबकि बैच प्रसंस्करण में व्यक्तिगत कार्य एकल के अनुरूप हो सकते हैं एक बैच में एक आइटम को संसाधित करने का चरण, या बैच में सभी आइटम को संसाधित करने का चरण। ऑनलाइन प्रणाली में, कार्य सामान्यतः एक अनुरोध (अनुरोध-प्रतिक्रिया आर्किटेक्चर में) या क्वेरी (सूचना पुनर्प्राप्ति में) के अनुरूप होते हैं, या तो संचालन का चरण, या संपूर्ण प्रणाली-वाइड संचालन।
उदाहरण
जावा (प्रोग्रामिंग भाषा) प्रोग्रामिंग लैंग्वेज में, इन दो अवधारणाओं (कार्य की इकाई और निष्पादन की इकाई) को सीधे थ्रेड्स के साथ काम करते समय मिलाया जाता है, किन्तु [1] में स्पष्ट रूप से अलग किया जाता है। (आवश्यक/संगामिति/निष्पादक .एचटीएमएल निष्पादक) रूपरेखा:
जब आप सीधे थ्रेड्स के साथ काम करते हैं,
Thread
तो काम की एक इकाई और इसे निष्पादित करने के लिए तंत्र दोनों के रूप में कार्य करता है। निष्पादक ढांचे में, कार्य की इकाई और निष्पादन तंत्र अलग-अलग होते हैं। कुंजी अमूर्त कार्य की इकाई है, जिसे कार्य कहा जाता है[3]
आईबीएम शब्दावली
आईबीएम शब्द का उपयोग प्रभावशाली रहा है, चूंकि शब्द की अस्पष्टता को रेखांकित करते हुए, आईबीएम शब्दावली में, कार्य के दर्जनों विशिष्ट अर्थ सम्मिलित हैं:[4]
- कार्य की एक इकाई जो प्रक्रिया के किसी चरण का प्रतिनिधित्व करती है।
- किसी उपकरण या प्रक्रिया द्वारा पूरा किए जाने वाले कार्य की एक इकाई है।
- एक प्रक्रिया और प्रक्रियाएँ जो प्रक्रिया को चलाती हैं।
- एक विशेष परिणाम प्राप्त करने के लिए डिज़ाइन किए गए कार्यों का समूह। विशिष्ट समय पर लक्ष्यों के एक समूह पर एक कार्य किया जाता है।
- गणना की एक इकाई। समानांतर कार्य में, दो या दो से अधिक समवर्ती कार्य संदेश पासिंग और साझा मेमोरी के माध्यम से एक साथ काम करते हैं। यद्यपि प्रत्येक भौतिक या तार्किक प्रोसेसर के लिए एक कार्य आवंटित करना सामान्य बात है, शब्द कार्य और प्रोसेसर विनिमेय नहीं हैं।
- एक गतिविधि जिसका व्यावसायिक मूल्य है, एक उपयोगकर्ता द्वारा प्रारंभ की जाती है, और सॉफ्टवेयर द्वारा की जाती है।
जेड/ओएस में विशेष रूप से, इसे ठीक से परिभाषित किया गया है:[5]
- एक मल्टीप्रोग्रामिंग या कार्यविधि वातावरण में, एक या एक से अधिक निर्देशों के अनुक्रम को नियंत्रण प्रोग्राम द्वारा कंप्यूटर द्वारा पूरा किए जाने वाले कार्य के अव्यव के रूप में माना जाता है।
ओएस/360 में जेड/ओएस के माध्यम से शब्द कार्य मोटे तौर पर सरलतम प्रक्रिया के सामान्य है; कार्य चरण में कार्य एक पता स्थान साझा करते हैं। चूंकि, एमवीएस/ईएसए में जेड/ओएस के माध्यम से, कार्य या सेवा अनुरोध ब्लॉक (एसआरबी) की पहुँच सूची के माध्यम से अन्य पता स्थानों तक पहुँच हो सकती है।
लिनक्स कर्नेल
कार्य अवधि का उपयोग लिनक्स कर्नेल में किया जाता है (कम से कम v2.6.13 के बाद से,[6] v4.8 तक और सहित[7]) निष्पादन की इकाई को संदर्भित करने के लिए, जो प्रणाली पर अन्य कार्यों के साथ विभिन्न प्रणाली संसाधनों को साझा कर सकती है। साझा करने के स्तर के आधार पर, कार्य को पारंपरिक थ्रेड (कंप्यूटिंग) या प्रक्रिया (कंप्यूटिंग) के रूप में माना जा सकता है। का उपयोग करके कार्यों को अस्तित्व में लाया जाता है clone()
प्रणाली कॉल,[8] जहां उपयोगकर्ता संसाधन साझाकरण के वांछित स्तर को निर्दिष्ट कर सकता है।
इतिहास
1960 के दशक की प्रारंभ में जॉब के एक भाग के लिए टास्क शब्द बहु क्रमादेशन के लिए था, जैसा कि 1961 के इस उदाहरण में है:
धारावाहिक मॉडल में आईबीएम 709 के कामकाज के समान स्वतंत्र विधि से एक कार्य के कार्यों को संसाधित करने की क्षमता है।.[9]
यह शब्द ओएस/360 और उत्तराधिकारी |ओएस/360 (घोषित 1964) की प्रारंभ के साथ लोकप्रिय हुआ, जिसमें ओएस/360 और उत्तराधिकारी #एमएफटी (एमएफटी) और ओएस/360 और उत्तराधिकारी #एमवीटी (एमवीटी) सम्मिलित थे। इस स्थिति में कार्यों को हल्की-फुल्की प्रक्रियाओं के साथ पहचाना गया, एक कार्य में कई कार्य सम्मिलित थे, और बाद में, कार्यों में उप-कार्य हो सकते थे (आधुनिक शब्दावली में, बाल प्रक्रियाएँ)।
आज कार्य अवधि का प्रयोग बहुत अस्पष्ट रूप से किया जाता है। उदाहरण के लिए, विंडोज़ कार्य प्रबंधक प्रक्रियाओं का प्रबंधन करता है (चल रहा है), जबकि विंडोज टास्क शेड्यूलर प्रोग्राम को भविष्य में निष्पादित करने के लिए शेड्यूल करता है, जिसे पारंपरिक रूप से नौकरी अनुसूचक के रूप में जाना जाता है, और इसका उपयोग करता है .job
विस्तार। इसके विपरीत, कार्य कतार शब्द का प्रयोग सामान्यतः कार्य की इकाइयों के अर्थ में किया जाता है।
यह भी देखें
- कार्य समानता
- कार्य कतार
संदर्भ
- ↑ "What is task? - Definition from WhatIs.com". WhatIs.com. Retrieved June 11, 2015.
- ↑ "What are computer processes?". liutilities.com. Retrieved June 11, 2015.
- ↑ Bloch, Joshua. Effective Java (Third ed.). p. p. 272, Item 68.
- ↑ IBM Terminology: T
- ↑ Glossary of z/OS terms and abbreviations: T
- ↑ "
include/linux/sched.h
". GitHub.com. Linus Torvalds. August 29, 2005. - ↑ "
include/linux/sched.h
". GitHub.com. Linus Torvalds. October 3, 2016. - ↑ "clone, __clone2 - create a child process". Linux Programmer's Manual. July 17, 2016. Retrieved November 6, 2016.
- ↑ James Larrimore McKenney (1961). Simultaneous multiprogramming of electronic computers. p. 154.