[OS] 운영체제의 계층구조, 사용자와 커널 모드
2020. 12. 20. 12:18ㆍ프로그래밍/운영체제
반응형
⚡ 계층구조
쉘(Shell)
- 사용자가 OS기능과 서비스를 조작할 수 있도록 인터페이스를 제공하는 응용 프로그램
- 쉘은 터미널 환경(CLI)과 GUI환경 두 종류로 분류
API
- 응용프로그램을 위한 인터페이스
- 프로그래밍 언어별로 운영체제 기능을 활용하기 위해, 시스템 콜을 기반으로 API를 제공-
함수로 제공
- 보통은 함수의 종류가 많기 때문에 라이브러리 형태로 제공
**Library: 여러 함수들(API)을 종류별로 묶어서 제공하는 것
시스템 콜
- 운영체제가 운영체제의 각 기능을 사용할 수 있도록 시스템 콜이라는 함수를 제공
- API 내부에는 시스템콜을 호출하는 형태로 구현
- 커널모드로 실행하려면, 반드시 시스템 콜을 사용해야함.
⚡ 사용자와 커널모드
사용자 모드(user mode): 응용프로그램이 사용
커널 모드(kernel mode): OS가 사용
응용 프로그램이 실행되서 운영체제 기능이 필요한 API를 호출하면, 시스템 콜이 호출되서,
커널모드로 변경되어 운영체제 내부에서 해당 명령이 실행되고, 다시 응용프로그램으로 돌아간다.
반응형
'프로그래밍 > 운영체제' 카테고리의 다른 글
[OS] 선점형과 비선점형 스케쥴러 (0) | 2020.12.20 |
---|---|
[OS] 프로세스 구조와 상태 - running, ready, blocked (0) | 2020.12.20 |
[OS] 운영체제의 CPU 관리 - 스케줄링 알고리즘 (0) | 2020.12.20 |
[OS] 프로세스 스케줄링 - 배치 처리 시스템, 시분할 시스템, 멀티태스킹 (0) | 2020.12.20 |
[OS] 운영체제 역할 (0) | 2020.12.20 |