क्या Windows अभी भी MS-DOS पर निर्भर है?


71

मैं बस एक ओएस कोर्स शुरू करने वाला हूं और एक Apple उपयोगकर्ता के रूप में मैं विंडोज ओएस के अंतर्निहित विवरणों से बहुत परिचित नहीं हूं। मैं सोच रहा था, क्या MS DOS अभी भी शीर्ष पर चल रहे विंडोज के साथ उपयोग किया जाता है या केवल Windows अब OS के रूप में उपयोग किया जाता है? मैं थोड़ा उलझन में था क्योंकि मैंने कहीं पढ़ा है कि MS-DOS का उपयोग बूटिंग के लिए किया जाता है, लेकिन Windows में अन्य सभी OS क्षमताओं का निर्माण किया गया है और इस प्रकार अन्य सभी OS संचालन के लिए उपयोग किया जाता है ...


इस चर्चा का अंत दिलचस्प लग रहा है।
user2284570

नहीं, यह नहीं है। आखिरी उपभोक्ता ओएस जो एमएस-डॉस पर निर्भर था, वह विंडोज मी था। विंडोज एक्सपी, विस्टा, 7, और बाद में सभी विंडोज एनटी आर्किटेक्चर पर बनाए गए हैं।
bwDraco

जवाबों:


140

जब Microsoft Windows की बात आती है, तो दो अलग-अलग वंश होते हैं, और यह चीजों की मदद नहीं करता है जब लोग एक वंश के बारे में चीजें लिखते हैं जो उन्होंने दूसरे के बारे में सीखा है।

  • डॉस + विंडोज वंश 3.11 संस्करण के लिए ऊपर सभी संस्करणों शामिल डॉस + विंडोज, डॉस + विंडोज 95, डॉस + विंडोज 98, और डॉस + विंडोज मिलेनियम संस्करण। इसमें विंडोज डॉस के ऊपर स्तरित है। इस लेयरिंग के विषय पर पूरी किताबें लिखी गई हैं, और यह कुछ विवाद का विषय है, कम से कम नहीं क्योंकि 1990 के दशक के मध्य तक मेले के लिए बहुत सारे लोग चाहते थे कि दुनिया यह विश्वास करे कि डॉस चला गया था और विंडोज ऑपरेटिंग सिस्टम।

    यह डॉस + विंडोज बूटस्ट्रैप प्रक्रिया है।

  • Windows NT वंश शामिल Windows NT 3.x, Windows NT 4.0, Windows NT 5.0 ( "विंडोज 2000"), Windows NT 5.1 ( "Windows XP"), Windows NT 5.2 (Windows XP के कुछ संस्करणों और "Windows Server 2003" ), विंडोज एनटी 6.0 ("विंडोज विस्टा"), और विंडोज एनटी 6.1 ("विंडोज 7")। यह डॉस के शीर्ष पर स्तरित नहीं है, डॉस के लिए पूरी तरह से अलग तरीके से काम करता है, और एक एनटी वर्चुअल डॉस मशीन (एनटीवीडीएम) के माध्यम से डॉस एप्लिकेशन चला सकता है जो कि एक वर्चुअल मशीन है जो विंडोज एनटी के शीर्ष पर चलती है बजाय अन्य निकलने का रास्ता।

    यह विंडोज NT 6.x बूटस्ट्रैप प्रक्रिया है।

यह भी मदद नहीं करता है जब लोग गलती से विंडोज एनटी में "डॉस प्रॉम्प्ट" की बात करते हैं, जैसा कि यहां जवाब में भी हुआ है। इस तथ्य के अलावा कि यह कमांड इंटरप्रेटर है जो प्रॉम्प्ट नहीं करता है , ऑपरेटिंग सिस्टम नहीं है , यह "टेक्स्ट यूजर इंटरफेस" और "कमांड इंटरप्रेटर" के साथ "डॉस" का सामना करता है, जिनमें से कोई भी डॉस के साथ वास्तविकता का पर्याय नहीं है। DOS ऑपरेटिंग सिस्टम का एक परिवार है: MS-DOS, PC-DOS, DR-DOS, FreeDOS, OpenDOS, et cetera।

