[OS] 운영체제의 계층구조, 사용자와 커널 모드

2020. 12. 20. 12:18프로그래밍/운영체제

반응형

⚡ 계층구조

 

   

 

 

 

 

 

 

 

 

 

쉘(Shell)

- 사용자가 OS기능과 서비스를 조작할 수 있도록 인터페이스를 제공하는 응용 프로그램
- 쉘은 터미널 환경(CLI)과 GUI환경 두 종류로 분류


API

- 응용프로그램을 위한 인터페이스

- 프로그래밍 언어별로 운영체제 기능을 활용하기 위해, 시스템 콜을 기반으로 API를 제공-

함수로 제공
- 보통은 함수의 종류가 많기 때문에 라이브러리 형태로 제공       
  **Library: 여러 함수들(API)을 종류별로 묶어서 제공하는 것


시스템 콜

- 운영체제가 운영체제의 각 기능을 사용할 수 있도록 시스템 콜이라는 함수를 제공
- API 내부에는 시스템콜을 호출하는 형태로 구현
- 커널모드로 실행하려면, 반드시 시스템 콜을 사용해야함.

 

⚡ 사용자와 커널모드

사용자 모드(user mode): 응용프로그램이 사용
커널 모드(kernel mode): OS가 사용


    응용 프로그램이 실행되서 운영체제 기능이 필요한 API를 호출하면, 시스템 콜이 호출되서,
    커널모드로 변경되어 운영체제 내부에서 해당 명령이 실행되고, 다시 응용프로그램으로 돌아간다. 

 

 

 

반응형