응용 프로그램, 운영체제, 컴퓨터 하드웨어(시스템 리소스) 관계
도서관으로 비유
- 운영체제는 도서관
- 응용 프로그램은 시민
- 컴퓨터 하드웨어는 책
- 운영체제의 역할
- 시민은 도서관에 원하는 책(자원)을 요청
- 도서관은 적절한 책(자원)을 찾아서 시민에게 빌려줌
- 시민이 기한이 다되면 도서관이 해당 책(자원)을 회수함
정리
- 운영체제는 응용 프로그램이 요청하는 메모리를 허가하고 분배한다
- 운영체제는 응용 프로그램이 요청하는 CPU시간을 제공한다
- 운영체제는 응용 프로그램이 요청하는 I/O Device 사용을 허가/제어한다
- 유저가 응용 프로그램을 실행하면 응용 프로그램은 운영체제에 시스템 자원을 요청. 운영체제는 하드웨어에서 해당 시스템 자원을 응용 프로그램에 빌려줌
운영체제는 사용자 인터페이스 제공
- 쉘
- 사용자가 운영체제 기능과 서비스를 조작할수 있도록 인터페이스를 제공하는 프로그램
- 쉘은 터미널환경(CLI)과 GUI 환경 두 종류로 구분
- 쉘 역시 응용프로그램이다
- 사용자가 운영체제 기능과 서비스를 조작할수 있도록 인터페이스를 제공하는 프로그램
운영체제는 응용프로그램을 위해서도 인터페이스 제공
- API
- 함수로 제공
- C 예를 들면 open()
- 보통은 라이브러리 형태로 제공
- C 라이브러리 형태
OS의 구조 (API 포함)
- 쉘 역시 API를 통해 작동한다
운영체제는 응용프로그램을 위해서도 인터페이스 제공
- 시스템 콜
- 시스템 콜 혹은 시스템 호출 인터체이스
- 운영체제가 운영체제 각 기능을 사용할 수 있도록 시스템 콜이라는 명령어 혹은 함수를 제공
- API내부에는 시스템 콜을 호출하는 형태로 만들어지는 경우가 대부분
- 시스템 콜 혹은 시스템 호출 인터체이스
- 정리
- API: 각 언어별 운영체제 기능 호출 인터페이스 함수(각 언어별 인터페이스)
- 시스템콜: 운영체제 기능을 호출하는 함수
- 운영체제는 컴퓨터 하드웨어와 응용 프로그램을 관리한다
- 사용자 인터페이스를 제공하기 위해 쉘 프로그램을 제공한다
- 응용 프로그램이 운영체제 기능을 요청하기 위해서 운영체제는 시스템 콜을 제공한다
- 보통 시스템 콜을 직접 사용한다기 보단 해당 시스템 콜 사용해서 만든 각 언어별 라이브러리(API)를 사용
'TIL > Computer Science' 카테고리의 다른 글
(운영체제) 배치처리, 멀티태스킹, 멀티프로세싱 (0) | 2022.06.05 |
---|---|
(운영체제) 사용자 모드와 커널 모드 (0) | 2022.05.26 |
(운영체제) 시분할 시스템과 멀티 태스킹 (0) | 2022.05.25 |
(운영체제) 운영체제와 응용프로그램 (0) | 2022.05.25 |
(C언어) 2. 동적 메모리 할당 (0) | 2022.04.05 |