यदि किसी के पास विंडोज़ एनटी पर कमांड प्रॉम्प्ट विंडो खुली है, तो लगभग हमेशा चालू रहता है CMD, जो कि बॉक्स में आपूर्ति की जाने वाली Microsoft की डिफ़ॉल्ट कमांड दुभाषिया है और जो एक साधारण, पाठ्य उपयोगकर्ता इंटरफ़ेस, Win32 प्रोग्राम है। कोई "डॉस" नहीं है, न ही एनटीवीडीएम। वहाँ सिर्फ एक Win32 प्रोग्राम है जो अपने Win32 कंसोल ऑब्जेक्ट से बात कर रहा है। और वास्तव में कई टीयूआई कार्यक्रमों के लिए, जो कि विंडोज एनटी पर चल सकते हैं, जिसमें माइक्रोसॉफ्ट के विभिन्न संसाधन किटों के सभी उपकरण शामिल हैं , तस्वीर में कहीं भी डॉस की अभी भी कोई आशंका नहीं है, क्योंकि ये सभी सामान्य Win32 प्रोग्राम हैं जो Win32 कंसोल प्रदर्शन करते हैं। / ओ, भी।

विडंबना यह है कि 1993 में विंडोज एनटी 3.1 जारी किया गया था, विंडोज एनटी वंश वास्तव में नॉट -बेस्ड-ऑन-डॉस विंडोज-इस-ऑपरेटिंग-सिस्टम प्रणाली है जो 1990 के दशक के मध्य में सभी लोग समझाने की कोशिश कर रहे थे। दुनिया जो डॉस + विंडोज 95 थी।

और, अठारह साल बाद, हम अभी भी इसे कुछ लोगों के माध्यम से प्राप्त करने की कोशिश कर रहे हैं कि विंडोज एनटी डॉस की तरह काम नहीं करता है और कभी नहीं होता है । ☺

आगे की पढाई

  • जोनाथन डी बॉयने पोलार्ड (2006)। ऑपरेटिंग सिस्टम कर्नेल डेवलपर्स और डिवाइस ड्राइवर लेखकों के लिए एक पुस्तक सूची । बार-बार दिए गए जवाब।
  • मार्क ई। रोसिनोविच, डेविड ए। सोलोमन, एलेक्स आयनसु (2009)। विंडोज इंटरनेशनल (5 वां संस्करण) । Microsoft प्रेस। आईएसबीएन 9780735625303
  • वाल्टर ओनी (1996)। विंडोज 95 के लिए सिस्टम प्रोग्रामिंग । Microsoft प्रेस। आईएसबीएन 1 55615 949 8।
  • मैट पिएट्रैक (नवंबर 1995)। विंडोज 95 सिस्टम प्रोग्रामिंग सीक्रेट्स । आईडीजी बुक्स। आईएसबीएन 1-56884-318-6।
  • एंड्रयू शुलमैन (1994)। अनधिकृत विंडोज 95 । दुनिया भर में IDG पुस्तकें। आईएसबीएन 9781568841694
  • मैट पिएट्रैक (1993)। विंडोज इंटर्नल्स: विंडोज ऑपरेटिंग वातावरण का कार्यान्वयन । एडिसन-वेस्ले। आईएसबीएन 9780201622171।
  • एंड्रयू शुलमैन, डेविड मैक्स, मैट पिएट्रैक (1992)। अनकम्फर्टेबल विंडोज: माइक्रोसॉफ्ट विंडोज एपी फंक्शंस को आरक्षित करने के लिए एक प्रोग्रामर गाइड । एडिसन-वेस्ले। आईएसबीएन 9780201608342।

11
यह केवल बेहतर हो जाता है। मैं अभी भी लोगों को सिखा रहा हूं कि आप अनुप्रयोगों के बीच Alt-Tab कर सकते हैं। । ।
सर्फस

2
क्या यह सच नहीं है कि विंडोज 95+ के लिए, डॉस को एक बूटलोडर के रूप में इस्तेमाल किया जा रहा है, बल्कि एक ऑपरेटिंग सिस्टम परत के रूप में। यानी विंडोज 95+ बूट प्रक्रिया के अलावा डॉस सेवाओं का आह्वान नहीं करता है।
विंस्टन इर्वर्ट

