리눅스 fork 함수 호출
1. 사용자 프로그램에서 fork()를 호출 2. C언어 라이브러리(libc)에서 fork()를 실행 3. fork() 의 시스템 호출 번호인 2번을 eax 레지스터에 저장하고 int $0x80을 실행하여 인터럽터 80번을 발생 4. IDT 테이블에서 0x80번째 항목을 찾음 5. 0x80 번째에 system_call() 함수의 위치가 저장되어 있기 때문에 함수를 실행 6. syetem_call() 함수는 어셈블리에서 ENTRY(system_call)로 정의 7. fork() 함수를 실행했을 때 C 라이브러리에서 eax 레지스터에 값을 저장 8. [call *sys_call_table(,%eax, 4)]에서 eax 레지스터에 저장된 값 -fork의 시스템 호출 번호는 2번을 이용해서 sys_call_ta..
2018.12.15