시스템 프로그래밍 - 6. 시스템콜과 API/ABI

Walker·2021년 11월 14일
0

UNIX 기반 OS의 커널은 C 언어로 만들어졌기 때문에
커널에 명령을 내리는 시스템콜 또한 C 언어 명령을 내리면 된다.
사용자 영역(응용 프로그램)이 C 언어로 만들어졌다면 바로 시스템콜 사용이 가능하다.

int 0x80(system_call()) 함수를 실행 > eax 5(sys_open()) 함수를 실행 + ebx 0(인자)

만약 라이브러리가 다른 OS라 할지도 호환이 가능하다면
응용프로그램에서는 라이브러리에서 필요한 API만 호출해서 수정없이 사용 가능하다.

gcc -o 소스파일명 컴파일된파일명(실행파일)

ABI : 응용 프로그램과 라이브러리 간의 연결(호출) 방식 / 바이너리 파일
만약 ABI가 동일하다면 다른 운영 체제간에도 별다른 작업 없이 호환이 가능

시스템 프로그래밍은 70년대부터 이어진 기술로 트렌드가 바뀌어도 근간이 되는 기반

profile
I walk slowly, but I never walk backward. -Abraham Lincoln-

0개의 댓글