3
@ आइंस्टीन इवर्ट, मेरी जानकारी के लिए विंडोज़ प्रोग्राम अभी भी विंडोज़ 95 में dos INT 21h पर निर्भर हैं। उदाहरण के लिए, INT 21h फंक्शन 55h इनिशियलाइज़ेशन के लिए और INT 21h फंक्शन 4Ch टर्मिनेशन के लिए। मैं 98 और मेरे लिए जवाब नहीं दे सकता। लेकिन 95 ने किया।
आर्टिफेक्स

6
हालाँकि आप अभी भी एक्सप्लोरर 7 के तहत विंडोज 7 में आरक्षित डॉस डिवाइस नामों का उपयोग नहीं कर सकते हैं!
लॉरेंस

5
लोग! आपको पता है कि यह साइट कैसे काम करती है। यदि आप डॉस मोड के बारे में प्रश्न पूछना चाहते हैं , तो msdos.sys विकल्पों के अर्थ, और क्यों कोई Win32 में फ़ाइल नाम के रूप में कई नामों का उपयोग नहीं कर सकता है, तो इस पृष्ठ के शीर्ष पर प्रश्न हाइपरलिंक का उपयोग करें । शुरुआत, इसके अलावा, उन लोगों के सवालों को पढ़कर करें, जिनके पास पहले से है
JdeBP

23

इसके अतिरिक्त विंडोज 95 डॉस के शीर्ष पर पूरी तरह से जीयूआई नहीं था। यहाँ और पढ़ें:

http://blogs.msdn.com/b/oldnewthing/archive/2007/12/24/6849530.aspx


1
मुझे यह याद है, पूरे VxD इंटरफ़ेस और VMM स्विचर। यह एक ओएस पर कुछ हद तक आगे बढ़ने का एक दिलचस्प तरीका था और अभी भी बहुत पीछे संगतता है।
रिच होमोलका

विंडोज 95 एमएस-डॉस 7 के साथ आया था, और एक डॉस-ओनली बूट डिस्क बनाने के लिए सिर्फ डॉस हिस्से का उपयोग कर सकता है और कुछ ऐसा है जो एमएस-डॉस 6 के थोड़े टूटे हुए संस्करण की तरह महसूस करता है (लेकिन कुछ नए अतिरिक्त के साथ भी। विशेषताएं)।
Randolf Richardson

4
सबसे सही उत्तर है: विंडोज 95 के बाद से विंडोज डॉस पर निर्भर नहीं रहा है। और 32-बिट ड्राइवरों को संभालने के बाद सख्ती से विंडोज 3.11 बोलने की जरूरत नहीं है। लेकिन 3.11 बूट-लोडर के साथ नहीं आया था; इसलिए इसे आरंभिक बिंदु पर लाने के लिए DOS की आवश्यकता थी।
इयान बॉयड

1
यह ब्लॉग एक बहुत अच्छा पढ़ा है, इस लिंक के लिए धन्यवाद
crasic

20

नहीं , "एनटी कर्नेल" वाले सभी विंडोज संस्करण डॉस के शीर्ष पर एक जीयूआई की तरह थे। NT के साथ, जो विशेष रूप से विंडोज एक्सपी (और विंडोज विस्टा और विंडोज 7 दोनों एनटी कर्नेल का उपयोग करते हैं) की शुरूआत के साथ आम हो गया, अंतर्निहित ओएस को समाप्त करने के रूप में डॉस का उपयोग करने की आवश्यकता

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

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

नोट: शब्दावली "डॉस प्रॉम्प्ट" आमतौर पर एनटी कर्नेल की शुरुआत से पहले "कमांड प्रॉम्प्ट" का वर्णन करने के लिए उपयोग किया जाता था। हालाँकि कई लोग आज भी "DOS प्रॉम्प्ट" शब्द का उपयोग करते हैं (क्योंकि वे इसका उपयोग कई समान कमांडों को चलाने के लिए करते हैं, जिन्हें मूल रूप से "DOS कमांड्स" के रूप में संदर्भित किया जाता है, जो कि आमतौर पर DOS वातावरण में उपलब्ध हैं), शब्द "कमांड" प्रॉम्प्ट "विंडोज़ के NT वेरिएंट में तकनीकी रूप से सही है।


