시스템콜
응용프로그램,운영체제,컴퓨터하드웨어(시스템 리소스)관계
도서관으로 비유
- 운영체제는 도서관
- 응용프로그램은 시민
- 컴퓨터 하드웨어는 책
- 운영체제의 역할
+ 시민은 도서관에 원하는 책(자원)을 요청함
+ 도서관은 적절한 책(자원)을 찾아서, 시민에게 빌려줌
+ 시민이 기한이 다 되면, 도서관이 해당 책(자원)을 회수함
실제관계
- 운영체제는 응용 프로그램이 요청하는 메모리를 허가하고, 분배한다.
- 운영체제는 응용 프로그램이 요청하는 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 : 각 언어별 운영체제 기능 호출 인터페이스 함수
'개발 소발 > 기초 컴퓨터,통신' 카테고리의 다른 글
HTTP기초,PORT,DNS 란? (0) | 2021.08.03 |
---|---|
HTTP,TCP/IP란 무엇일까? 기초 (0) | 2019.08.02 |
컴퓨터공학 Operating System 역사 - 2 (0) | 2018.12.12 |
컴퓨터공학 Operating System 역사(배치처리시스템,시분할시스템, 멀티태스킹) (0) | 2018.12.11 |
컴퓨터공학 Operating System 응용프로그램이란? (0) | 2018.12.05 |