2016-12-04 17 views
10

में डेटा एक्सेस पर जेनरेटिंग फ़ंक्शन कॉल मैं वर्तमान में Simics module (अध्याय 6 देखें) को निर्देश प्राप्त करने और डेटा एक्सेस सुनने के लिए उपयोग कर रहा हूं, और उन सभी घटनाओं पर कॉलबैक चलाता हूं ताकि एक कर्नेल जो चल रहा है सिमिक्स x86। उदाहरण के लिए, मैं एक Simics मॉड्यूल इस प्रकार बना सकते हैं:वीएमवेयर ESXi

/* Initialize our Simics module. */ 
void init_local(void) 
{ 
    const class_data_t funcs = { 
     .new_instance = ls_new_instance, 
     .class_desc = "desc", 
     .description = "A simics module." 
    }; 

    /* Register the empty device class. */ 
    conf_class_t *conf_class = SIM_register_class(SIM_MODULE_NAME, &funcs); 

    /* Register our class class as a trace consumer. */ 
    static const trace_consume_interface_t trace_int = { 
     .consume = (void (*)(conf_object_t *, trace_entry_t *))my_tool_entrypoint 
    }; 
    SIM_register_interface(conf_class, TRACE_CONSUME_INTERFACE, &trace_int); 
} 

ऐसा करने से, Simics my_tool_entrypoint हर अनुदेश और हर डेटा का उपयोग पर फोन करेगा; मैं कर्नेल को उपकरण देने की इजाजत देता हूं क्योंकि मैं फिट बैठता हूं। कहने की जरूरत नहीं है यह एक बहुत ही शांत और बहुत शक्तिशाली विशेषता है।

मेरे प्रश्न हैं:

  1. एक ऐसी विशेषता एक VMware ESXi (या VMware कार्य केंद्र) सूत्र पर चल रहे कार्यक्रमों के लिए उपलब्ध है? यदि हां, तो उस सुविधा के लिए प्रलेखन कहां है?
  2. यदि यह ESXi पर उपलब्ध नहीं है, तो यह ज़ेन जैसे किसी भी अन्य हाइपरवाइजर पर उपलब्ध है?

ध्यान दें कि मैं कर रहा हूँ नहीं VMware, एक्सईएन, Bochs, आदि मैं अगर यह संभव है पूछ रहा हूँ से अधिक/कैसे एक कॉलबैक चलाने के लिए/अनुदेश को हासिल करेगा और स्मृति तक पहुँचता है पर के तहत Simics को चलाने के लिए कैसे (के रूप में पूछ रहा मैंने सिमिक्स के साथ संभव था) वीएमवेयर, ज़ेन, बोच, क्यूमु, आदि जैसे किसी अन्य प्लेटफ़ॉर्म पर

उत्तर

1

ऐसा लगता है जैसे आप "vProbes" का उपयोग करना चाहते हैं। vProbes आपको अतिथि ओएस और फिर कॉलबैक स्क्रिप्ट में किसी भी निर्देश या डेटा पहुंच को गतिशील रूप से मापने की अनुमति देता है। (सुनिश्चित नहीं है कि आपने सोलार्स के लिए "Dtrace" के बारे में सुना है, लेकिन यह समान है) उदाहरण के लिए मैंने लिनक्स शेड्यूलर के अंदर फ़ंक्शन कॉल का पता लगाने के लिए इसका उपयोग किया है। स्क्रिप्ट को एएमएमटी नामक सी-जैसी भाषा में लिखा जाना है। यह आलेख तकनीक पर एक अच्छा पठन है और क्या संभव है: https://labs.vmware.com/vmtj/vprobes-deep-observability-into-the-esxi-hypervisor

इसके अलावा, यहां वर्कस्टेशन और फ़्यूज़न के संदर्भ मार्गदर्शिका का एक लिंक है। यह थोड़ा पुराना लगता है, लेकिन मुझे नहीं लगता कि यह बहुत बदल गया है। (बीटीडब्लू, यह ईएसएक्सआई के साथ-साथ वर्कस्टेशन और फ्यूजन पर काम करता है) http://www.vmware.com/pdf/ws7_f3_vprobes_reference.pdf

संबंधित मुद्दे