13
विरासत (प्राचीन, 16-बिट) डॉस एप्लिकेशन एनटीवीडीएम में चलाए जाते हैं, जो कमांड प्रॉम्प्ट सबसिस्टम के अंदर उत्सर्जित होता है। NTVDM 64-बिट विंडोज सिस्टम में उपलब्ध नहीं है, इसलिए आपको DOSBox या VirtualBox जैसे 16-बिट DOS ऐप चलाने के लिए एक 3 पार्टी एमुलेटर की आवश्यकता होती है।
अफ्रीकी

11
64-बिट विंडोज में एनटीवीडीएम उपलब्ध नहीं होने का कारण यह है कि यह केवल एक पतली आवरण है जो कोड को चलाने से पहले सीपीयू को 16-बिट मोड में स्विच करता है। 64-बिट मोड में, CPU केवल 32-बिट कोड को 32-बिट कोड को चलाने के लिए अस्थायी रूप से स्विच कर सकता है; यह एक ठंडे रिबूट के बिना 16-बिट कोड नहीं चला सकता है।
हैलो71

2
सभी पर ध्यान दें: इस पोस्ट से टिप्पणियों को साफ किया गया है। इसमें शामिल लोगों के लिए: कृपया इसे नागरिक रखें और याद रखें कि जब भी संभव हो विस्तारित चर्चा को चैट में स्थानांतरित किया जाना चाहिए - किसी पोस्ट पर अत्यधिक टिप्पणियां अन्य आगंतुकों के लिए बहुत शोर बन जाती हैं।
DMA57361 16

चूंकि लोग इस पोस्ट के बारे में तीखी बहस करते रहे, इसलिए हम इसे अभी के लिए बंद कर रहे हैं। टिप्पणियां हटा दी गई हैं, फिर से।
nhinkle

@ हैलो 71 गलत। उदाहरण के लिए लिनक्स में यह कर सकते हैं। और आप 64-बिट लिनक्स में 16-बिट डॉस और विन 3.1 ऐप चला सकते हैं।
ऐनिक्स

5

Randolf के लिए एवर के रूप में अधिक है, लेकिन वह केवल एक ही नहीं है, कमांड लाइन इंटरफेस और DOS को बार-बार भ्रमित कर रहा है ।

ध्यान दें, कि कई [DOS] और [MS-DOS] टैग एक ही गलती से पीड़ित होते हैं: MS-DOS में शुरू में केवल एक textmode था, एक कमांडलाइन इंटरफ़ेस, जिसे command.comहम में से कई के लिए + norton कमांडर कहा जाता था , और फ्रेम के साथ एक होमगार्ड टेक्स्टमोड विंडोज़। , asi.sys के साथ, लेकिन न केवल कीबोर्ड द्वारा नियंत्रित किया जाता है, बल्कि माउस द्वारा, लेकिन अधिक आसानी से एरोकी और हॉटकीज़ के साथ।

तब विंडोज़ डॉस (2.0, 3.0, 3.1, 3.11) के ऊपर बनाया गया था , जहां विंडोज़ के अंदर कमांड इंटरफ़ेस के लिए एक नाम के रूप में, विंडोज़ के अंदर डॉस-बॉक्स के लिए एक आइकन फिर से प्रकट हुआ।

लेकिन विंडोज-एनटी और विंडोज -95 या -98 में एमएस-डॉस को छोड़ दिया गया था, लेकिन एक कमांड-दुभाषिया, cmd.exe(cmd32.exe) अभी भी मौजूद है, उसी के साथ, या लगभग समान सिंटैक्स और कीवर्ड। लेकिन यह एक प्रोग्राम था, जो विंडोज के अंदर चल रहा था, अन्य टेक्स्ट-स्टाइल कमांड के दुभाषियों के रूप में, जैसे कि BASIC, irb (Ruby), scala-reply, psql (Postgresql), sqlplus (oracle), bc, R, rhino, और इसी तरह, और इसी तरह, कई प्लेटफार्मों पर चल रहा है।

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

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

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

