✏️ [OS] 서브루틴과 시스템 콜의 차이는?

박상민·2024년 5월 6일
0

CS Interview

목록 보기
16/16
post-thumbnail

⭐️ 시스템 콜(system call)이란?

사용자(프로그램)가 운영체제에게 무언가를 요청하는 행위를 시스템콜이라고 한다.
사용자가 바로 커널을 조작하는 행위는 위험하기 때문에 중간에 System Call Interface라는 부분을 둬서 사용자가 System Call를 통해 커널에 요청을 보내도록한다.

API라고도 함.(ex- Win32 API)

⭐️ 서브루틴과 시스템 콜의 차이는?

서브루틴이 시스템 콜을 호출하고, 시스템 콜이 수행한 결과를 서브루틴에 보낸다.
시스템 콜 호출 시, 커널이 호출되고 커널이 수행한 임의의 결과 데이터를 다시 시스템 콜로 보낸다.

진행 방식 요약

서브루틴이 시스템 콜 호출 → 시스템 콜은 커널 호출
→ 커널은 자신의 역할을 수행하고 나온 결과 데이터를 시스템 콜에게 보냄
→ 시스템 콜이 다시 서브루틴에게 보냄

실무로 사용할 때 둘의 큰 차이는 없다. (결국 API를 호출해서 사용하는 것은 동일하다.)


출처
Tech Interview for developer
혼자 공부하는 컴퓨터 구조 + 운영체제
https://helloinyong.tistory.com/293

profile
스프링 백엔드를 공부중인 대학생입니다!

0개의 댓글