यदि डॉस सिंगल-टास्किंग है, तो विंडोज के पुराने संस्करण में मल्टीटास्किंग कैसे संभव था?


113

मैंने पढ़ा कि डॉस एक सिंगल-टास्किंग ओएस है।

लेकिन अगर विंडोज के पुराने संस्करण (विंडोज 95 भी शामिल हैं?) सिर्फ डॉस के रैपर थे, तो विंडोज मल्टीटास्किंग ओएस के रूप में कैसे चल सकता था?



20
आप "पुराने" को इससे बहुत बेहतर परिभाषित करने जा रहे हैं। डॉस + विंडोज 9x और डॉस + विंडोज 3.x इन "386 एन्हांस्ड मोड" इस संबंध में डॉस + विंडोज 3.x / 2.x "मानक मोड" और "रियल मोड" में काफी भिन्न थे। और जॉयक्वेरी अलाउड्स के रूप में, कोऑपरेटिव मल्टी-टास्किंग के साथ-साथ प्रीटेप्टिव भी था। इस पर पूरी किताबें लिखी गई हैं, इसलिए एक विशिष्ट प्रश्न बेहतर है।
JdeBP

5
@joeqwerty सबसे भयानक IMO यह है कि Microsoft इतने प्राचीन सॉफ़्टवेयर के बारे में ऑनलाइन दस्तावेज़ रखता है। एमएस-डॉस के पुराने संस्करणों पर उन्नत विषयों के बारे में भी लेख हैं ... वास्तव में उन्हें जीवित रखने के लिए अच्छा है।
NothingsImpossible

6
डॉस आपको मल्टीटास्किंग नहीं देता है। आप अभी भी डॉस की मदद के बिना इसके शीर्ष पर पूरी तरह से मल्टीटास्किंग प्रोग्राम लिख सकते हैं, जो कि विंडोज जल्दी करता है। विंडोज 95 निश्चित रूप से डॉस के लिए सिर्फ एक "आवरण" नहीं है।
बोएन

3
@NigelNquande मैंने वास्तव में पुराने दस्तावेज़ों को बनाए रखने के बारे में एमएस को काफी अच्छा पाया है। उनके सेवानिवृत्त KB लेखों में से अधिकांश ऑनलाइन हैं (उदाहरण के लिए; एक यादृच्छिक विंडोज 3.1 KB , या Windows 2.1-3.0 के लिए printउपयोगिता पर डॉक्स , या MS-DOS 5.0 से ansi.sys ), उनके 12 महीने के अंत के बाद भी -जीव कृपा काल। यह केवल सक्रिय उत्पाद प्रलेखन के रूप में आसानी से ब्राउज़ करने योग्य नहीं है, आपको अपनी खोजों में विशिष्ट होना चाहिए।
जेसन सी

जवाबों:


160

विंडोज 95

विंडोज 95 एमएस-डॉस के लिए "सिर्फ एक आवरण" से कहीं अधिक था । रायटर चेन का हवाला देते हुए:

MS-DOS ने विंडोज 95 में दो उद्देश्य दिए।

  • यह बूट लोडर के रूप में कार्य करता है।
  • इसने 16-बिट लीगेसी डिवाइस ड्राइवर परत के रूप में काम किया।

विंडोज 95 वास्तव में सभी एमएस-डॉस के बारे में बस झुका / ओवररोड करता है, इसे सभी भारी उठाने के दौरान एक संगतता परत के रूप में रखा जाता है। इसने 32-बिट कार्यक्रमों के लिए प्रीमेप्टिव मल्टीटास्किंग को भी लागू किया।


प्री-विंडोज 95

विंडोज 3.x और पुराने ज्यादातर 16-बिट थे (Win32s के अपवाद के साथ, एक दया संगतता परत जो 16 और 32 को पुल करती है, लेकिन हम यहां ध्यान नहीं देंगे), DOS पर अधिक निर्भर थे, और केवल सहकारी मल्टीटास्किंग का उपयोग किया था - वह वह जहां वे एक चालू कार्यक्रम को बंद करने के लिए मजबूर नहीं करते हैं; वे रनिंग प्रोग्राम के लिए नियंत्रण प्राप्त करने के लिए प्रतीक्षा करते हैं (मूल रूप से, "मैं कर रहा हूं" ओएस को अगले प्रोग्राम को चलाने के लिए कहकर इंतजार कर रहा है)।