यहाँ तक कि एक g.exe-sed, awk, bc, टेल, रेव, कैट और इन सभी के साथ gnu-toolchain का एक पोर्ट भी है, जो मूल win32 ऐप के रूप में है।

शायद तुम cmd.exe से कम उम्र के डॉस कार्यक्रमों को चला सकते हैं, लेकिन आप डॉस मोड में Windows प्रोग्राम नहीं चला सकते हैं, इसलिए लोगों को यह बताते नहीं रखते, कि cmd.exe है डॉस - ऐसा नहीं है। और यह डॉस-जैसा नहीं है । तुम्हारा मतलब क्या है, एक interactive command-line program, एक है command-line interface

  • डॉस प्रॉम्प्ट
  • डॉस बैच की फाइलें
  • डॉस-जैसी आज्ञा
  • डॉस-शैली कंसोल
  • डॉस अनुप्रयोगों

लगभग हमेशा भ्रामक शब्दावली है । यह एक शौकिया के लिए उपयुक्त हो सकता है, लेकिन अगर आप चाहते हैं कि आपके दर्शक समझें, आप किस बारे में बात कर रहे हैं, तो आपको खुद से पूछना चाहिए: क्या यह डॉस के लिए एक विशेष ओएस तक ही सीमित है? क्या सीएलआई-शैली को 'डॉस-शैली' नाम दिया गया है? क्या यह ऐतिहासिक रूप से सही है? क्या आपके दर्शकों को डॉस का पता है? क्या यह समझने में सहायक है? क्या वे कार्यक्रम वास्तव में डॉस पर चलते हैं?

जटिल बातों को समझाने के लिए, आपको एक सर्जन की चाकू की तरह तेज अभिव्यक्ति की आवश्यकता है। गलत अभिव्यक्तियाँ आपके दर्शकों के मस्तिष्क में गलत प्रभाव डालती हैं। मैला भाव कुछ भी नहीं से भी बदतर हैं। इनसे बचें। CLIयदि टाइप करने के लिए कमांड-लाइन इंटरफ़ेस है, तो इसका उपयोग करें ।

एसयू, एसई और अन्य पक्षों पर भ्रामक टैग सही करें।


ख़ूब कहा है। चारों ओर बुरी शब्दावली।
मिलिंद आर

Win95 और Win98 में कोई cmd.exe नहीं था।
अनएक्सएक्स

2

Windows NT परिवार (NT, 2000, XP, 2003, Vista, 2008, 7) में यह DOS स्वतंत्र है। पिछड़े अनुकूलता के लिए केवल डॉस एमुलेटर हैं।

हालाँकि अभी भी कुछ सीमाएं हैं जो शुरुआती NT दिनों में DOS के साथ संगतता के परिणाम हैं। उदाहरण के लिए आप "CON" या "PRN" नाम की फ़ाइल या निर्देशिका बनाने में सक्षम नहीं हैं, क्योंकि वे डॉस में उपकरणों का प्रतिनिधित्व करने के लिए आरक्षित नाम हैं।


1

दरअसल, अब विंडोज डॉस का उपयोग नहीं करता है। DOS (या cmd) के लिए प्रॉम्प्ट Windows XP, Vista या सात पर अनुकरण किया जाता है। विंडोज अपने संसाधनों से बूट करता है।


9
-1: गलत। यह नहीं है to DOS (or cmd)। एक कमांड दुभाषिया, cmd.exe है, लेकिन यह डॉस नहीं है। DOS के पास एक कमांड दुभाषिया भी था, कमोडैक्स, जो सिंटैक्स, कीवर्ड और उपयोग में बहुत समान है, लेकिन कमांड इंटरफ़ेस DOS का एक हिस्सा मात्र है; यह डॉस नहीं है।
उपयोगकर्ता अज्ञात

हां console, पीई हेडर में टाइप Win32 / Win64 सबसिस्टम का एक हिस्सा है। यह 16-बिट बिल्कुल नहीं है।
user2284570
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.