Все учебники и интернет-ресурсы говорят мне, что int 80h — это устаревший стиль для вызова системных вызовов, и на платформах x86 он был заменен на SYSENTER.
Но я только что обнаружил, что моя система все еще использует int 80h. Я знаю такие учебники, как VDSO, оболочка libc, которая реализует службу системных вызовов, но не понимаю, почему int 80h все еще используется по умолчанию.
Кто-нибудь может сказать мне причину? Glibc или ядро слишком старое?
В настоящее время при каких условиях «int 80h» все еще используется по умолчанию?
Как я могу применить sysenter без установки нового glibc?
Ниже моя среда:
Я установил виртуальную машину с помощью VMWare на свой macbook air 2011 (процессор Core Duo). 32-разрядная версия Ubuntu 8.04/kernel 2.6.24 (собрана с использованием исходного файла .config)/libc 2.7 в виртуальной машине.