2021. 2. 18. 18:53ㆍComputer(인강)/운영체제
이 포스팅은 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)를 사용한다.)
로 생각해볼 수 있겠습니다. ^ㅅ^
'Computer(인강) > 운영체제' 카테고리의 다른 글
스케쥴링 알고리즘 기본2 (0) | 2021.02.20 |
---|---|
스케쥴링 알고리즘 기본1 (0) | 2021.02.20 |
스케쥴링 - 멀티 프로그래밍 (0) | 2021.02.19 |
스케쥴링 - 배치 처리, 멀티 태스킹, 멀티프로세싱 상세 (0) | 2021.02.19 |
운영체제 구조 - 사용자 모드와 커널모드 (0) | 2021.02.19 |