Системные вызовы в Linux x86_64 все еще генерируют прерывания?
В более старых версиях архитектуры Linux системные вызовы всегда генерировали прерывания во время их выполнения. Они будут выполнены путем установки номера системного вызова в% eax и параметров в% ebx,% ecx и т. Д. С последующим выдачей определенного прерывания int 0x80. Таким образом, можно сказать, что системные вызовы являются частой причиной программных прерываний в системе.
Однако в современных архитектурах x86_64 существует специальная инструкция системного вызова «syscall», которая обходит необходимость использовать прерывание 0x80 и, следовательно, таблицу дескрипторов прерываний вообще. Хотя я полагаю, что предыдущий метод генерации прерывания для syscall все еще поддерживается, инструкция syscall, похоже, такова, как это делается на практике.
Таким образом, мой вопрос: не правильно ли говорить, что системные вызовы генерируют прерывания? Будет ли системный вызов по-прежнему увеличивать число, видимое в столбце «прерывания», например, в vmstat?
0 ответов на вопрос
Похожие вопросы
-
9
В чем разница между командами "su -s" и "sudo -s"?
-
4
Требуется хороший бесплатный образ Ubuntu Server VMWare
-
4
Каковы различия между основными дистрибутивами Linux? Я замечу?
-
-
2
Ограничить использование процессора для Flash в Firefox?
-
2
Как мне заставить мой микрофон работать под Debian GNOME?
-
2
Конки установки - образцы / идеи?
-
3
Каковы различия между оконными менеджерами Linux?
-
2
ThunderBird / Синхронизация освещения с SE k770i
-
4
Файловая система Linux
-
6
Полноэкранная медленная вспышка в KDE 4