시스템 호출 수를 찾는 방법은 무엇입니까?

시스템 호출 수를 찾는 방법은 무엇입니까?

시스템 호출 번호는 기계마다 다른가요? 프로세서에 따라 달라지나요? i586과 i386 사이에 차이가 있다는 뜻인가요?

기계마다 다른 경우 기계 번호를 어떻게 알 수 있나요?

일반적인 위치는 /usr/include/asm*이지만 해당 폴더는 존재하지 않습니다.

답변1

대부분의 운영 체제에서 번호는 다음과 같습니다./usr/include/sys/syscall.h

일반적으로 전화를 걸 수 있습니다 syscall(number, rest of parameters).

일부 "시스템 호출"은 syscalls.h에 없을 수도 있습니다. 여러 시스템 호출 인터페이스가 일련의 호출에서 호출을 선택하기 위해 하위 번호를 사용하는 단일 시스템 호출로 구현되기 때문입니다.

시스템 호출 번호는 특정 운영 체제의 특정 버전에만 유효합니다.

Solaris에는 안정적인 시스템 호출 인터페이스가 없지만 libc 위에 안정적인 인터페이스가 있습니다. POSIX는 의도적으로 시스템 호출과 라이브러리 기능을 구별하지 않기 때문에 이는 완전히 POSIX와 호환됩니다.

관련 정보