एमएस-डॉस एक COM या EXE फ़ाइल को स्मृति में लोड करने के लिए क्या कदम उठाता है? क्या यह अभी भी ऑनलाइन संदर्भ है कि यह कैसे होता है? सबसे अच्छा मैं सोच सकता हूं कि संभवतः डॉसबॉक्स स्रोत का जिक्र है।डॉस प्रोग्राम को स्मृति में कैसे लोड करता है?
11
A
उत्तर
17
जब कमांड.com को .com या .exe फ़ाइल निष्पादित करने के लिए कहा जाता है, तो यह इंटरप्ट सेवा 21h/AH = 4B, EXEC सेवा को कॉल करेगा। यह फोन करने के कार्यक्रम के लिए के लिए है:
- एक डॉस EXEC पैरामीटर ब्लॉक का निर्माण (, कमांड लाइन तर्क, FCBs वातावरण चर के बारे में जानकारी भी शामिल है और वापसी पर मूल्यों रजिस्टर) (देखें http://www.delorie.com/djgpp/doc/rbinter/it/90/15.html)
- मुक्त सभी स्मृति बुला कार्यक्रम
- सेटअप बुला तर्क का उपयोग नहीं कर रहा है पंजीकृत करता
- आह = 4BH ('EXEC' सेवा प्रकार)
- अल = 00h ('लोड और निष्पादित' समारोह)
- डी एस: dx -> कार्यक्रम का नाम
- तों: bx -> ptr वापसी रीसेट ढेर सूचक और त्रुटियों के लिए परीक्षण पर पैरामीटर ब्लॉक exec को
- कॉल बाधा 21h
- ।
जब बाधा 21h कहा जाता है (यहां जहां यह मेरे लिए धुंधला हो जाता है): स्मृति के
- एक पेज गठबंधन ब्लॉक आवंटित किया जाता है
- फाइल एक्सटेंशन नजरअंदाज कर दिया है, बजाय डॉस पहले की जाँच करेगा हस्ताक्षर "एमजेड" या "जेडएम" के लिए फ़ाइल के दो बाइट्स यदि कोई EXE है, और COM के लिए कोई हस्ताक्षर नहीं है।
:
- exe हैडर प्रारंभिक रजिस्टर के लिए पढ़ने के लिए है
- स्थानांतरण तालिका (http://en.wikipedia.org/wiki/Relocation_table देखें) पढ़ा जाता है और दूर संकेत स्मृति में exe से
- प्रतिलिपि कोड अनुभाग को महत्व देता है समायोजित कर रहे हैं मेमोरी
- सेटअप रजिस्टर मान
- AL, एएच ड्राइव अक्षर स्थिति
- डी एस, ES -> पीएसपी खंड (देखें http://en.wikipedia.org/wiki/Program_Segment_Prefix)
- एसएस: सपा -> ढेर सूचक (exe हेडर में निर्धारित)
- सीएस के लिए कूद: आईपी -> प्रवेश बिंदु (exe हेडर में निर्धारित, रिश्तेदार कार्यक्रम के शुरू करने के लिए)
:
- प्रति पूरे।स्मृति में कॉम फ़ाइल
- सेटअप रजिस्टर महत्व देता
- AL, एएच ड्राइव अक्षर स्थिति
- सीएस, डी एस, ES, एस एस -> पीएसपी खंड
- सपा = अंतिम शब्द की भरपाई पहले 64k खंड में उपलब्ध
- आईपी करने के लिए कूद = 100h
कार्यक्रम अब क्रियान्वित किया जाना चाहिए।
नोट्स:
माइक्रोसॉफ्ट के KB दस्तावेज़ "लगाने निष्पादन योग्य फ़ाइलों में प्राथमिकता का क्रम" में, यह .com क्रियान्वित करने के लिए की उपयोग "MS-DOS EXEC समारोह (बीच में 21h सेवा 4BH)" का उल्लेख है और .exe फ़ाइल http://support.microsoft.com/kb/35284
तो हम इंट पर राल्फ ब्राउन के इंटरप्ट सूची देख सकते हैं 21/एएच = 4BH
- http://www.cs.cmu.edu/~ralf/files.html
- इंट 21/एएच = 4BH http://www.delorie.com/djgpp/doc/rbinter/id/51/29.html
- इंट 21/एएच = 4BH http://www.ctyme.com/intr/rb-2939.htm
और उपयोग का एक उदाहरण:
- विधानसभा/19.1.1.1 लोड की कला और निष्पादित http://webster.cs.ucr.edu/AoA/DOS/ch19/CH19-1.html#HEADING1-10
और डॉस एक्सई हेडर प्रारूप:
(यह कुछ Googling बंद आधारित है, इसलिए सुझाव जोड़ने के लिए संकोच न करें)
संबंधित मुद्दे
- 1. सी #/एक्सएनए - स्मृति को स्मृति लोड करें - यह कैसे काम करता है?
- 2. क्या ट्रूक्रिप्ट डिस्क से स्मृति में प्रोग्राम को प्रोग्राम रूप से पढ़ने का कोई तरीका है?
- 3. UIWebView रिसाव स्मृति करता है?
- 4. अजगर लोड स्मृति
- 5. मैं डेबियन पर डॉस प्रोग्राम कैसे संकलित करूं?
- 6. डॉस
- 7. क्या कोई परिणामसेट डेटा को स्मृति में या केवल अनुरोध करते समय लोड करता है?
- 8. ptr_vector स्मृति का प्रबंधन कैसे करता है?
- 9. पायथन sys.path में सभी मानों को कैसे लोड करता है?
- 10. कोडिनेटर लोड फ़ाइलों को कैसे लोड करता है और चर के माध्यम से पास करता है?
- 11. जावा: यह निश्चित मात्रा में स्मृति का उपयोग क्यों करता है? या यह स्मृति का प्रबंधन कैसे करता है?
- 12. प्रोग्राम कैसे निष्पादित करता है? ऑपरेटिंग सिस्टम कहां खेलता है?
- 13. क्या सी ++ प्रोग्राम क्रैश होने पर स्वचालित रूप से स्मृति को मुक्त करता है?
- 14. स्मृति उपयोग बैटरी जीवन को कैसे प्रभावित करता है?
- 15. मेरा डेल्फी प्रोग्राम की स्मृति क्यों बढ़ती जा रही है?
- 16. प्रोग्राम 'टर्म' को समाप्त करता है जब प्रोग्राम
- 17. स्मृति में छवियों को लोड करने का सबसे अच्छा तरीका?
- 18. , स्काइप जैसे प्रोग्राम कैसे काम करता है?
- 19. बोहेम जीसी सी प्रोग्राम के लिए कैसे काम करता है?
- 20. समानांतर में एकाधिक डॉस कमांड कैसे चलाएं?
- 21. स्मृति में किसी स्थान से DLL लोड हो रहा है
- 22. PHP में फ़ाइल पढ़ने पर स्मृति को कैसे सहेजना है?
- 23. फ़ंक्शन के बाद कॉन्स्टेशन प्रोग्राम को अनुकूलित कैसे करता है?
- 24. कैसे करता है? #iefix IE6-IE8 में लोड होने वाले वेब फोंट को हल करता है?
- 25. ओएस भौतिक स्मृति के वास्तविक आकार को कैसे जानता है?
- 26. फ़ाइलों को डॉस से यूनिक्स
- 27. क्लासलोडर लोड आयात कब करता है?
- 28. क्यों एंड्रॉयड की जरूरत की तुलना में अधिक स्मृति को आबंटित करता है जब छवियों को लोड
- 29. प्रोग्राम जो एचटीएमएल को छवि में परिवर्तित करता है
- 30. क्या XPathDocument पूरे XML दस्तावेज़ को लोड करता है?
पैटरसन, डॉस के मूल लेखक से पूछो: http: // dosmandrivel। blogspot.com/ – vulkanino