Как 32-бит код выполняется в 64-юит среде?

Тема в разделе "WASM.BEGINNERS", создана пользователем Tronix, 10 янв 2012.

  1. Tronix

    Tronix Member

    Публикаций:
    0
    Регистрация:
    10 сен 2010
    Сообщения:
    122
    Привет, интересует сабж. То есть вот скажем как 32-битные программы выполняются в 64-разрядной Windows? В эмуляторе? Или, например, эмулируются только системные call'ы, а скажем команды выполняются нативно. Тогда не понятно, как оно работает с памятью (ведь память для программы может быть адресована за границей 4Gb).
     
  2. h0t

    h0t Member

    Публикаций:
    0
    Регистрация:
    3 апр 2011
    Сообщения:
    735
    для windows это WoW64, в инете уйма информации.
     
  3. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    h0t
    это лишь виндовская реализация возможностей процессора, а автор спрашивал про сами возможности.
     
  4. Honorary_BoT

    Honorary_BoT New Member

    Публикаций:
    0
    Регистрация:
    21 мар 2008
    Сообщения:
    87
    Это не "виндовая реализация", самая что ни есть хардварная, L сегмент.
     
  5. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    Honorary_BoT
    всмысле? wow64 это название технологии внутри виндовз (Windows-on-Windows как бы намекает =) )
     
  6. Honorary_BoT

    Honorary_BoT New Member

    Публикаций:
    0
    Регистрация:
    21 мар 2008
    Сообщения:
    87
    spa
    Это технология, набор костылей, таких как исполнение легаси кода, редирект, виртуализация реестра и т.п. Виртуальной машины там внутри нет. Просто сегменты помечены буковкой. Процессор исполняет код как в нэйтиве, так и в легаси режиме.
     
  7. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    Honorary_BoT
    я это и имел в виду что процессор может исполнять 32 битный код. А вов все-таки виндовский "набор костылей"
     
  8. Honorary_BoT

    Honorary_BoT New Member

    Публикаций:
    0
    Регистрация:
    21 мар 2008
    Сообщения:
    87
    spa
    возможно, но всё же автор интересуется именно WOW64, а именно тем, что
    - нет, команды выполняются в нэйтиве
    - да, эмулируются только сисколы
    - для сисколов используется межсегментный джамп
     
  9. Tronix

    Tronix Member

    Публикаций:
    0
    Регистрация:
    10 сен 2010
    Сообщения:
    122
    Вот, теперь более-менее понятно, спасибо.
     
  10. h0t

    h0t Member

    Публикаций:
    0
    Регистрация:
    3 апр 2011
    Сообщения:
    735
    spa вы хоть читайте полностью и цитируйте не кусками я там про windows и говорил.
     
  11. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    h0t
    да, лол. не заметил почемуто =)
     
  12. sn0w

    sn0w Active Member

    Публикаций:
    0
    Регистрация:
    27 фев 2010
    Сообщения:
    956
    можно можно. причем исполнять 64код в 32разрядном окружении, называется heaven's gate