मल्टीटास्किंग कोऑपरेटिव था, जैसे कि MacOS के पुराने संस्करणों में (हालांकि मल्टीटास्किंग DOS 4.x के विपरीत, जिसने प्रीमेप्टिव मल्टीटास्किंग को स्पोर्ट किया था)। किसी कार्य को करने के लिए OS पर एक टास्क करना पड़ता है। पैदावार कुछ एपीआई कॉल, विशेष रूप से संदेश प्रसंस्करण में बनाई गई थी। जब तक एक कार्य समय पर संदेश संसाधित करता है, तब तक सब कुछ बहुत अच्छा था। यदि कोई कार्य संदेशों को संसाधित करना बंद कर देता है और कुछ प्रसंस्करण लूप निष्पादित करने में व्यस्त होता है, तो मल्टीटास्किंग नहीं था।

विंडोज 3.x आर्किटेक्चर

Windows प्रोग्रामों पर नियंत्रण कैसे प्राप्त होगा

विंडोज 3.1 सहकारी मल्टीटास्किंग का उपयोग करता है - जिसका अर्थ है कि प्रत्येक एप्लिकेशन जो चलने की प्रक्रिया में है, उसे समय-समय पर एक संदेश कतार की जांच करने का निर्देश दिया जाता है ताकि यह पता लगाया जा सके कि कोई अन्य एप्लिकेशन सीपीयू के उपयोग के लिए पूछ रहा है और, यदि ऐसा है, तो उस एप्लिकेशन पर नियंत्रण प्राप्त करने के लिए। । हालाँकि, कई Windows 3.1 एप्लिकेशन संदेश कतार को केवल बार-बार जांचते हैं, या बिल्कुल नहीं, और सीपीयू के नियंत्रण को अधिक से अधिक समय के लिए एकाधिकार में रखते हैं। विंडोज 95 जैसे एक प्रीमेप्टिव मल्टीटास्किंग सिस्टम सीपीयू को एक रनिंग एप्लिकेशन से दूर ले जाएगा और इसे उन लोगों को वितरित करेगा जिनकी प्रणाली की जरूरतों के आधार पर उच्च प्राथमिकता है।

स्रोत

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

386 बढ़ाया मोड?

नोट: विंडोज 3.x के 386 वर्धित मोड पर कुछ टिप्पणियां आई हैं जो 32-बिट की जा रही हैं, और प्रीमेप्टिव मल्टीटास्किंग का समर्थन कर रही हैं।

यह एक दिलचस्प मामला है। लिंक किए गए ब्लॉग पोस्ट को सारांशित करने के लिए , 386 बढ़ाया मोड मूल रूप से एक 32-बिट हाइपरविजर था, जो आभासी मशीनों को चलाता था। उन वर्चुअल मशीनों में से एक में विंडोज 3.x मानक मोड चला, जो ऊपर सूचीबद्ध सभी सामान करता है।

MS-DOS उन वर्चुअल मशीनों के अंदर भी चलेगा, और जाहिर तौर पर वे प्रीमिटिव मल्टीटास्क थे - इसलिए ऐसा लगता है कि 386 एन्हांस किए गए मोड हाइपरवाइजर CPU टाइम स्लाइस को वर्चुअल मशीनों (जिनमें से एक सामान्य 3.x और अन्य जो MS चलाते हैं) के बीच साझा करेंगे -DOS), और प्रत्येक वीएम अपनी बात करेगा - 3.x सहकारी रूप से मल्टीटास्क, जबकि एमएस-डॉस एकल-कार्य होगा।


MS-DOS

डॉस खुद कागज पर सिंगल-टास्किंग कर रहा था, लेकिन इसमें टीएसआर प्रोग्राम्स के लिए सपोर्ट था , जो कि तब तक बैकग्राउंड में रहता था, जब तक कि हार्डवेयर में खराबी नहीं आती। सही मल्टीटास्किंग से दूर, लेकिन पूरी तरह से एकल-टास्किंग भी नहीं।


