운영체제구조 - 시스템 콜

2021. 2. 18. 18:53Computer(인강)/운영체제

728x90
반응형
이 포스팅은 fastcampus의 '컴퓨터 공학 전공자 따라잡기 온라인 완주반' 강의를 참고하여 작성하였습니다.

 

 안녕하세요 반나비입니다^ㅅ^

오늘은 오늘은 시스템 콜에 대해서 공부해볼거에요

 

시스템 콜은 뭘까?

 

1) 시스템 콜 또는 시스템 호출 인터페이스

2) 운영체제가 운영체제 각 기능을 사용할 수 있도록 시스템 콜이라는 명령 또는 함수를 제공하는 것이다.

3) 각 언어별 API 내부에는 시스템콜을 호출하는 형태로 만들어지는 경우가 대부분이다.

 

네? 이게 뭔소린지 한번 듣고 아시겠나요..? 천재이신가^ㅅ^

계속 읽어보죠..

 

운영체제는 사용자든 운영프로그램이든 외부에서 운영체제에 뭔가 컴퓨터 자원을 쓰기위해서 요청을 하려고 하면,

시스템 콜이라는 요청서를 써서 요청해주세요 라고 시스템콜을 제공한다는 것이다. 라네요..

 

그런데 기본적으로 시스템콜은 운영체제입장에서의 각 기능을 정의해놓은거여서 프로그래밍에서 쓰기에는 조금 복잡도가 있을 확률이 높고 사용법이 익숙하지 않을수도있다.

 

그래서 그런걸 완화해주는 측면에서 api형태로 각 언어별로 운영체제 기능을 요청할 수 있는 인터페이스를 제공하는것이고,

다만 그 api안으로 들어가 보면 각각의 api안에는 결국엔 시스템콜을 통해서 운영체제 기능을 요청하는걸로 보면된다.

 

음음...  느낌적인 느낌으로는

시스템콜이 프로그래밍에서 쓰기에는 복잡도가 높을수 있고, 사용법이 익숙하지 않을 수 있어서 이걸 완화하고자 api형태로 인터페이스를 제공하는 거구나. 라고 이해해볼 수 있겠네요.

 

인강 선생님께서는 'api를 종류별로 묶어놓은 라이브러리를 기반으로 해서

우리가 애플리케이션이나 쉘이라는 프로그램을 만드는 것'이라고 설명해주셨습니다.

그리고 이 프로그램을 사용해서 사용자가 컴퓨터를 사용하는 것이라고도요..!

 

api 안에 시스템콜이 들어가 있고

이 api를 호출해서 application을 만든다! 라고 알 수 있겠네요.

 

운영체제를 만든다면?

1. 운영체제를 개발한다.

2. 시스템 콜을 개발한다.

3. C API(library) 개발

4. shell 프로그램 개발

5. 응용프로그램 개발

 

시스템콜 정의 예

POSIX API, 윈도우 API

 

API: 각 언어별 운영체제 기능 호출 인터페이스 함수(각 언어별 인터페이스)

시스템콜: 운영체제 기능을 호출하는 함수

 

정리해보면

1. 운영체제는 컴퓨터 하드웨어와 응용 프로그램을 관리한다.

2. 사용자 인터페이스를 제공하기 위해 쉘 프로그램을 제공한다.

3. 응용 프로그램이 운영체제 기능을 요청하기 위해서, 운영체제는 시스템 콜(신청서)을 제공한다.

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

로 생각해볼 수 있겠습니다. ^ㅅ^

728x90
반응형