1
리눅스가 시스템 호출에 걸려 들게하기 위해 int 0x80
을 제공한다는 것을 알고 있지만, 다른 것들과 용도는 무엇입니까?x86 칩에는 0x80 이외의 INT 명령어가 있습니까?
리눅스가 시스템 호출에 걸려 들게하기 위해 int 0x80
을 제공한다는 것을 알고 있지만, 다른 것들과 용도는 무엇입니까?x86 칩에는 0x80 이외의 INT 명령어가 있습니까?
꽤 광범위한 질문입니다. 그렇습니다. x86 칩은 다양한 소프트웨어 인터럽트를 허용합니다.
리눅스는 시스템 호출 메커니즘에 대해 int 80
을 사용하지만, 어떤 경우에는 더 효율적이기 때문에 최신 커널 버전은 int 80
이 아닌 SYSENTER
을 사용할 수 있습니다.
리얼 모드에서 인터럽트 벡터 테이블은 메모리의 특정 위치에있었습니다. "Ralf Brown"에 대해 Google이 할 수있는 일에 대해 자세히 알고 싶다면 거의 전설적인 "Interrupt List"를 유지하십시오.
보호 모드의 경우 특수 프로세서 레지스터 IDTR (IDT는 인터럽트 설명자 테이블)을 사용하여 찾을 수 있습니다.
두 경우 모두 256 개의 인터럽트를 처리 할 수 있습니다.
응시자를위한 플랫폼은 무엇입니까? 그리고 이것이 C#, C++, C 또는 gcc와 어떤 관련이 있습니까? – GManNickG