यह सब बिट-नेस की बात है? मैंने मल्टीटास्किंग के बारे में पूछा!

खैर, बिट-नेस और मल्टीटास्किंग सख्ती से बोलना एक दूसरे पर निर्भर नहीं हैं। किसी भी बिट-नेस में किसी भी मल्टीटास्किंग मोड को लागू करना शीर्ष संभव होना चाहिए। हालांकि, 16-बिट प्रोसेसर से 32-बिट प्रोसेसर तक की चाल ने अन्य हार्डवेयर कार्यक्षमता भी पेश की जो प्रीमेप्टिव मल्टीटास्किंग को लागू करना आसान बना सकती थी।

इसके अलावा, चूंकि 32-बिट प्रोग्राम नए थे, इसलिए जब उन्हें जबरन बंद कर दिया गया, तो उन्हें काम करना आसान हो गया - जिससे शायद कुछ विरासत 16-बिट प्रोग्राम टूट गए।

बेशक, यह सब अटकलें हैं। यदि आप वास्तव में जानना चाहते हैं कि एमएस ने विंडोज 3.x (386 एन्हांस्ड मोड के बावजूद) में प्रीमेप्टिव मल्टीटास्किंग क्यों लागू नहीं किया है, तो आपको वहां काम करने वाले किसी व्यक्ति से पूछना होगा।

इसके अलावा, मैं आपकी धारणा को सही करना चाहता था कि विंडोज 95 डॉस के लिए एक आवरण था;)


4
बहुत अच्छा लेखन। अगर मुझे सही तरीके से याद है (ओएस डिजाइन वर्ग मेरे लिए कई साल पहले था) विंडोज 9x ने टाइमर को बाधित किया, इसे लागू करने के लिए खुद के शेड्यूलर को लागू किया, जैसे आपने अपने दूसरे पैराग्राफ में 2 में सुझाव दिया था। डॉस के शीर्ष पर अन्य OS'S थे जो समान थे। मुझे यह स्पष्ट रूप से एएमएक्स (औद्योगिक अनुप्रयोगों के लिए वास्तविक समय ओएस) और एक्सआईएनयू (ओएस जैसे शैक्षिक उद्देश्य छोटे यूनिक्स / पॉज़िक्स) से याद है कि दोनों डॉस के शीर्ष पर चले गए। (AMX EPROM से भी सीधे नंगे-धातु को चला सकता है। डॉस पर चलाते समय परीक्षण करना / डिबग करना बहुत आसान था। प्रत्येक परीक्षण के लिए आपको EPROMS को फिर से जलाने से बचाया गया।)
टन

@ टोनी यह पुष्टि करने के लिए धन्यवाद कि यह योजना संभव है (और व्यवहार में उपयोग की जाती है)। एक अनुमान के अनुसार, विंडोज 1-3 ने प्रीमेप्टिव मल्टीटास्किंग का उपयोग नहीं किया है, ऐसा नहीं है कि वे ऐसा करने में असमर्थ थे (MS-DOS 4 के पास यह था, हालांकि असंबंधित), लेकिन इसके बजाय DOS के साथ पीछे की तरफ की संगतता टूट गई होगी। कार्यक्रम।
बॉब

3
Mmmmhhh विंडोज 1-3 को ध्यान में रखते हुए: तथ्य यह है कि 8086 सीपीयू के लिए सामान्य कोड-बेस था और उच्चतर इसके साथ अधिक हो सकता था। उचित ring0-3 हैंडलिंग केवल 80286 और ऊपर के साथ संभव थी और यही कि Win9x मल्टी-टास्किंग को लागू करने के लिए उपयोग किया जाता था। 4DOS और अन्य ने पहले से ही DOS पर एक सीमित मल्टी-टास्किंग प्रदान की थी (यदि मुझे सही तरीके से याद किया जाए तो 80286 की आवश्यकता थी)। तुम भी Win3 ही 4DOS में एक अलग प्रक्रिया के रूप में चला सकते हैं।
टन

