본문 바로가기
운영체제

3. 운영체제 - 시스템 콜(System Call)

by #Glacier 2019. 12. 24.
반응형

오늘은 운영체제의 시스템 콜(System Call)에 대해 공부해보도록 하겠습니다.

 

1. 운영체제는 사용자 인터페이스를 제공하는데요,

 

사용자가 운영체제 기능과 서비스를 조작할 수 있도록 인터페이스를 제공하는 쉘(Shell)이란 프로그램이 있습니다.

쉘은 터미널 환경(CLI)과 GUI환경 두 종류로 분류되며, 리눅스 터미널에서 ls 라는 일종의 사용법을 활용하여

명령을 내리면 그에 해당하는 명령 수행을 하게 돕습니다.

즉, 사용자와 OS사이의 소통창구 같은 것입니다.

 

2. 운영체제는 응용 프로그램을 위한 인터페이스도 제공합니다.

이것을 바로 API(Application Programming Interface)라고 합니다.

API는 함수 형태로 제공되며, C언어에서 open()같은 거라고 보시면 됩니다.

보통은 함수들의 모임인 라이브러리(library) 형태로 제공됩니다.

User
Application Shell
API
Operating System
Hardware
CPU Memory Storage Network

이렇게 구성되어 있다고 할 수 있습니다.

즉 사용자가 운영체제에 요청하거나, 응용 프로그램이 운영체제에 요청할 때에는

라이브러리 형태인 API를 통해 운영체제와 소통하게 됩니다.

따라서 API는 일종의 요청서의 역할을 하게 됩니다.

 

운영체제는 시스템 콜(System Call) 또는 시스템 호출 인터페이스를 지원하는데,

운영체제가 운영체제의 각 기능을 사용할 수 있도록 하는 명령 또는 함수를 의미합니다.

API 내부에는 해당 운영체제의 기능을 사용할 수 있는 시스템콜을 호출하는 형태로 만들어지는 경우가 대부분입니다.

시스템 콜을 만들 때에도 기본적으로 표준을 따르는데 UNIX 기반의 POSIX API, 윈도우 API와 같은 것들이 있습니다.

 

마지막으로 정리하자면,

 

1) 운영체제는 사용자 인터페이스를 제공하기 위해 쉘 프로그램을 제공한다.

2) 운영체제는 응용 프로그램이 운영체제 기능을 요청할 수 있도록, 시스템 콜을 제공한다.

3) 보통 시스템 콜을 직접 사용하기 보다는, 해당 시스템 콜을 사용해서 만든 각 언어별 라이브러리 API를 사용한다.

4) API는 각 언어별 운영체제 기능 호출 인터페이스 함수이며, 시스템 콜은 운영체제 기능을 호출하는 함수이다!

 

 

 

 출처 

이 글의 상당 부분은 패스트캠퍼스 컴퓨터 공학 기초 강의를 참고하였습니다.

개인 학습, 복기용이기 때문에 복제를 금합니다.

관심이 있으시다면 같이 공부하시거나, 해당 관련 강의를 직접 수강하시는 것을 추천합니다!

 

도움이 되시거나 더 좋은 지식을 공유하고 싶으시다면

아래의 댓글로 자유롭게 남겨주세요.

 

 

반응형