사용자(프로그램)가 운영체제에게 무언가를 요청하는 행위를 시스템콜이라고 한다.
사용자가 바로 커널을 조작하는 행위는 위험하기 때문에 중간에 System Call Interface라는 부분을 둬서 사용자가 System Call를 통해 커널에 요청을 보내도록한다.
API라고도 함.(ex- Win32 API)
서브루틴이 시스템 콜을 호출하고, 시스템 콜이 수행한 결과를 서브루틴에 보낸다.
시스템 콜 호출 시, 커널이 호출되고 커널이 수행한 임의의 결과 데이터를 다시 시스템 콜로 보낸다.
진행 방식 요약
서브루틴이 시스템 콜 호출 → 시스템 콜은 커널 호출
→ 커널은 자신의 역할을 수행하고 나온 결과 데이터를 시스템 콜에게 보냄
→ 시스템 콜이 다시 서브루틴에게 보냄
실무로 사용할 때 둘의 큰 차이는 없다. (결국 API를 호출해서 사용하는 것은 동일하다.)
출처
Tech Interview for developer
혼자 공부하는 컴퓨터 구조 + 운영체제
https://helloinyong.tistory.com/293