1
शिनू वास्तव में डॉस के शीर्ष पर नहीं चला था । यह LSI-11 ऑपरेटिंग सिस्टम के रूप में शुरू हुआ, आखिरकार। यह कथन कि डॉस + विंडोज 3.x में कोई प्रीमेच्योर मल्टीटास्किंग नहीं है, गलत है। 386 संवर्धित मोड में, VMM के सौजन्य से था। और 4DOS के बारे में बकवास आपको अक्सर दिए गए उत्तर देता है: 4DOS एक ऑपरेटिंग सिस्टम नहीं है । कथन जो इसे प्रदान करते हैं मल्टीटास्किंग पूरी तरह से गलत हैं।
JdeBP

2
PDP-8 ने पूर्व-खाली मल्टीटास्किंग का समर्थन किया, और यह केवल एक 12 बिट कंप्यूटर था।
david25272

26

यह लगातार एक ही कार्यक्रम चलाता था, एक जिसे विंडोज़ कहा जाता था। कि एक ने विभिन्न कार्यक्रमों के बीच सीपीयू समय (और अन्य संसाधन) फैलाए।

इस सादृश्य पर विचार करें:

आपके पास एक कार्यालय है जो उस समय केवल एक व्यक्ति हो सकता है (उस व्यक्ति को मिस्टर या मिसस डीओएस कहा जाता है)। वह व्यक्ति उस समय एक चीज पर काम करता है। जैसे यह किसी एक व्यक्ति को फोन करता है और उसके साथ 24/7 चैट करना शुरू कर देता है।

अब आप उस व्यक्ति को श्री सचिव से बदल दें। (खिड़कियाँ)। यह किसी को फोन करेगा और उसके साथ हर समय बात करेगा (अभी भी एक ही काम)। फिर कुछ समय बाद दूसरा व्यक्ति कहेगा "मैंने अभी के लिए पर्याप्त बात की है। किसी और से बात करें और मुझे थोड़ा सा वापस बुलाएं"।

श्री सचिव दूसरे व्यक्ति को बुलाएंगे। उस व्यक्ति के साथ चैट करें जब तक कि वह व्यक्ति वही बात न कहे। तब यह अगले व्यक्ति को बुलाएगा जब तक कि वह लोगों की सूची के अंत में नहीं है। उस समय यह फिर से शीर्ष पर शुरू होगा।

  • तकनीकी शब्दों में इसे सहकारी मल्टीटास्किंग कहा जाता है। यह कहने के लिए दूसरे व्यक्ति की आवश्यकता है कि उसके पास पर्याप्त सीपीयू समय था। अगर कोई ऐसा नहीं करता है तो सभी अलग हो जाते हैं।
  • आधुनिक प्रणालियां ज्यादा स्मार्ट हैं। जिसमें पूर्व-खाली मल्टीटास्किंग शामिल है। 5 मिनट के बाद सचिव को अलार्म घड़ी सेट करने और दूसरे व्यक्ति को काटने के बारे में सोचें। "यह अच्छा जेन है। लेकिन मुझे अब जो से बात करनी है। मैं आपको थोड़ा वापस बुला लूंगा। - क्लिक करें।"

यदि आप कई प्रोसेसर जोड़ते हैं तो यह और भी जटिल हो जाता है। :)


1
क्या आपको अपने पहले बिंदु में सहकारी / गैर-प्रीमेप्टिव मल्टीटास्किंग का मतलब नहीं है? इसके अलावा, दिलचस्प बात यह है कि विंडोज 95 ने 32-बिट कार्यक्रमों के लिए प्रीमेप्टिव मल्टीटास्किंग की शुरुआत की। यह डॉस के लिए एक आवरण नहीं था, क्योंकि यह एक ओएस था जो डॉस को एक बूटलोडर के रूप में इस्तेमाल करता था लेकिन इसके प्रमुख हिस्सों को बदल दिया गया (16-बिट / डॉस प्रोग्राम समर्थन के लिए पर्याप्त रखने)।
बॉब

मिस्टर या मिस, क्यों नहीं 'डॉ' करने योग्य?
gtrak

