टास्क (कंप्यूटिंग)

From Vigyanwiki
Revision as of 14:18, 2 March 2023 by alpha>Indicwiki (Created page with "{{Short description|Unit of execution or work in software}} {{Use mdy dates|date=June 2015}} File:Thread pool.svg|thumb|400px|कार्य की इकाई के र...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

कार्य की इकाई के रूप में कार्य के अर्थ में प्रतीक्षा कार्यों (नीला) और पूर्ण कार्यों (पीला) की कार्य कतारों के साथ एक नमूना धागा पूल (हरा बॉक्स)।

कंप्यूटर में, एक कार्य निष्पादन (कंप्यूटिंग) की एक इकाई या कार्य की एक इकाई है। शब्द अस्पष्ट है; सटीक वैकल्पिक शब्दों में प्रक्रिया (कंप्यूटिंग), हल्के वजन की प्रक्रिया, थ्रेड (कंप्यूटिंग) (निष्पादन के लिए), स्टेप, अनुरोध-प्रतिक्रिया, या क्वेरी' शामिल हैं। ' (काम के लिए)। आसन्न आरेख में, आने वाले कार्य और आउटगोइंग पूर्ण कार्य की कार्य कतार है, और इस कार्य को करने के लिए थ्रेड्स का एक थ्रेड पूल है। या तो स्वयं कार्य इकाइयाँ या कार्य करने वाले थ्रेड्स को कार्यों के रूप में संदर्भित किया जा सकता है, और इन्हें क्रमशः अनुरोध / प्रतिक्रिया / थ्रेड, आने वाले कार्य / पूर्ण कार्य / थ्रेड (जैसा कि सचित्र), या अनुरोध / प्रतिक्रिया / के रूप में संदर्भित किया जा सकता है। कार्यों।

शब्दावली

निष्पादन की इकाई के अर्थ में, कुछ ऑपरेटिंग सिस्टम में, एक कार्य एक प्रक्रिया (कंप्यूटिंग) का पर्याय है[citation needed], और अन्य में थ्रेड के साथ (कंप्यूटिंग)[citation needed]. गैर-संवादात्मक निष्पादन (प्रचय संसाधन ) में, एक कार्य एक कार्य (कंप्यूटिंग) के भीतर निष्पादन की एक इकाई है,[1][2] कार्य के साथ आमतौर पर एक प्रक्रिया। कंप्यूटर मल्टीटास्किंग शब्द मुख्य रूप से प्रोसेसिंग सेंस को संदर्भित करता है - एक ही समय में निष्पादित होने वाले कई कार्य - लेकिन एक ही समय में किए जा रहे कई कार्यों की कार्य भावना की बारीकियाँ होती हैं।

कार्य की इकाई के अर्थ में, कार्य में (अर्थात् कार्य का एक-एक टुकड़ा) एक कार्य एक चरण के अनुरूप हो सकता है (स्वयं चरण, उसके निष्पादन नहीं), जबकि बैच प्रसंस्करण में व्यक्तिगत कार्य एकल के अनुरूप हो सकते हैं एक बैच में एक आइटम को संसाधित करने का चरण, या बैच में सभी आइटम को संसाधित करने का एक चरण। ऑनलाइन सिस्टम में, कार्य आमतौर पर एक अनुरोध (अनुरोध-प्रतिक्रिया आर्किटेक्चर में) या एक क्वेरी (सूचना पुनर्प्राप्ति में) के अनुरूप होते हैं, या तो हैंडलिंग का एक चरण, या संपूर्ण सिस्टम-वाइड हैंडलिंग।

उदाहरण

जावा (प्रोग्रामिंग भाषा) प्रोग्रामिंग लैंग्वेज में, इन दो अवधारणाओं (कार्य की इकाई और निष्पादन की इकाई) को सीधे थ्रेड्स के साथ काम करते समय मिलाया जाता है, लेकिन [1] में स्पष्ट रूप से अलग किया जाता है। आवश्यक/संगामिति/निष्पादक.html निष्पादक] ढांचा:

When you work directly with threads, a Thread serves as both a unit of work and the mechanism for executing it. In the executor framework, the unit of work and the execution mechanism are separate. The key abstraction is the unit of work, which is called a task.[3]

आईबीएम शब्दावली

आईबीएम|आईबीएम शब्द का उपयोग प्रभावशाली रहा है, हालांकि शब्द की अस्पष्टता को रेखांकित करते हुए, आईबीएम शब्दावली में, कार्य के दर्जनों विशिष्ट अर्थ हैं, जिनमें शामिल हैं:[4]

  • कार्य की एक इकाई जो प्रक्रिया के किसी एक चरण का प्रतिनिधित्व करती है।
  • किसी उपकरण या प्रक्रिया द्वारा पूरा किए जाने वाले कार्य की एक इकाई।
  • एक प्रक्रिया और प्रक्रियाएँ जो प्रक्रिया को चलाती हैं।
  • एक विशेष परिणाम प्राप्त करने के लिए डिज़ाइन किए गए कार्यों का एक सेट। एक विशिष्ट समय पर लक्ष्यों के एक सेट पर एक कार्य किया जाता है।
  • गणना की एक इकाई। समानांतर कार्य में, दो या दो से अधिक समवर्ती कार्य संदेश पासिंग और साझा मेमोरी के माध्यम से एक साथ काम करते हैं। यद्यपि प्रत्येक भौतिक या तार्किक प्रोसेसर के लिए एक कार्य आवंटित करना आम बात है, शब्द कार्य और प्रोसेसर विनिमेय नहीं हैं।
  • एक गतिविधि जिसका व्यावसायिक मूल्य है, एक उपयोगकर्ता द्वारा शुरू की जाती है, और सॉफ्टवेयर द्वारा की जाती है।

