[운영체제] 시스템 콜(feat. 응용 프로그램, 운영체제, 컴퓨터 하드웨어의 관계)

최지수·2022년 1월 12일
0

운영체제

목록 보기
2/13
post-thumbnail

시스템 콜

시스템 콜 또는 시스템 호출 인터페이스라고 합니다. 운영체제가 운영체제의 각 기능(I/O Device 제어 등)을 사용할 수 있도록 시스템콜이라는 명령 또는 함수를 제공해요. 보통 C/C++ 같은 고급 언어로 작성된 프로그램은 직접 시스템 콜에 접근할 수 없어요. 그래서 API(Application Programming Interface)를 통해 운영체제의 기능을 사용할 수 있도록 합니다.

좀 더 이해하기 위한 내용, 응용 프로그램, 운영체제 그리고 하드웨어의 관계

도서관으로 비유하자면,

도서관으로 비유한 관계

  • 운영체제 \to 도서관
  • 응용 프로그램 \to 시민
  • 하드웨어(시스템 리소스) \to

시민응용 프로그램은 도서관운영체제에 원하는 책시스템 리소스을 찾아서 시민에게 빌려줍니다. 책 대여 기간이 만료되면 도서관이 해당 책을 회수하죠.

이처럼, 운영체제응용 프로그램이 요청하는 CPU 가용 시간을 제공해요. 그리고 운영체제응용 프로그램이 요청하는 I/O Device 같은 시스템 리소스 사용을 허가하거나 제어를 합니다.

쉘(Shell)

사용자가 운영체제 기능과 서비스를 조작할 수 있도록 인터페이스를 제공하는 프로그램이에요. 흔히들 터미널 환경CLI(Command Line Interface)GUI 환경 두 종류로 분류됩니다.

응용 프로그램에서 운영체제 기능 사용

프로그램을 만드는 개발자는 개발을 하려면 기본적으로 운영체제가 제공하는 기능(feat. 파일 입출력, etc)을 사용해야 합니다. 바로 이걸 시스템콜이라고 합니다. 아까도 언급했듯이 C/C++ 같은 고급 언어로는 직접 접근할 수 없어 따로 API 형태로 제공됩니다. 개념을 설명했으니 이를 도식화 하면 아래와 같아요.

profile
#행복 #도전 #지속성

0개의 댓글