1
"यह लगातार एक ही कार्यक्रम चलाता था ... एक ने विभिन्न कार्यक्रमों के बीच सीपीयू समय (और अन्य संसाधन) फैलाए।" किसी भी ऑपरेटिंग सिस्टम के बारे में नहीं कहा जा सकता है? हालांकि सवाल यह है कि एमएस-डॉस नहीं कर सका। जब मैं तकनीकी विवरणों का उपयोग कर रहा हूँ तो मैं एनालॉग्स / रूपकों का बहुत विरोध करता हूँ। ठीक है, तो अब हम जानते हैं कि कुछ काल्पनिक कार्यालय कैसे काम करते हैं? यह वास्तव में सवाल का जवाब नहीं समझाता है।
सेलेरिटास

13

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

ओएस इस नियंत्रण को लागू कर सकता है, क्योंकि यह सीपीयू को संरक्षित मोड में प्रवेश करने के लिए मजबूर करता है

दूसरी ओर, डॉस कभी भी संरक्षित मोड में प्रवेश नहीं करता है, लेकिन वास्तविक मोड में रहता है *। वास्तविक मोड में, चल रहे एप्लिकेशन कुछ भी प्रदर्शन कर सकते हैं जो वह करना चाहता है, जैसे कि सीधे हार्डवेयर तक पहुंच। लेकिन वास्तविक मोड में चलने वाला एप्लिकेशन सीपीयू को संरक्षित मोड में प्रवेश करने के लिए भी कह सकता है।

और यह अंतिम भाग विंडोज 95 जैसे अनुप्रयोगों को बहु थ्रेडेड वातावरण शुरू करने की अनुमति देता है, भले ही वे मूल रूप से डॉस से लॉन्च किए गए थे।

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

* जब 70 के दशक में पहली बार डॉस बनाया गया था, तो सीपीयू में संरक्षित मोड मौजूद नहीं था। यह 80 के मध्य तक 80286 प्रोसेसर नहीं था जो कि संरक्षित मोड सीपीयू का हिस्सा बन गया था।


2
ध्यान रहे कि उस समय सीपीयू में संरक्षित मोड जैसी कोई चीज नहीं थी।
jwenting

1
@ जेंटिंग - अच्छी बात है, मैंने इसके बारे में एक नोट जोड़ा
पीट

6