जेड/ओएस में विशेष रूप से, इसे ठीक से परिभाषित किया गया है:[5]

  • एक मल्टीप्रोग्रामिंग या मल्टीप्रोसेसिंग वातावरण में, एक या एक से अधिक निर्देशों के अनुक्रम को एक नियंत्रण कार्यक्रम द्वारा एक कंप्यूटर द्वारा पूरा किए जाने वाले कार्य के एक तत्व के रूप में माना जाता है।

OS/360 में z/OS के माध्यम से शब्द कार्य मोटे तौर पर हल्के वजन की प्रक्रिया के बराबर है; कार्य चरण में कार्य एक पता स्थान साझा करते हैं। हालाँकि, MVS/ESA में z/OS के माध्यम से, एक कार्य या सेवा अनुरोध ब्लॉक (SRB) की पहुँच सूची के माध्यम से अन्य पता स्थानों तक पहुँच हो सकती है।

लिनक्स कर्नेल

कार्य शब्द का उपयोग लिनक्स कर्नेल में किया जाता है (कम से कम v2.6.13 के बाद से,[6] v4.8 तक और सहित[7]) निष्पादन की एक इकाई को संदर्भित करने के लिए, जो सिस्टम पर अन्य कार्यों के साथ विभिन्न सिस्टम संसाधनों को साझा कर सकती है। साझा करने के स्तर के आधार पर, कार्य को पारंपरिक थ्रेड (कंप्यूटिंग) या प्रक्रिया (कंप्यूटिंग) के रूप में माना जा सकता है। का उपयोग करके कार्यों को अस्तित्व में लाया जाता है clone() सिस्टम कॉल,[8] जहां उपयोगकर्ता संसाधन साझाकरण के वांछित स्तर को निर्दिष्ट कर सकता है।

इतिहास

1960 के दशक की शुरुआत में जॉब के एक हिस्से के लिए टास्क शब्द बहु क्रमादेशन के लिए था, जैसा कि 1961 के इस उदाहरण में है:

The serial model has the ability to process tasks of one job in an independent manner similar to the functioning of the IBM 709.[9]

यह शब्द OS/360 और उत्तराधिकारी |OS/360 (घोषित 1964) की शुरुआत के साथ लोकप्रिय हुआ, जिसमें OS/360 और उत्तराधिकारी #MFT (MFT) और OS/360 और उत्तराधिकारी #MVT (MVT) शामिल थे। इस मामले में कार्यों को हल्की-फुल्की प्रक्रियाओं के साथ पहचाना गया, एक कार्य में कई कार्य शामिल थे, और बाद में, कार्यों में उप-कार्य हो सकते थे (आधुनिक शब्दावली में, बाल प्रक्रियाएँ)।

आज कार्य शब्द का प्रयोग बहुत अस्पष्ट रूप से किया जाता है। उदाहरण के लिए, विंडोज़ कार्य प्रबंधक प्रक्रियाओं का प्रबंधन करता है (चल रहा है), जबकि विंडोज टास्क शेड्यूलर प्रोग्राम को भविष्य में निष्पादित करने के लिए शेड्यूल करता है, जिसे पारंपरिक रूप से नौकरी अनुसूचक के रूप में जाना जाता है, और इसका उपयोग करता है .job विस्तार। इसके विपरीत, कार्य कतार शब्द का प्रयोग आमतौर पर कार्य की इकाइयों के अर्थ में किया जाता है।

यह भी देखें

संदर्भ

  1. "What is task? - Definition from WhatIs.com". WhatIs.com. Retrieved June 11, 2015.
  2. "What are computer processes?". liutilities.com. Retrieved June 11, 2015.
  3. Bloch, Joshua. Effective Java (Third ed.). p. p. 272, Item 68.
  4. IBM Terminology: T
  5. Glossary of z/OS terms and abbreviations: T
  6. "include/linux/sched.h". GitHub.com. Linus Torvalds. August 29, 2005.
  7. "include/linux/sched.h". GitHub.com. Linus Torvalds. October 3, 2016.
  8. "clone, __clone2 - create a child process". Linux Programmer's Manual. July 17, 2016. Retrieved November 6, 2016.
  9. James Larrimore McKenney (1961). Simultaneous multiprogramming of electronic computers. p. 154.