объясниете про команду sysenter

Тема в разделе "WASM.BEGINNERS", создана пользователем ksacvet777, 14 ноя 2006.

  1. ksacvet777

    ksacvet777 Александр

    Публикаций:
    0
    Регистрация:
    9 ноя 2006
    Сообщения:
    180
    Адрес:
    Кемеровская обл.
    Доброго времени суток !

    плз, объясниете про команду (значение) sysenter ?

    заранее , спасибо ! .:))
     
  2. nermest

    nermest New Member

    Публикаций:
    0
    Регистрация:
    3 июл 2006
    Сообщения:
    157
    http://www.wasm.ru/forum/viewtopic.php?pid=125956 - тут лежат ссылки на мануалы
     
  3. Mika0x65

    Mika0x65 New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2005
    Сообщения:
    1.384
    Общий смысл в том, чтобы иметь возможность переключаться с третьего кольца на нулевое, причем, как можно быстрее.

    Раньше для переключения уровня привелегий можно было исользовать либо шлюзы вызова (call gate), что было медленно, из-за проверок, которые не очень-то и нужны для плоского адресного пространства (ненужность проверок -- вопрос спорный, но суть в том, что это было медленно), либо шлюзы прерываний (int gate) -- которые быстрее чем call gates. int gates, при отсутствии инструкций sysenter/sysexit как раз и используются для системных вызовов ОС. Беда в том, что int gate все равно использует память (GDT для получения CS:OFFSET и стек SS:ESP), что тоже не быстро. Тогда ввели пару инструкций sysenter/sysexit, которые, для получения CS:OFFSET & SS:ESP используют MSR -- так быстрее.

    Подробности в Intel Manual :).
     
  4. ksacvet777

    ksacvet777 Александр

    Публикаций:
    0
    Регистрация:
    9 ноя 2006
    Сообщения:
    180
    Адрес:
    Кемеровская обл.
    Mika0x65
    big спасибо...

    а между процессорами амд и интел есть какая-нибудь существенная разница ???
     
  5. BUGOR

    BUGOR New Member

    Публикаций:
    0
    Регистрация:
    14 авг 2005
    Сообщения:
    44
    Эээ... вопрос на миллион называется:)
     
  6. Mika0x65

    Mika0x65 New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2005
    Сообщения:
    1.384
    Дико извиняюсь, в случае прерываний используется не GDT, а IDT конечно же.
     
  7. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    Mika0x65
    к сабжу не относится, и есть такая кнопка - Редактирование =)
     
  8. Mika0x65

    Mika0x65 New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2005
    Сообщения:
    1.384
    n0name
    Ну... Косвенно, но все же относится, думаю. Насчет "Редактирование" знаю -- специально отдельным сообщением запостил, чтобы внимание на исправление обратить :).
     
  9. ksacvet777

    ksacvet777 Александр

    Публикаций:
    0
    Регистрация:
    9 ноя 2006
    Сообщения:
    180
    Адрес:
    Кемеровская обл.
    Ребята , ну что там на счёт разниц между процессорами амд и интел ??? :))

    А то вас понесло куда-то ..... :)))
     
  10. Ustus

    Ustus New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2005
    Сообщения:
    834
    Адрес:
    Харьков
    ksacvet777
    Насколько знаю, никакой.
    У обоих используются MSR:
    0000_0174h - base selector CS/SS
    0000_0175h - target ESP
    0000_0176h - target EIP

    AMD'шникам и этого было мало и они придумали еще SYSCALL/SYSRET