विंडोज 3.x से पहले जो DOS अनुप्रयोगों को मल्टीटास्क करने के लिए पहला संस्करण था, वहाँ DesqView जैसे कार्यक्रम थे जो इसी तरह कर सकते थे। यदि कोई एक बार में तीन DOS सत्र चला रहा था, तो DesqView चार वर्चुअल मशीन बनाएगा। तीन डॉस सत्रों में से प्रत्येक को लगता है कि वे पूरी मशीन को "स्वामित्व" करते हैं, सिवाय इसके कि उनमें से कोई भी वास्तव में फ़ाइल I / O का प्रदर्शन नहीं करेगा। इसके बजाय, प्रत्येक सत्र में चलने वाले DOS के संस्करण को पैच किया जाएगा ताकि वह विशेष सत्र के लिए फ़ाइल I / O के लिए किसी भी अनुरोध को अग्रेषित कर सके, जो उस उद्देश्य के लिए समर्पित था। चूंकि पीसी का टेक्स्ट मोड हार्डवेयर लगातार मेमोरी के एक क्षेत्र की सामग्री को पात्रों के रूप में प्रदर्शित करेगा; DesqView प्रत्येक सत्र को प्रत्येक सत्र की 0xB8000-0xBBFFF श्रेणी की रैम के अपने क्षेत्र में मैप करके अपनी वर्चुअल स्क्रीन दे सकता है, और समय-समय पर वर्तमान एप्लिकेशन के क्षेत्र को भौतिक स्क्रीन बफर पर कॉपी करना। चित्रमय समर्थन बहुत कठिन था, क्योंकि डिस्प्ले बोर्ड पर 256K RAM पता स्थान के 64K, कुछ I / O रजिस्टर और कुछ "रोचक" हार्डवेयर का उपयोग करके नियंत्रित किया गया था, जिन्हें कुछ विशिष्ट अनुक्रमों में पढ़ने और लिखने के लिए चीजों की आवश्यकता होती है। टेक्स्ट मोड में, जब कोई एप्लिकेशन टेक्स्ट बफर को कुछ लिखता है, तो DesqView एक ध्वज सेट कर सकता है जो यह संकेत देता है कि इसे अगले टाइमर टिक पर डिस्प्ले में कॉपी किया जाना चाहिए; केवल एक निश्चित समय टिक में पाठ बफर को लिखने के लिए DesqView के हस्तक्षेप की आवश्यकता होगी; अन्य सभी को अगले टाइमर टिक के लिए समेकित किया जाएगा। क्योंकि डिस्प्ले बोर्ड पर 256K RAM पता स्थान के 64K, कुछ I / O रजिस्टर और कुछ "रोचक" हार्डवेयर का उपयोग करके नियंत्रित किया गया था, जिन्हें कुछ विशिष्ट अनुक्रमों में पढ़ने और लिखने के लिए चीजों की आवश्यकता होती है। टेक्स्ट मोड में, जब कोई एप्लिकेशन टेक्स्ट बफर को कुछ लिखता है, तो DesqView एक ध्वज सेट कर सकता है जो यह संकेत देता है कि इसे अगले टाइमर टिक पर डिस्प्ले में कॉपी किया जाना चाहिए; केवल एक निश्चित समय टिक में पाठ बफर को लिखने के लिए DesqView के हस्तक्षेप की आवश्यकता होगी; अन्य सभी को अगले टाइमर टिक के लिए समेकित किया जाएगा। क्योंकि डिस्प्ले बोर्ड पर 256K RAM पता स्थान के 64K, कुछ I / O रजिस्टर और कुछ "रोचक" हार्डवेयर का उपयोग करके नियंत्रित किया गया था, जिन्हें कुछ विशिष्ट अनुक्रमों में पढ़ने और लिखने के लिए चीजों की आवश्यकता होती है। टेक्स्ट मोड में, जब कोई एप्लिकेशन टेक्स्ट बफर को कुछ लिखता है, तो DesqView एक ध्वज सेट कर सकता है जो यह संकेत देता है कि इसे अगले टाइमर टिक पर डिस्प्ले में कॉपी किया जाना चाहिए; केवल एक निश्चित समय टिक में पाठ बफर को लिखने के लिए DesqView के हस्तक्षेप की आवश्यकता होगी; अन्य सभी को अगले टाइमर टिक के लिए समेकित किया जाएगा। DesqView एक ध्वज सेट कर सकता है जो यह संकेत देता है कि इसे अगले टाइमर टिक पर डिस्प्ले में कॉपी किया जाना चाहिए; केवल एक निश्चित समय टिक में पाठ बफर को लिखने के लिए DesqView के हस्तक्षेप की आवश्यकता होगी; अन्य सभी को अगले टाइमर टिक के लिए समेकित किया जाएगा। DesqView एक ध्वज सेट कर सकता है जो यह संकेत देता है कि इसे अगले टाइमर टिक पर डिस्प्ले में कॉपी किया जाना चाहिए; केवल एक निश्चित समय टिक में पाठ बफर को लिखने के लिए DesqView के हस्तक्षेप की आवश्यकता होगी; अन्य सभी को अगले टाइमर टिक के लिए समेकित किया जाएगा।

इसके विपरीत, वर्चुअलाइज़िंग ग्राफ़िक्स मोड के लिए मेमोरी या I / O रजिस्टर प्रदर्शित करने के लिए हर एक व्यक्ति को लिखने के लिए DeskView की आवश्यकता होगी। यह देखते हुए कि यह लगभग 100 के एक कारक द्वारा लिखी गई मेमोरी को धीमा कर देगा, और ग्राफिक्स कार्यक्रमों को पाठ कार्यक्रमों की तुलना में बहुत अधिक डेटा लिखना था, अधिकांश ग्राफिक सॉफ्टवेयर का वास्तविक समय वर्चुअलाइजेशन व्यावहारिक नहीं था। इसके बजाय, ग्राफिक्स को किसी भी गैर-अग्रभूमि अनुप्रयोग के द्वारा नियंत्रित किया जाता था, जो कि अग्रभूमि अनुप्रयोग बनने तक ग्राफिक्स ठहराव करने की कोशिश करता था, और फिर इसे स्क्रीन पर पूर्ण नियंत्रण देता था। जब नियंत्रण एक अलग अनुप्रयोग में बदल जाता है, तो DesqView सभी ग्राफिक्स रजिस्टरों की स्थिति की एक प्रतिलिपि बनाने की कोशिश करेगा और फिर स्विच करेगा। चित्रमय अनुप्रयोग पर वापस जाने पर, DesqView सहेजे गए राज्य को पुनर्स्थापित करेगा।

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


