본문 바로가기
반도체 그 다음 학문/운영체제 (OS)

운영체제 System call ( 시스템 콜 )

by 전컴반 2022. 4. 13.
반응형
System call

 

- 간단히 말해서 programming interface를 위해 os가 제공하는 서비스다.

사용자가 kernel level로 바로 접근하면 여러 문제가 발생할 수 있으니 하나의 안전장치라고 생각하면 된다. 즉, kernel에 접근하기 위해 필요한 기능으로 kernel이 제공하는 기능 중에 사용자가 사용할 수 있는 기능을 모아놓은 것이다. 조금 더 쉽게 말하면 언어로 비유했을 때 라이브러리 혹은 함수이다.

 

추가적으로, 대부분의 운영체제는 kernel mode와 user mode가 구분돼 있다. 이런 상황에서 시스템 콜은 user mode에서 kermel mode로 들어가는 것이다.

 

이런 시스템 콜을 이용하기 위해 대부분 API를 사용한다. API를 쓰는 이유는 이식성 때문이다. 사용하는 곳마다 시스템 콜을 하는 환경이 다를 텐데 API는 인자만 반환해주면 간단하기 때문이다. 

 

 

시스템 콜은 어떻게 구현될까?

 

- 먼저 각각의 system call은 번호(index)를 할당받는데 table이라는 곳에서 indexed 되어 할당된다.

아래에선 파란 박스가 table이다. 그리고 system call interface는 할당된 번호에 맞는 index를 찾아서 실행하고 다시 반환한다. 아래선 open()이라는 API를 호출했을 때의 동작 흐름이다. 

(+ 시스템 콜과 mapping 되는 table은 컴퓨터 구조에 따라 다를 수 있다)

 

 

반응형

댓글