पूर्वक्रय (कम्प्यूटिंग): Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
 
(8 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Short description|Temporarily interrupting a computer task}}[[ कम्प्यूटिंग |कम्प्यूटिंग]] में, '''पूर्वक्रय''' एक क्रियान्वित [[कार्य (कंप्यूटिंग)|कार्य]] को अस्थायी रूप से बाधित करने का कार्य है, जिसे बाद में फिर से शुरू करने के उद्देश से किया जाता है। यह रुकावट एक बाहरी अनुसूचक द्वारा बिना किसी सहायता या कार्य के सहयोग के किया जाता है।<ref name="Tanenbaum 2015">{{cite book | last=Tanenbaum | first=Andrew | title=आधुनिक ऑपरेटिंग सिस्टम| publisher=Pearson | publication-place=Boston | year=2015 | isbn=978-0-13-359162-0 | oclc=870646449 | language=en}}</ref>{{rp|153}} यह प्रीमेप्टिव शेड्यूलर आमतौर पर सबसे विशेषाधिकार प्राप्त सुरक्षा रिंग में चलता है, जिसका अर्थ है कि रुकावट और फिर से शुरू होना बेहद सुरक्षित क्रियाएं मानी जाती हैं। एक [[प्रोसेसर (कंप्यूटिंग)|प्रोसेसर]] के वर्तमान में निष्पादित कार्य में इस तरह के परिवर्तन को संदर्भ स्विचिंग के रूप में जाना जाता है।
{{Short description|Temporarily interrupting a computer task}}[[ कम्प्यूटिंग |कम्प्यूटिंग]] में, प्रिएम्पशन  ('''पूर्वक्रय)''' एक क्रियान्वित [[कार्य (कंप्यूटिंग)|कार्य]] को अस्थायी रूप से बाधित करने का कार्य है, जिसे बाद में फिर से प्रारम्भ करने के उद्देश से किया जाता है। यह रुकावट एक बाहरी अनुसूचक द्वारा बिना किसी सहायता या कार्य के सहयोग के किया जाता है।<ref name="Tanenbaum 2015">{{cite book | last=Tanenbaum | first=Andrew | title=आधुनिक ऑपरेटिंग सिस्टम| publisher=Pearson | publication-place=Boston | year=2015 | isbn=978-0-13-359162-0 | oclc=870646449 | language=en}}</ref>{{rp|153}} यह प्रीमेप्टिव शेड्यूलर सामान्यतः सबसे विशेषाधिकार प्राप्त सुरक्षा रिंग में चलता है, जिसका अर्थ है कि रुकावट और फिर से प्रारम्भ होना बेहद सुरक्षित क्रियाएं मानी जाती हैं। [[प्रोसेसर (कंप्यूटिंग)|प्रोसेसर]] के वर्तमान में निष्पादित कार्य में इस तरह के परिवर्तन को संदर्भ स्विचिंग के रूप में जाना जाता है।


== उपयोगकर्ता मोड और कर्नेल मोड ==
== उपयोगकर्ता मोड और कर्नेल मोड ==
{{see also|कर्नेल पूर्वक्रय}}
{{see also|कर्नेल पूर्वक्रय}}


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


अधिकांश आधुनिक ऑपरेटिंग सिस्टम में प्रीमेप्टिव कर्नेल होते हैं, जिन्हें कर्नेल मोड में होने पर भी कार्यों को प्रीमेप्ट करने के लिए डिज़ाइन किया गया है। ऐसे ऑपरेटिंग सिस्टम के उदाहरण हैं [[सोलारिस (ऑपरेटिंग सिस्टम)|सोलारिस]] 2.0/सनओएस 5.0,<ref>{{cite journal |author-first1=S. |author-last1=Khanna |author-first2=M. |author-last2=Sebree |author-first3=J. |author-last3=Zolnovsky |title=Realtime scheduling in SunOS 5.0 |journal=Proceedings of the USENIX Winter Conference, 1992 |pages=375–390}}</ref> [[विंडोज एनटी]], [[लिनक्स कर्नेल]] (2.5.4 और नए),<ref>{{cite web |title=Release notes for v2.5.4 |url=https://cdn.kernel.org/pub/linux/kernel/v2.5/ChangeLog-2.5.4 |website=The Linux Kernel Archives |publisher=Linux Kernel Organization, Inc. |access-date=2021-07-03}}</ref> एआईएक्स और कुछ बीएसडी सिस्टम (नेटबीएसडी, संस्करण 5 से)।
अधिकांश आधुनिक ऑपरेटिंग सिस्टम में '''प्रीमेप्टिव कर्नेल''' होते हैं, जिन्हें कर्नेल मोड में होने पर भी कार्यों को प्रीमेप्ट करने के लिए डिज़ाइन किया गया है। ऐसे ऑपरेटिंग सिस्टम के उदाहरण हैं [[सोलारिस (ऑपरेटिंग सिस्टम)|सोलारिस]] 2.0/सनओएस 5.0,<ref>{{cite journal |author-first1=S. |author-last1=Khanna |author-first2=M. |author-last2=Sebree |author-first3=J. |author-last3=Zolnovsky |title=Realtime scheduling in SunOS 5.0 |journal=Proceedings of the USENIX Winter Conference, 1992 |pages=375–390}}</ref> [[विंडोज एनटी]], [[लिनक्स कर्नेल]] (2.5.4 और नए),<ref>{{cite web |title=Release notes for v2.5.4 |url=https://cdn.kernel.org/pub/linux/kernel/v2.5/ChangeLog-2.5.4 |website=The Linux Kernel Archives |publisher=Linux Kernel Organization, Inc. |access-date=2021-07-03}}</ref> एआईएक्स और कुछ बीएसडी सिस्टम (नेटबीएसडी, संस्करण 5 से)।


== {{Anchor|PREEMPTIVE}प्रीमेप्टिव मल्टीटास्किंग ==
== प्रीमेप्टिव मल्टीटास्किंग ==
प्रीमेप्टिव मल्टीटास्किंग शब्द का उपयोग एक [[कंप्यूटर मल्टीटास्किंग]] को अलग करने के लिए किया जाता है, जो [[सहकारी मल्टीटास्किंग]] सिस्टम से कार्यों के प्रीमेशन की अनुमति देता है, जिसमें प्रक्रियाओं या कार्यों को स्पष्ट रूप से [[ उपज (मल्टीथ्रेडिंग) ]] के लिए प्रोग्राम किया जाना चाहिए, जब उन्हें सिस्टम संसाधनों की आवश्यकता नहीं होती है।
प्रीमेप्टिव मल्टीटास्किंग (बहुकार्यन) शब्द का उपयोग [[कंप्यूटर मल्टीटास्किंग|मल्टीटास्किंग]] ऑपरेटिंग सिस्टम को अलग करने के लिए किया जाता है, जो एक सहकारी मल्टीटास्किंग सिस्टम से कार्यों के प्रीमेशन की अनुमति देता है, जिसमें प्रक्रियाओं या कार्यों को स्पष्ट रूप से प्रोग्राम किया जाना चाहिए ताकि उन्हें सिस्टम संसाधनों की आवश्यकता न हो।


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


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


प्रीमेप्टिव मल्टीटास्किंग शब्द का उपयोग कभी-कभी गलती से किया जाता है, जब इच्छित अर्थ अधिक विशिष्ट होता है, इसके बजाय शेड्यूलिंग नीतियों के वर्ग को 'टाइम-शेयर्ड शेड्यूलिंग' या '[[ समय बताना ]]' के रूप में जाना जाता है।
प्रीमेप्टिव मल्टीटास्किंग शब्द का उपयोग कभी-कभी गलती से किया जाता है, जब इच्छित अर्थ अधिक विशिष्ट होता है, इसके बजाय शेड्यूलिंग नीतियों के वर्ग को 'टाइम-शेयर्ड शेड्यूलिंग' या '[[ समय बताना |टाइम-शेयरिंग]]' के रूप में जाना जाता है।


प्रीमेप्टिव मल्टीटास्किंग कंप्यूटर सिस्टम को प्रत्येक प्रक्रिया को ऑपरेटिंग समय के नियमित स्लाइस की अधिक मज़बूती से गारंटी देने की अनुमति देता है। यह सिस्टम को आने वाले डेटा जैसी महत्वपूर्ण बाहरी घटनाओं से तेजी से निपटने की अनुमति देता है, जिसके लिए एक या दूसरी प्रक्रिया पर तत्काल ध्यान देने की आवश्यकता हो सकती है।
प्रीमेप्टिव मल्टीटास्किंग कंप्यूटर सिस्टम को ऑपरेटिंग समय के नियमित "स्लाइस" की प्रत्येक प्रक्रिया को अधिक विश्वसनीय रूप से गारंटी देने की अनुमति देता है। यह सिस्टम को आने वाले डेटा जैसी महत्वपूर्ण बाहरी घटनाओं से तेजी से निपटने की अनुमति देता है, जिसके लिए एक या किसी अन्य प्रक्रिया पर तत्काल ध्यान देने की आवश्यकता हो सकती है।


किसी भी विशिष्ट समय पर, प्रक्रियाओं को दो श्रेणियों में बांटा जा सकता है: वे जो इनपुट या आउटपुट की प्रतीक्षा कर रहे हैं (जिन्हें I/O बाउंड कहा जाता है), और वे जो पूरी तरह से CPU (CPU बाउंड) का उपयोग कर रहे हैं। प्रारंभिक प्रणालियों में, प्रक्रियाएं अक्सर [[मतदान (कंप्यूटर विज्ञान)]] या व्यस्त प्रतीक्षा | व्यस्त-प्रतीक्षा अनुरोधित इनपुट (जैसे डिस्क, कीबोर्ड या नेटवर्क इनपुट) की प्रतीक्षा करते समय होती हैं। इस समय के दौरान, प्रक्रिया उपयोगी कार्य नहीं कर रही थी, लेकिन फिर भी सीपीयू पर पूर्ण नियंत्रण बनाए रखा। इंटरप्टिव और प्रीमेप्टिव मल्टीटास्किंग के आगमन के साथ, इन I/O बाध्य प्रक्रियाओं को अवरुद्ध किया जा सकता है, या आवश्यक डेटा के आगमन को लंबित रखा जा सकता है, जिससे अन्य प्रक्रियाओं को CPU का उपयोग करने की अनुमति मिलती है। चूंकि अनुरोधित डेटा के आगमन में बाधा उत्पन्न होगी, अवरुद्ध प्रक्रियाओं को निष्पादन पर समय पर वापसी की गारंटी दी जा सकती है।
किसी भी विशिष्ट समय पर, प्रक्रियाओं को दो श्रेणियों में बांटा जा सकता है: वे जो इनपुट या आउटपुट की प्रतीक्षा कर रहे हैं ("आई/बाउंड" कहा जाता है), और वे जो पूरी तरह से सीपीयू ("सीपीयू बाउंड") का उपयोग कर रहे हैं। प्रारंभिक प्रणालियों में, अनुरोधित इनपुट (जैसे डिस्क, कीबोर्ड या नेटवर्क इनपुट) की प्रतीक्षा करते समय प्रक्रियाएँ प्रायः "पोल" या "व्यस्त-प्रतीक्षा" होती हैं। इस समय के दौरान, प्रक्रिया उपयोगी कार्य नहीं कर रही थी, लेकिन फिर भी सीपीयू पर पूर्ण नियंत्रण बनाए रखा। इंटरप्टिव और प्रीमेप्टिव मल्टीटास्किंग के आगमन के साथ, इन I/O बाध्य प्रक्रियाओं को "अवरुद्ध" किया जा सकता है, या होल्ड पर रखा जा सकता है, आवश्यक डेटा के आगमन के लंबित होने पर, अन्य प्रक्रियाओं को सीपीयू का उपयोग करने की अनुमति देता है। जैसा कि अनुरोधित डेटा के आगमन में बाधा उत्पन्न होगी, अवरुद्ध प्रक्रियाओं को निष्पादन के लिए समय पर वापसी की गारंटी दी जा सकती है।


हालाँकि मल्टीटास्किंग तकनीक मूल रूप से कई उपयोगकर्ताओं को एक मशीन साझा करने की अनुमति देने के लिए विकसित की गई थी, यह स्पष्ट हो गया कि मल्टीटास्किंग उपयोगकर्ताओं की संख्या की परवाह किए बिना उपयोगी थी। कई ऑपरेटिंग सिस्टम, मेनफ्रेम डाउन से लेकर सिंगल-यूजर पर्सनल कंप्यूटर और नो-यूजर [[ नियंत्रण प्रणाली ]] (जैसे कि [[कच्चा अंतरिक्ष यान]] में), ने कई कारणों से मल्टीटास्किंग सपोर्ट की उपयोगिता को पहचाना है। मल्टीटास्किंग एक ही उपयोगकर्ता के लिए एक ही समय में कई एप्लिकेशन चलाना या कंप्यूटर पर नियंत्रण बनाए रखते हुए पृष्ठभूमि प्रक्रियाओं को चलाना संभव बनाता है।
हालांकि मल्टीटास्किंग तकनीकों को मूल रूप से कई उपयोगकर्ताओं को मशीन साझा करने की अनुमति देने के लिए विकसित किया गया था, यह स्पष्ट हो गया कि उपयोगकर्ताओं की संख्या की परवाह किए बिना मल्टीटास्किंग उपयोगी थी। कई ऑपरेटिंग सिस्टम, मेनफ्रेम डाउन से लेकर सिंगल-यूज़र पर्सनल कंप्यूटर और नो-यूज़र कंट्रोल सिस्टम (जैसे रोबोटिक अंतरिक्ष यान में), ने कई कारणों से मल्टीटास्किंग सपोर्ट की उपयोगिता को पहचाना है। मल्टीटास्किंग एक ही उपयोगकर्ता के लिए एक ही समय में कई एप्लिकेशन चलाना संभव बनाता है, या कंप्यूटर पर नियंत्रण बनाए रखते हुए "पृष्ठभूमि" प्रक्रियाओं को चलाने के लिए संभव बनाता है।


=== समय का टुकड़ा ===
=== टाइम स्लाइस ===
{{Redirect|Time slice|other uses|Timeslicing (disambiguation){{!}}Timeslicing}}
{{Redirect|टाइम स्लाइस |अन्य उपयोग|टाइमस्लाइसिंग (बहुविकल्पी){{!}}टाइमस्लाइसिंग}}


समय की अवधि जिसके लिए एक प्रीमेप्टिव मल्टीटास्किंग सिस्टम में एक प्रक्रिया को चलने की अनुमति दी जाती है, उसे आमतौर पर टाइम स्लाइस या क्वांटम कहा जाता है।{{r|Tanenbaum 2015|p=158}} चलाने के लिए अगली प्रक्रिया को चुनने के लिए शेड्यूलर को हर बार स्लाइस में एक बार चलाया जाता है। प्रत्येक समय स्लाइस की लंबाई सिस्टम प्रदर्शन बनाम प्रक्रिया जवाबदेही को संतुलित करने के लिए महत्वपूर्ण हो सकती है - यदि समय का टुकड़ा बहुत छोटा है, तो अनुसूचक बहुत अधिक प्रसंस्करण समय का उपभोग करेगा, लेकिन यदि समय का टुकड़ा बहुत लंबा है, तो प्रक्रियाओं को प्रतिक्रिया देने में अधिक समय लगेगा इनपुट।
प्रीमेप्टिव मल्टीटास्किंग सिस्टम में जिस समय के लिए एक प्रक्रिया को चलाने की अनुमति दी जाती है, उसे सामान्यतः टाइम स्लाइस या क्वांटम कहा जाता है।{{r|Tanenbaum 2015|p=158}} चलाने के लिए अगली प्रक्रिया को चुनने के लिए शेड्यूलर हर बार स्लाइस में एक बार चलता है। प्रत्येक बार स्लाइस की लंबाई सिस्टम के प्रदर्शन बनाम प्रक्रिया की प्रतिक्रिया को संतुलित करने के लिए महत्वपूर्ण हो सकती है - यदि समय का टुकड़ा बहुत छोटा है, तो अनुसूचक बहुत अधिक प्रसंस्करण समय का उपभोग करेगा, लेकिन यदि समय का टुकड़ा बहुत लंबा है, तो इनपुट पर प्रतिक्रिया देने में प्रक्रियाओं को अधिक समय लगेगा।


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


=== सिस्टम सपोर्ट ===
=== सिस्टम सपोर्ट ===
आज, लगभग सभी ऑपरेटिंग सिस्टम [[Microsoft Windows]], [[macOS]], [[Linux]] ([[Android (ऑपरेटिंग सिस्टम)]] सहित) और [[iOS]] के वर्तमान संस्करणों सहित प्रीमेप्टिव मल्टीटास्किंग का समर्थन करते हैं।
आज, लगभग सभी ऑपरेटिंग सिस्टम विंडोज, मैकओएस, लिनक्स (एंड्रॉइड सहित) और आईओएस के वर्तमान संस्करणों सहित प्रीमेप्टिव मल्टीटास्किंग का समर्थन करते हैं।


प्रीमेप्टिव मल्टीटास्किंग की विशेषता वाले घरेलू उपयोगकर्ताओं के लिए उपलब्ध कुछ शुरुआती ऑपरेटिंग सिस्टम सिंक्लेयर QDOS थे{{Citation needed|date=March 2023}} (1984<ref>{{Cite web|url=http://www.staff.uni-mainz.de/roklein/ql/Firmware|title=QL History FAQ: Firmware}}</ref>) और [[AmigaOS]] (1985)ये दोनों मेमोरी प्रबंधन के बिना [[मोटोरोला 68000]]-फ़ैमिली [[माइक्रोप्रोसेसर]]ों पर चलते थे। अमिगा ओएस ने एक ही फ्लैट एड्रेस स्पेस में सभी प्रक्रियाओं को प्रीमेप्टिवली मल्टीटास्क करने के लिए रिलोकेटेबल कोड ब्लॉक ([[ दोस्त हंक ]] अमिगा शब्दजाल में) [[की]] [[गतिशील लोडिंग]] का इस्तेमाल किया।
प्रीमेप्टिव मल्टीटास्किंग की सुविधा वाले घरेलू उपयोगकर्ताओं के लिए उपलब्ध कुछ प्रारंभिक ऑपरेटिंग सिस्टम सिंक्लेयर क्यूडीओएस (1984<ref>{{Cite web|url=http://www.staff.uni-mainz.de/roklein/ql/Firmware|title=QL History FAQ: Firmware}}</ref>) और एमिगाओएस (1985) थे। ये दोनों [[मोटोरोला 68000]]-फ़ैमिली [[माइक्रोप्रोसेसर|माइक्रोप्रोसेसरों]] पर मेमोरी प्रबंधन के बिना चलते थे। अमिगा ओएस ने एक ही फ्लैट एड्रेस स्पेस में सभी प्रक्रियाओं को प्रीमेप्टिवली मल्टीटास्क करने के लिए रिलोकेबल कोड ब्लॉक्स (अमिगा शब्दजाल में "हंक्स") की डायनेमिक लोडिंग का उपयोग किया।


आरंभिक IBM PC संगत ऑपरेटिंग सिस्टम जैसे [[MS-DOS]] और [[IBM PC DOS]], मल्टीटास्किंग का बिल्कुल भी समर्थन नहीं करते थे, हालाँकि वैकल्पिक ऑपरेटिंग सिस्टम जैसे MP/M-86 (1981) और समवर्ती CP/M-86 ने प्रीमेप्टिव मल्टीटास्किंग का समर्थन किया था। [[मिनिक्स]] और [[सुसंगत (ऑपरेटिंग सिस्टम)]] सहित अन्य यूनिक्स जैसी प्रणालियों ने 1980 के दशक के व्यक्तिगत कंप्यूटरों पर प्रीमेप्टिव मल्टीटास्किंग प्रदान की।
प्रारंभिक पीसी ऑपरेटिंग सिस्टम जैसे एमएस-डॉस और पीसी डॉस, मल्टीटास्किंग का समर्थन बिल्कुल नहीं करते थे, हालाँकि वैकल्पिक ऑपरेटिंग सिस्टम जैसे एमपी/एम-86 (1981) और समवर्ती सीपी/एम-86 ने प्रीमेप्टिव मल्टीटास्किंग का समर्थन किया था। [[मिनिक्स]] और [[सुसंगत (ऑपरेटिंग सिस्टम)|सुसंगत]] सहित अन्य यूनिक्स जैसी प्रणालियों ने 1980 के दशक के पर्सनल कंप्यूटरों पर प्रीमेप्टिव मल्टीटास्किंग प्रदान किया।


बाद के डॉस संस्करण मूल रूप से प्रीमेप्टिव मल्टीटास्किंग/मल्टीथ्रेडिंग का समर्थन करते हैं जिसमें [[समवर्ती डॉस]], [[बहुउपयोगकर्ता डॉस]], [[उपन्यास दो]] (जिसे बाद में [[काल्डेरा ओपनडोस]] और [[DR-डॉस]] 7.02 और उच्चतर कहा जाता है) शामिल हैं। समवर्ती डॉस 386 के बाद से, वे [[वर्चुअल डॉस मशीन]]ों में समवर्ती रूप से कई डॉस प्रोग्राम भी चला सकते थे।
बाद के डॉस संस्करण मूल रूप से प्रीमेप्टिव मल्टीटास्किंग/मल्टीथ्रेडिंग का समर्थन करते हैं जिसमें [[समवर्ती डॉस]], [[बहुउपयोगकर्ता डॉस]], [[उपन्यास दो]] (जिसे बाद में [[काल्डेरा ओपनडोस]] और [[DR-डॉस|डीआर-डॉस]] 7.02 और उच्चतर कहा जाता है) सम्मिलित हैं। समवर्ती डॉस 386 के बाद से, वे [[वर्चुअल डॉस मशीन]] में समवर्ती रूप से कई डॉस प्रोग्राम भी चला सकते थे।


प्रीमेप्टिव मल्टीटास्किंग के एक सीमित रूप का समर्थन करने के लिए विंडोज का सबसे पुराना संस्करण विंडोज/386|विंडोज/386 2.0 था, जो [[ आभासी मशीन ]]ों में डॉस एप्लिकेशन चलाने के लिए [[i386]] के [[वर्चुअल 8086 मोड]] का उपयोग करता था, जिसे आमतौर पर डॉस बॉक्स के रूप में जाना जाता था, जिसे प्रीमेप्ट किया जा सकता था। Windows 9x|Windows 95, 98 और Me में, 32-बिट अनुप्रयोगों को एक अलग पता स्थान में प्रत्येक को चलाकर प्रीमेप्टिव बनाया गया था, लेकिन 16-बिट अनुप्रयोग पिछड़े संगतता के लिए सहकारी बने रहे।<ref name="how_win95">{{Cite web|url=http://support.microsoft.com/kb/117567|title=विंडोज 95 (Q117567) में कैसे 16-बिट और 32-बिट प्रोग्राम मल्टीटास्क|access-date=2008-01-17|url-status=dead|archive-url=https://web.archive.org/web/20080117085655/http://support.microsoft.com/kb/117567|archive-date=2008-01-17}</ref> विंडोज 3.1x (संरक्षित मोड) में, कर्नेल और वर्चुअल डिवाइस ड्राइवर प्रीमेप्टिव रूप से चलते थे, लेकिन सभी 16-बिट एप्लिकेशन गैर-प्रीमेप्टिव थे और एक ही पता स्थान साझा करते थे।
प्रीमेप्टिव मल्टीटास्किंग के एक सीमित रूप का समर्थन करने के लिए विंडोज का सबसे पुराना संस्करण विंडोज/386 2.0 था, जो वर्चुअल 8086 मशीनों में डॉस अनुप्रयोगों को चलाने के लिए इंटेल 80386 के [[वर्चुअल 8086 मोड]] का उपयोग करता था, जिसे सामान्यतः "डॉस बॉक्स" के रूप में जाना जाता था, जिसे प्रीमेप्ट किया जा सकता था। विंडोज 95, 98 और मी में, 32-बिट अनुप्रयोगों को अलग-अलग पता स्थान में प्रत्येक को चलाकर प्रीमेप्टिव बनाया गया था, लेकिन 16-बिट अनुप्रयोग पिछड़े संगतता के लिए सहयोगी बने रहे।<ref name="how_win95">{{Cite web|url=http://support.microsoft.com/kb/117567|title=विंडोज 95 (Q117567) में कैसे 16-बिट और 32-बिट प्रोग्राम मल्टीटास्क|access-date=2008-01-17|url-status=dead|archive-url=https://web.archive.org/web/20080117085655/http://support.microsoft.com/kb/117567|archive-date=2008-01-17}</ref> विंडोज 3.1x (संरक्षित मोड) में, कर्नेल और वर्चुअल डिवाइस ड्राइवर प्रीमेप्टिव रूप से चलते थे, लेकिन सभी 16-बिट एप्लिकेशन गैर-प्रीमेप्टिव थे और एक ही एड्रेस स्पेस साझा करते थे।


प्रीमेप्टिव मल्टीटास्किंग को हमेशा विंडोज एनटी (सभी वर्जन), ओएस/2 (नेटिव एप्लिकेशन), [[यूनिक्स]] और यूनिक्स जैसी सिस्टम (जैसे लिनक्स, बर्कले सॉफ्टवेयर डिस्ट्रीब्यूशन और मैकओएस), [[ ओपन VMS ]], ओएस/360, और कई अन्य ऑपरेटिंग द्वारा समर्थित किया गया है। अकादमिक और मध्यम से बड़े व्यापार बाजारों में उपयोग के लिए डिज़ाइन की गई प्रणालियाँ।
प्रीमेप्टिव मल्टीटास्किंग को हमेशा विंडोज एनटी (सभी वर्जन), ओएस/2 (नेटिव एप्लिकेशन), [[यूनिक्स]] और यूनिक्स जैसे सिस्टम (जैसे लिनक्स, बीएसडी और मैकओएस) द्वारा सपोर्ट किया गया है। वीएमएस, ओएस/360, और कई अन्य ऑपरेटिंग सिस्टम जो शैक्षणिक और मध्यम से बड़े व्यापार बाजारों में उपयोग के लिए डिज़ाइन किए गए हैं।


यद्यपि [[क्लासिक मैक ओएस]] में पाए जाने वाले सहकारी मल्टीटास्किंग को एक प्रीमेप्टिव मॉडल में अपग्रेड करने की योजना थी (और एक प्रीमेप्टिव एपीआई [[मैक ओएस 9]] में मौजूद था, हालांकि एक सीमित अर्थ में रेफरी नाम = प्री-एम्प्टिव मल्टीटास्किंग>{{Cite web|url=http://lists.apple.com/archives/Mt-smp/2001/May/msg00007.html|title=पुन: नौसिखिया प्रश्न: ब्लू टास्क क्या है|access-date=2007-03-29|url-status=dead|archive-url=https://web.archive.org/web/20071013225430/http://lists.apple.com/archives/Mt-smp/2001/May/msg00007.html|archive-date=2007-10-13}}</ref>), इन्हें macOS|Mac OS X (अब macOS कहा जाता है) के पक्ष में छोड़ दिया गया था, जो पुराने Mac सिस्टम स्टाइल और [[NeXTSTEP]] के हाइब्रिड के रूप में, Mac (कर्नेल) कर्नेल पर आधारित एक ऑपरेटिंग सिस्टम है और आंशिक रूप से बर्कले सॉफ्टवेयर डिस्ट्रीब्यूशन से व्युत्पन्न, जिसने हमेशा यूनिक्स की तरह प्रीमेप्टिव मल्टीटास्किंग प्रदान किया था।
यद्यपि [[क्लासिक मैक ओएस]] में पाए जाने वाले सहकारी मल्टीटास्किंग को एक प्रीमेप्टिव मॉडल में अपग्रेड करने की योजना थी (और प्रीमेप्टिव एपीआई [[मैक ओएस 9]] में मौजूद था, हालांकि एक सीमित अर्थ में, इन्हें मैक ओएस एक्स के पक्ष में छोड़ दिया गया था (जिसे अब मैकओएस कहा जाता है) जो कि, पुराने मैक सिस्टम स्टाइल और नेक्स्टस्टेप के हाइब्रिड के रूप में, मैक कर्नेल पर आधारित ऑपरेटिंग सिस्टम है और बीएसडी से लिया गया है, जिसने हमेशा यूनिक्स-जैसी प्रीमेप्टिव मल्टीटास्किंग प्रदान की थी।


== यह भी देखें ==
== यह भी देखें ==


* कंप्यूटर मल्टीटास्किंग
* कंप्यूटर मल्टीटास्किंग
* सहकारी मल्टीटास्किंग
* कोआपरेटिव मल्टीटास्किंग


== संदर्भ ==
== संदर्भ ==
Line 54: Line 54:


{{Operating System}}
{{Operating System}}
[[Category: ऑपरेटिंग सिस्टम प्रौद्योगिकी]] [[Category: समवर्ती कंप्यूटिंग]]
 


[[de:Multitasking#Präemptives Multitasking]]
[[de:Multitasking#Präemptives Multitasking]]


 
[[Category:Articles with hatnote templates targeting a nonexistent page]]
 
[[Category:CS1 English-language sources (en)]]
[[Category: Machine Translated Page]]
[[Category:Collapse templates]]
[[Category:Created On 26/05/2023]]
[[Category:Created On 26/05/2023]]
[[Category:Lua-based templates]]
[[Category:Machine Translated Page]]
[[Category:Missing redirects]]
[[Category:Navigational boxes| ]]
[[Category:Navigational boxes without horizontal lists]]
[[Category:Pages with script errors]]
[[Category:Short description with empty Wikidata description]]
[[Category:Sidebars with styles needing conversion]]
[[Category:Template documentation pages|Documentation/doc]]
[[Category:Templates Vigyan Ready]]
[[Category:Templates generating microformats]]
[[Category:Templates that add a tracking category]]
[[Category:Templates that are not mobile friendly]]
[[Category:Templates that generate short descriptions]]
[[Category:Templates using TemplateData]]
[[Category:Wikipedia metatemplates]]
[[Category:ऑपरेटिंग सिस्टम प्रौद्योगिकी]]
[[Category:समवर्ती कंप्यूटिंग]]

Latest revision as of 17:21, 5 September 2023

कम्प्यूटिंग में, प्रिएम्पशन (पूर्वक्रय) एक क्रियान्वित कार्य को अस्थायी रूप से बाधित करने का कार्य है, जिसे बाद में फिर से प्रारम्भ करने के उद्देश से किया जाता है। यह रुकावट एक बाहरी अनुसूचक द्वारा बिना किसी सहायता या कार्य के सहयोग के किया जाता है।[1]: 153  यह प्रीमेप्टिव शेड्यूलर सामान्यतः सबसे विशेषाधिकार प्राप्त सुरक्षा रिंग में चलता है, जिसका अर्थ है कि रुकावट और फिर से प्रारम्भ होना बेहद सुरक्षित क्रियाएं मानी जाती हैं। प्रोसेसर के वर्तमान में निष्पादित कार्य में इस तरह के परिवर्तन को संदर्भ स्विचिंग के रूप में जाना जाता है।

उपयोगकर्ता मोड और कर्नेल मोड

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

अधिकांश आधुनिक ऑपरेटिंग सिस्टम में प्रीमेप्टिव कर्नेल होते हैं, जिन्हें कर्नेल मोड में होने पर भी कार्यों को प्रीमेप्ट करने के लिए डिज़ाइन किया गया है। ऐसे ऑपरेटिंग सिस्टम के उदाहरण हैं सोलारिस 2.0/सनओएस 5.0,[2] विंडोज एनटी, लिनक्स कर्नेल (2.5.4 और नए),[3] एआईएक्स और कुछ बीएसडी सिस्टम (नेटबीएसडी, संस्करण 5 से)।

प्रीमेप्टिव मल्टीटास्किंग

प्रीमेप्टिव मल्टीटास्किंग (बहुकार्यन) शब्द का उपयोग मल्टीटास्किंग ऑपरेटिंग सिस्टम को अलग करने के लिए किया जाता है, जो एक सहकारी मल्टीटास्किंग सिस्टम से कार्यों के प्रीमेशन की अनुमति देता है, जिसमें प्रक्रियाओं या कार्यों को स्पष्ट रूप से प्रोग्राम किया जाना चाहिए ताकि उन्हें सिस्टम संसाधनों की आवश्यकता न हो।

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

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

प्रीमेप्टिव मल्टीटास्किंग शब्द का उपयोग कभी-कभी गलती से किया जाता है, जब इच्छित अर्थ अधिक विशिष्ट होता है, इसके बजाय शेड्यूलिंग नीतियों के वर्ग को 'टाइम-शेयर्ड शेड्यूलिंग' या 'टाइम-शेयरिंग' के रूप में जाना जाता है।

प्रीमेप्टिव मल्टीटास्किंग कंप्यूटर सिस्टम को ऑपरेटिंग समय के नियमित "स्लाइस" की प्रत्येक प्रक्रिया को अधिक विश्वसनीय रूप से गारंटी देने की अनुमति देता है। यह सिस्टम को आने वाले डेटा जैसी महत्वपूर्ण बाहरी घटनाओं से तेजी से निपटने की अनुमति देता है, जिसके लिए एक या किसी अन्य प्रक्रिया पर तत्काल ध्यान देने की आवश्यकता हो सकती है।

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

हालांकि मल्टीटास्किंग तकनीकों को मूल रूप से कई उपयोगकर्ताओं को मशीन साझा करने की अनुमति देने के लिए विकसित किया गया था, यह स्पष्ट हो गया कि उपयोगकर्ताओं की संख्या की परवाह किए बिना मल्टीटास्किंग उपयोगी थी। कई ऑपरेटिंग सिस्टम, मेनफ्रेम डाउन से लेकर सिंगल-यूज़र पर्सनल कंप्यूटर और नो-यूज़र कंट्रोल सिस्टम (जैसे रोबोटिक अंतरिक्ष यान में), ने कई कारणों से मल्टीटास्किंग सपोर्ट की उपयोगिता को पहचाना है। मल्टीटास्किंग एक ही उपयोगकर्ता के लिए एक ही समय में कई एप्लिकेशन चलाना संभव बनाता है, या कंप्यूटर पर नियंत्रण बनाए रखते हुए "पृष्ठभूमि" प्रक्रियाओं को चलाने के लिए संभव बनाता है।

टाइम स्लाइस

प्रीमेप्टिव मल्टीटास्किंग सिस्टम में जिस समय के लिए एक प्रक्रिया को चलाने की अनुमति दी जाती है, उसे सामान्यतः टाइम स्लाइस या क्वांटम कहा जाता है।[1]: 158  चलाने के लिए अगली प्रक्रिया को चुनने के लिए शेड्यूलर हर बार स्लाइस में एक बार चलता है। प्रत्येक बार स्लाइस की लंबाई सिस्टम के प्रदर्शन बनाम प्रक्रिया की प्रतिक्रिया को संतुलित करने के लिए महत्वपूर्ण हो सकती है - यदि समय का टुकड़ा बहुत छोटा है, तो अनुसूचक बहुत अधिक प्रसंस्करण समय का उपभोग करेगा, लेकिन यदि समय का टुकड़ा बहुत लंबा है, तो इनपुट पर प्रतिक्रिया देने में प्रक्रियाओं को अधिक समय लगेगा।

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

सिस्टम सपोर्ट

आज, लगभग सभी ऑपरेटिंग सिस्टम विंडोज, मैकओएस, लिनक्स (एंड्रॉइड सहित) और आईओएस के वर्तमान संस्करणों सहित प्रीमेप्टिव मल्टीटास्किंग का समर्थन करते हैं।

प्रीमेप्टिव मल्टीटास्किंग की सुविधा वाले घरेलू उपयोगकर्ताओं के लिए उपलब्ध कुछ प्रारंभिक ऑपरेटिंग सिस्टम सिंक्लेयर क्यूडीओएस (1984[4]) और एमिगाओएस (1985) थे। ये दोनों मोटोरोला 68000-फ़ैमिली माइक्रोप्रोसेसरों पर मेमोरी प्रबंधन के बिना चलते थे। अमिगा ओएस ने एक ही फ्लैट एड्रेस स्पेस में सभी प्रक्रियाओं को प्रीमेप्टिवली मल्टीटास्क करने के लिए रिलोकेबल कोड ब्लॉक्स (अमिगा शब्दजाल में "हंक्स") की डायनेमिक लोडिंग का उपयोग किया।

प्रारंभिक पीसी ऑपरेटिंग सिस्टम जैसे एमएस-डॉस और पीसी डॉस, मल्टीटास्किंग का समर्थन बिल्कुल नहीं करते थे, हालाँकि वैकल्पिक ऑपरेटिंग सिस्टम जैसे एमपी/एम-86 (1981) और समवर्ती सीपी/एम-86 ने प्रीमेप्टिव मल्टीटास्किंग का समर्थन किया था। मिनिक्स और सुसंगत सहित अन्य यूनिक्स जैसी प्रणालियों ने 1980 के दशक के पर्सनल कंप्यूटरों पर प्रीमेप्टिव मल्टीटास्किंग प्रदान किया।

बाद के डॉस संस्करण मूल रूप से प्रीमेप्टिव मल्टीटास्किंग/मल्टीथ्रेडिंग का समर्थन करते हैं जिसमें समवर्ती डॉस, बहुउपयोगकर्ता डॉस, उपन्यास दो (जिसे बाद में काल्डेरा ओपनडोस और डीआर-डॉस 7.02 और उच्चतर कहा जाता है) सम्मिलित हैं। समवर्ती डॉस 386 के बाद से, वे वर्चुअल डॉस मशीन में समवर्ती रूप से कई डॉस प्रोग्राम भी चला सकते थे।

प्रीमेप्टिव मल्टीटास्किंग के एक सीमित रूप का समर्थन करने के लिए विंडोज का सबसे पुराना संस्करण विंडोज/386 2.0 था, जो वर्चुअल 8086 मशीनों में डॉस अनुप्रयोगों को चलाने के लिए इंटेल 80386 के वर्चुअल 8086 मोड का उपयोग करता था, जिसे सामान्यतः "डॉस बॉक्स" के रूप में जाना जाता था, जिसे प्रीमेप्ट किया जा सकता था। विंडोज 95, 98 और मी में, 32-बिट अनुप्रयोगों को अलग-अलग पता स्थान में प्रत्येक को चलाकर प्रीमेप्टिव बनाया गया था, लेकिन 16-बिट अनुप्रयोग पिछड़े संगतता के लिए सहयोगी बने रहे।[5] विंडोज 3.1x (संरक्षित मोड) में, कर्नेल और वर्चुअल डिवाइस ड्राइवर प्रीमेप्टिव रूप से चलते थे, लेकिन सभी 16-बिट एप्लिकेशन गैर-प्रीमेप्टिव थे और एक ही एड्रेस स्पेस साझा करते थे।

प्रीमेप्टिव मल्टीटास्किंग को हमेशा विंडोज एनटी (सभी वर्जन), ओएस/2 (नेटिव एप्लिकेशन), यूनिक्स और यूनिक्स जैसे सिस्टम (जैसे लिनक्स, बीएसडी और मैकओएस) द्वारा सपोर्ट किया गया है। वीएमएस, ओएस/360, और कई अन्य ऑपरेटिंग सिस्टम जो शैक्षणिक और मध्यम से बड़े व्यापार बाजारों में उपयोग के लिए डिज़ाइन किए गए हैं।

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

यह भी देखें

  • कंप्यूटर मल्टीटास्किंग
  • कोआपरेटिव मल्टीटास्किंग

संदर्भ

  1. 1.0 1.1 Tanenbaum, Andrew (2015). आधुनिक ऑपरेटिंग सिस्टम (in English). Boston: Pearson. ISBN 978-0-13-359162-0. OCLC 870646449.
  2. Khanna, S.; Sebree, M.; Zolnovsky, J. "Realtime scheduling in SunOS 5.0". Proceedings of the USENIX Winter Conference, 1992: 375–390.
  3. "Release notes for v2.5.4". The Linux Kernel Archives. Linux Kernel Organization, Inc. Retrieved 2021-07-03.
  4. "QL History FAQ: Firmware".
  5. {{Cite web|url=http://support.microsoft.com/kb/117567%7Ctitle=विंडोज 95 (Q117567) में कैसे 16-बिट और 32-बिट प्रोग्राम मल्टीटास्क|access-date=2008-01-17|url-status=dead|archive-url=https://web.archive.org/web/20080117085655/http://support.microsoft.com/kb/117567%7Carchive-date=2008-01-17}