DesqView के बारे में मुझे याद दिलाने के लिए धन्यवाद। मैं इसे हर समय उपयोग करता था, लेकिन इसके बारे में पूरी तरह से भूल गया था।
एम्मेट

3

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

तो, एमएस-डॉस मल्टीटास्क बनाना संभव है इसे एक प्रक्रिया को रोककर, थोड़े समय के लिए अगले को चलाएं, उस एक को रोकें, पहले एक पर वापस कूदें, और इसी तरह।

मल्टीटास्किंग सिर्फ एक चतुर विशेषता है जब सीपीयू इन प्रक्रियाओं के माध्यम से घूमता रहता है और अंत उपयोगकर्ता के लिए एक साथ प्रतीत होता है बनाने के लिए काफी तेजी से शुरू किया गया है।

जो लोग याद करते हैं, उनके लिए अभी भी DOS4GW पर गेम चलाए जा रहे थे क्योंकि विंडोज अभी बहुत धीमा था।


1
और अधिकांश भाग के लिए, यह अभी भी है कि आज तक ऑपरेटिंग सिस्टम में चीजें कैसे काम करती हैं। इसलिए आप उदाहरण के लिए 4 कोर सीपीयू पर "एक ही समय में" 10 चीजें चला सकते हैं।
jwenting

2
यह वास्तव में नहीं है कि "सीपीयू काफी तेजी से शुरू हो रहा है"। मल्टी-यूजर मल्टी-टास्किंग ऑपरेटिंग सिस्टम को '286 (जैसे द मार्क विलियम्स कंपनी के कोऑरेन्ट , 1983 में पीसी के लिए पेश किया गया एक बेहतरीन ओएस) चलाना संभव था । MS-DOS और Windows (NT नहीं) संस्करण (और सहित) "मिलेनियम" वास्तव में किसी भी उद्देश्य मानक, यहां तक ​​कि उस समय के तकनीकी मानकों द्वारा अत्याचार थे, लेकिन एक बार MS-DOS को आईबीएम द्वारा पीसी के लिए मानक के रूप में स्थापित किया गया था, Microsoft विपणन और गति (अपनी एकाधिकार शक्ति के आपराधिक दुरुपयोग का उल्लेख नहीं करने के लिए) ने बेहतर प्रतिस्पर्धा को बहुत लंबे समय तक प्रभावी रूप से बाहर रखा।
एम्मेट

2
"मल्टीटास्किंग सिर्फ एक चतुर विशेषता है जब सीपीयू काफी तेजी से विकसित होने लगा ..." आपका मतलब है कि अपोलो गाइडेंस कंप्यूटर एक बहु-कार्य डिजाइन कैसे था?
एक CVn

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

0

हालांकि यह केवल एक कार्य पर ध्यान केंद्रित कर सकता है, यह क्या करेगा यह एक से दूसरे में जाने का एक सरल कदम है। इस तरह यह सामने आया कि यह मल्टीटास्किंग था, लेकिन सच में इसका सिर्फ 1 पर ध्यान केंद्रित करना था, फिर दूसरे पर, फिर दूसरे पर इत्यादि।


