CS

시스템 콜(System Call)

quedevel 2023. 4. 6. 15:01
728x90
반응형

시스템 콜이란?

시스템 콜(System Call)은 운영체제 커널의 서비스를 사용하기 위한 인터페이스로, 응용 프로그램이 하드웨어나 운영체제 자원에 접근하기 위해 사용됩니다.

fork( ), exec( ), wait( )와 같은 것들은 Process 생성과 제어를 위한 System Call

  • fork, exec는 새로운 Process 생성과 관련이 되어 있다.
  • wait는 Process (Parent)가 만든 다른 Process(child) 가 끝날 때까지 기다리는 명령어.

 

시스템 콜의 목적

  • 추상화된 하드웨어 인터페이스를 유저 프로세스에게 제공한다.
  • 시스템의 보안과 안정성을 보장한다.
  • 가상화된 유저 프로세스와 시스템이 소통할 수 있는 유일하고 공통적인 소통수단

 

시스템 콜의 이해

  • 예를 들어 printf 함수를 사용 시에 우리는 입출력 장치를 이용해야 한다.
  • Program들은 user mode에서만 동작할 수 없다. 결국 OS의 service(kernel mode)가 필요하다.
  • printf 함수를 사용하면 내부적으로 시스템콜(write())를 이용해서 kernel에 도움받아서 리턴 받은 후 terminal에 출력한다.

 

시스템 콜의 동작

  • 운영체제가 제공하는 시스템 콜에 대한 연결고리 역할을 하는 시스템 콜 인터페이스를 제공한다.
  • 시스템 콜에는 번호가 할당되고 시스템 콜 인터페이스는 이 번호에 따라 색인되는 테이블을 유지한다.
  • 시스템 콜 인터페이스는 의도하는 시스템 콜을 부르고 시스템 콜의 상태와 반환 값을 돌려준다.
  • 사용자는 시스템 콜이 어떻게 구현되고 실행 중 무슨 작업을 하는지 알 필요가 없다.

 

References

 

GitHub - gyoogle/tech-interview-for-developer: 👶🏻 신입 개발자 전공 지식 & 기술 면접 백과사전 📖

👶🏻 신입 개발자 전공 지식 & 기술 면접 백과사전 📖. Contribute to gyoogle/tech-interview-for-developer development by creating an account on GitHub.

github.com

 

시스템 콜 (System Call)

시스템 콜 (System Calls) 운영 체제의 커널이 제공하는 서비스에 대해, 응용 프로그램의 요청에 따라 커널에 접근하기 위한 인터페이스. 즉, 사용자와 커널 사이의 통로 1. 시스템 콜의 목적 추상화

choiyeonho903.tistory.com

728x90
반응형