응용 프로그램, 운영체제, 컴퓨터 하드웨어(시스템 리소스) 관계
예) 도서관
운영체제 = 도서관
응용 프로그램 = 시민
컴퓨터 하드웨어 = 책
운영체제의 역할(도서관 역할)
* 시민은 도서관에 원하는 책(자원)을 요청
* 도서관은 적절한 책(자원)을 찾아서, 시민에게 빌려줌
* 시민이 기한이 다 되면, 도서관이 해당 책(자원)을 회수함
* 운영체제는 응용 프로그램이 요청하는 메모리를 허가하고 ,분배한다
* 운영체제는 응용 프로그램이 요청하는 CPU 시간을 제공한다
* 운영체제는 응용 프로그림이 요청하는 IO Devices 사용을 허가/제어한다
사용자, 응용 프로그램, 운영체제, 컴퓨터 하드웨어와 관계 (이미지 필요)
사용자 -> 어플리케이션(응용 프로그램) -> operating system -> 하드웨어
-> operating system -> 어플리케이션(응용 프로그램) -> 사용자
운영체제는 사용자 인터페이스 제공
* 쉘 (Shell) : 예) 리눅스의 터미널, cmd
- 사용자가 운영체제 기능과 서비스를 조작할 수 있도록 인터페이스를
제공하는 프로그램
- 쉘은 터미널 환경(CLI)과 GUI 환경 두 종류로 분류
운영체제는 응용 프로그램을 위해서도 인터페이스를 제공
* API (Application Programming Interface)
- 함수로 제공
- 예) open()
* 보통은 라이브러리(library) 형태로 제공
- C library
* 시스템 콜
- 시스템 콜 또는 시스템 호출 인터스페이스
- 운영체제가 운영체제 각 기능을 사용할 수 있도록 시스템 콜이라는
명령 또는 함수를 제공
- API 내부에는 시스템콜을 호출하는 형태로 만들어지는 경우가 대부분
운영체제를 만든다면?
* 운영체제를 개발한다 (kernel)
* 시스템 콜을 개발
* JAVA API (library) 개발
* Shell 프로그램 개발
* 응용 프로그램 개발
운영체제와 시스템 콜
* 시스템 콜 정의 예
- POSIX API, 윈도우 API
API : 각 언어별 운영체제 기능 호출 인터페이스 함수
시스템콜 : 운영체제 기능을 호출하는 함수
USERS | |||
APPLICATION | SHELL | ||
API OR LIBRARY | |||
SYSTEM CALL | |||
OPERATING SYSTEM | |||
HARDWARE | |||
CPU | MEMORY | STORAGE | NETWORK |
※ 정리
* 운영체제는 컴퓨터 하드웨어와 응용 프로그램을 관리한다
* 사용자 인터페이스를 제공하기 위해서 쉘 프로그램을 제공한다
* 응용 프로그램이 운영체제 기능을 요청하기 위해서, 운영체제는 시스템 콜을
제공한다
- 보통 시스템 콜을 직접 사용하기 보다는, 해당 시스템 콜을 사용해서 만든
각 언어별 라이브러리(API)를 사용한다
출처 : 제로베이스
'공부 Note > 운영체제' 카테고리의 다른 글
Chapter 03 프로세스 & 스케쥴러 (1) (0) | 2021.12.23 |
---|---|
Chapter 02 운영체제 개념잡기 (3) (0) | 2021.12.22 |
Chapter 02 운영체제 개념잡기 (2) (0) | 2021.12.22 |
Chapter 01 운영체제 Intro (2) (0) | 2021.12.22 |
Chapter 01 운영체제 Intro (1) (0) | 2021.12.22 |