आप वहाँ मल्टीप्रोसेसर कंप्यूटिंग के साथ मल्टीटास्किंग का सामना कर रहे हैं । कंप्यूटर की दुनिया में कई कार्यों में बहुत तेजी से स्विच करना मल्टी टास्किंग है। सामान्य परिभाषा समानांतर निष्पादन की मांग नहीं करती है । विंडोज के विभिन्न "पुराने संस्करणों" ने मल्टीटास्किंग अलग-अलग तरीके से किया, जो कि विंडोज के किस संस्करण से निर्भर करता है, यह किस मोड में चलता है और क्या यह पहली जगह में डॉस-आधारित भी था। (Windows NT 3.1 DOS + Windows 95 से पुराना है, और SMP कर सकता है।) जैसा कि मैंने एक अन्य टिप्पणी में बताया है, इस पर पूरी किताबें लिखी गई हैं। यह वास्तव में सबसे अच्छा 2 वाक्य सारांश नहीं है।
JdeBP

@ जेडीबीपी ... मुझे मल्टीटास्किंग और मल्टीप्रोसेसर के बीच का अंतर पता है क्योंकि मैं अभी भी मुख्य रूप से सिंगल कोर प्रोसेसर का उपयोग करता हूं! कंप्यूटर सिलसिलेवार काम करते हैं। सही समानांतर केवल क्वांटम कंप्यूटिंग में देखा जाएगा।
थोथ

0

एक बात जो मैंने यहाँ नहीं देखी, वह दिलचस्प है:

विंडोज 3.0 एक पूर्व-खाली मल्टीटास्किंग सिस्टम नहीं था, जो कि OS X तक MacOS के सभी संस्करणों की तरह सहकारी था - एक ऐप को किसी भी अन्य ऐप को लेने से पहले कॉल से वापस लौटना पड़ता।

हालांकि, एक टिप्पणीकार ने मुझे याद दिलाया, डॉस ऐप बहु-कार्य थे। ऐसा इसलिए है क्योंकि वे "सहकारी" बहु-कार्य के लिए नहीं लिखे गए थे (यह हमेशा उन प्रणालियों में बनाया जाना चाहिए जो इसका उपयोग करते हैं)।

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

ये वास्तव में विंडोज़ ऐप नहीं थे, लेकिन ये थे कि थ्रेडिंग की सभी गतिविधियाँ विंडोज़ 3.1 से पहले कैसे हुईं जैसे प्रिंटर ड्राइवर, कॉम ड्राइवर आदि।

हालाँकि विंडोज़ 3.1 मल्टी टास्किंग था, डॉस नहीं था, लेकिन विंडोज़ 3.1 ने बस डॉस को रास्ते से हटा दिया और जब इसे शुरू किया (तब आप अक्सर डॉस प्रॉम्प्ट से विंडोज़ शुरू करते थे) को संभाल लिया।


386 या उच्चतर प्रोसेसर पर चलने पर Windows 3.0 ने DOS अनुप्रयोगों के प्रीमेप्टिव मल्टीटास्किंग का समर्थन किया। केवल विंडोज एप्लिकेशन को सहकारी रूप से मल्टीटास्क किया गया था।
जूल्स

ओह, यह सही है - मैं उस समय विंडोज़ ऐप्स को कोड कर रहा था और वास्तव में डॉस के बारे में नहीं सोच रहा था। इसने डॉस ऐप्स का अलग तरह से इलाज किया - जो इस ओर इशारा करने के लिए धन्यवाद।
बिल के

-8

अच्छा प्रश्न। MS-DOS में, कर्नेल अखंड था, जिसका अर्थ है कि यह एक समय में एक ही कार्य को संभाला था, बनाम नया, आधुनिक कर्नेल जिसे विंडोज 9x और वर्तमान संस्करण में लागू किया गया था। आप यहां और जांच कर सकते हैं


11
-1 आप इस बात पर संदेह करते हैं कि एक मोनोथेथिक ओएस मल्टीटास्क नहीं कर सकता है-यह गलत है। linux FAMOUSLY मोनोथेथिक कर्नेल है (linus torvalds और andrew tanenbaum के बीच एक प्रसिद्ध बहस हुई थी) लेकिन linux जाहिर तौर पर बहु-कार्य हो सकता है। यहाँ आप Linux को दिखाने के लिए एक कड़ी है अखंड है stackoverflow.com/questions/1806585/...
barlop

4
अखंड का मतलब यह नहीं है कि आप क्या सोचते हैं।
थोरबजोरन राव एंडरसन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.