2016-12-04 22 views
10
Şu anda kullanıyorum

bir Simics module (bakınız bölüm 6) veri erişir getirir ve öğretim için dinlemek ve böylece enstrüman olarak çalışan bir çekirdek bu olayların tümü üzerinde geri aramalar çalıştırmak için Simics x86. aşağıdaki gibi Örneğin, ben bir Simics modülü oluşturabilirsiniz:Yaratma işlevi çağırır

/* 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); 
} 

Bunu yaparak, Simics her öğretim ve her veri erişimi üzerinde my_tool_entrypoint arayacak; Çekirdeği çalmamı sağladığımda uygun gördüğüm gibi koşuyorum. Söylemeye gerek yok, bu çok güzel ve çok güçlü bir özellik.

Sorularım şunlardır:

  1. bir VMware ESXi (veya VMware Workstation) Hipervizör üzerinde çalışan programlar için kullanılabilir böyle bir özellik var mı? Eğer öyleyse, bu özellik için dokümantasyon nerede?
  2. ESXi'de yoksa, Xen gibi başka bir hipervizörde kullanılabilir mi? Ben (yönerge getirir ve bellek erişir üzerine VMware, Xen, Bochs vb Ben eğer mümkünse soruyorum üzerinde/nasıl bir geri arama çalışmasına/altında Simics nasıl çalıştırılacağı soran DEĞİL duyuyorum

Not böyle vb VMware, Xen, Bochs, QEMU,

cevap

1

siz "vProbes" kullanmak istiyorum gibi geliyor gibi başka bir platformda) Simics ile mümkün olduğunu göstermiştir. vProbes, konuk işletim sistemindeki herhangi bir komut veya veri erişimini ve sonra geri çağırma komut dosyalarını dinamik olarak dinlemenize olanak tanır. Ben işlevini izlemek için kullanmıştır (Solaris için "Dtrace" duymuş, ancak benzer olup olmadığından emin değil) örneğin Linux scheduler içine çağırır. Komut dosyaları, Emmett adı verilen C benzeri bir dilde yazılmalıdır. Bu makale, teknolojide iyi bir okuma ve mümkün olan şey: https://labs.vmware.com/vmtj/vprobes-deep-observability-into-the-esxi-hypervisor

Ayrıca, burada İş İstasyonu ve Füzyon için referans kılavuzuna bir bağlantı bulunmaktadır. Bu biraz eski görünüyor, ama çok değişti sanmıyorum. http://www.vmware.com/pdf/ws7_f3_vprobes_reference.pdf

(btw, bu ESXi yanı sıra Workstation ve Fusion çalışır)
İlgili konular