시스템콜

응용프로그램,운영체제,컴퓨터하드웨어(시스템 리소스)관계

도서관으로 비유

- 운영체제는 도서관

- 응용프로그램은 시민

- 컴퓨터 하드웨어는

- 운영체제의 역할

+ 시민은 도서관에 원하는 (자원) 요청함

+ 도서관은 적절한 (자원) 찾아서, 시민에게 빌려줌

+ 시민이 기한이 되면, 도서관이 해당 (자원) 회수함


실제관계

- 운영체제는 응용 프로그램이 요청하는 메모리를 허가하고, 분배한다.

- 운영체제는 응용 프로그램이 요청하는 CPU 시간을 제공한다.

- 운영체제는 응용 프로그래밍이 요청하는 IO Devices 사용을 허가/제어한다.


사용자,응용 프로그램, 운영체제, 컴퓨터 하드웨어와의 관계

- 사용자 <-> 응용프로그램, <-> API <-> 시스템콜 <-> 운영체제 <-> 하드웨어

+ ,API 프로그래머가 사용(프로그래밍언어는 API 사용법)

+ 뒷부분(시스템콜 <-> 운영체제 <-> 하드웨어)도 잘알아야한다.


운영체제는 사용자 인터페이스 제공

- (Shell)

+ 사용자가 운영체제 기능과 서비스를 조작할 있도록 인터페이스를 제공하는 프로그램

+ 쉘은 터미널 환경(CLI), GUI 환경 종류로 분류한다.


운영체제는 응용 프로그램을 위해서도 인터페이스를 제공한다.

- API (Application Programming Interface)

+ 함수로 제공

+ open() <-C언어 파일오픈

+ 시민이 도서관에서 책을 빌리려면 신청서를 작성해야한다.

- 보통은 라이브러리(library) 형태로 제공한다.

+ 운영체제에 요청할 함수들을 종류별로 묶어둔것.

+ C library


시스템

- 시스템 또는 시스템 호출 인터페이스

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

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


운영체제를 만든다면?

- 운영체제를 개발한다. (Kernel)

- 시스템 콜을 개발

- C API(library) 개발

- Shell 프로그램 개발

- 응용프로그램 개발


운영체제와 시스템콜

- 시스템콜 정의

+ POSIX-API(리눅스에 기반으로 제공),윈도우 API

  명령어로 접근한다.


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

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

+ Recent posts