B.3. 시스템 콜 테이블

0x80 트랩 핸들러는 모든 시스템 콜에의해 불려지고 이 핸들러는 불려질 당시의 시스템 콜 번호를 가지고 해당 시스템 콜을 시스템 콜 테이블에서 찾아 실행해 준다.

모든 시스템 콜의 번호는 $(TOPDIR)/include/asm/unistd.h에 정의되어 있다.

시스템 콜 테이블은 $(TOPDIR)/arch/i386/kernel/entry.S에 정의되어 있고 각 시스템 콜의 주소가 연속되게 적혀져 있다.

그림 B-2은 fork()가 실행될 때의 흐름을 나타낸 그림으로 이해에 도움을 줄 수 있을 것이다.

그림 B-2. fork()가 실행될 때의 흐름