자세한 내용은 운영체제에서 정리해 두었습니다.
시스템 콜은 운영체제 리소스나 서비스 등을 요청하기 위해 사용자 영역에서 커널 영역으로 들어가는 함수로 주요 시스템 콜은 read()
, write()
, open()
등이 있습니다.
리눅스(유닉스)는 C 언어로 만들어져 있으므로 시스템 콜 또한 C 언어로 구현되어 있습니다.
응용 프로그램과 분리된 하위 호환 인터페이스로 시스템 콜 래퍼 혹은 입출력 라이브러리 등이 있습니다.
사용자가 시스템 콜을 쉽게 사용하기 위한 인터페이스를 제공한다고 생각할 수 있습니다.
설치 방법은 터미널 환경에서 아래 명령어 입력
sudo apt-get install gcc
설치
gcc --version
버전 확인
응용 프로그램 바이너리 인터페이스
함수 실행 방시그 레지스터 활용, 시스템 콜 실행, 라이브러리 링크 방식등
ABI가 호환되면 재컴파일 없이 동작
컴파일러, 링커(라이브러리 링크), 툴체인(컴파일러를 만드는 프로그램)에서 제공
유닉스 시스템 프로그래밍 인터페이스의 표준으로 IEEE에서 표준화 시도 및 리차드 스톨만이 POSIX를 표준안 이름으로 제안했습니다.
C 언어도 다양한 방햑으로 수정되어 왔지만 C 언어의 표준은 ANSI에서 ANSI C 표준을 정립했습니다.
리눅스는 POSIX와 ANSI C를 지원합니다.