चूंकि आपने पहले से ही चित्र पोस्ट किया है यह स्पष्ट है कि आप पता है क्यों WOW64 मौजूद है अब आपके प्रश्न का उत्तर देने के लिए:
मुझे पता होना चाहिए कि इस परत में क्या होता है।
मुझे लगता है कि आप चाहते हैं यह कैसे लागू किया जाता है यह जानने के लिए।
स्टार्टअप प्रक्रिया: लोडर सामान्य रूप से 64-बिट उपयोगकर्ता-मोड भाग 'Ntdll.dll' को लोड करता है, लेकिन यह भी 32-बिट Ntdll.dll लोड हो जाता है जब प्रक्रिया के लिए है 32-बिट निष्पादन अब वो लोडर्स की ज़िम्मेदारी है जो Wow64.dll का उपयोग करके इनिशियलाइज़ करता है, जो कि 32-बिट नोडल में प्रोसेस और धागा संदर्भ सेट करता है और निष्पादन के लिए '32-बीट मोड में सीपीयू को स्विच करता है।'
सिस्टम कॉल: सब कुछ अब सिस्टम-कॉल तक, 32-बिट मोड में चल रहा है। हम जानते हैं कि सिस्टम कॉल Ntdll.dll, User32.dll, और Gdi32.dll आदि के माध्यम से जाते हैं; इस मामले में 32-बिट संस्करण \ Windows \ Syswow64 बिट फ़ोल्डर में स्थित इन पुस्तकालयों का एक अलग 32-बिट संस्करण है। ये सिर्फ स्टब्स हैं कि 'मूल सिस्टम कॉल' जारी करने के बजाय, वास्तव में WOW64.dll में कॉल करें अब, Wow64.dll को 64-बिट मोड में बदलाव के लिए, पैरामीटर को उनके 64-बिट समकक्षों में कनवर्ट करना, 64-बिट संस्करणों का उपयोग करके सिस्टम कॉल जारी करना, परिणाम प्राप्त करना और आउटपुट को 32-बिट में फिर से करना यह तब सीपीयू को 32-बिट मोड में परिवर्तित करता है और आउटपुट देता है।
अपवाद प्रेषण, यूजर कॉलबैक, फाइल सिस्टम और रजिस्ट्री आपरेशन, और आई / ओ को उसी तरह नियंत्रित किया जाता है, लाइन। नीचे दिए गए पुस्तक को पढ़ें।
(विशेषकर, वे कैसे पता स्थान बदल सकते हैं)।
64-बिट पता स्थान 32-बिट पता स्थान का एक सुपरसेट है साथ ही, 32-बिट / 64-बिट में एक ही पॉइंटर (वास्तव में PTE) का उपयोग संपूर्ण पता स्थान को संदर्भित करने के लिए नहीं किया जाता है, लेकिन यूज़र-स्पेस के लिए और सिस्टम स्पेस के लिए अलग पेज टेबल हैं।
कृपया मुझे कुछ महत्वपूर्ण बिंदुएं दें।
खिड़कियां जानने के लिए, सबसे महत्वपूर्ण बिंदु मैं आपको दे सकता हूं 'Windows Internals' - Russinovich
Comments
Post a Comment