1. CPU Protection Rings
- CPU도 권한 체계를 갖고 있다.
- 사용자 모드: 일반적인 명령 실행 = 응용프로그램이 사용하는 명령어
- 커널 모드: 특권 명령어 실행 및 원하는 작업 수행을 위한 자원접근이 가능 = OS가 사용하는 명령어
- 대부분의 운영체제는 Ring 0(커널모드)과 Ring 3(사용자모드)만 사용한다.
a) 커널이란 무엇인가?
- OS 본연의 핵심 기능을 의미한다.
- 즉, OS가 CPU에 접근 및 조정할 때 사용하는 기능을 말한다.
b) 쉘에 대하여
- 쉘은 OS와 사용자를 연결시키는 인터페이스의 역할을 한다.
- 위에 첨부된 CPU Protection Ring 전개도에서 볼 수 있듯이, Ring 3(사용자 모드)가 Ring 0(커널 모드)를 감싸고 있기 때문에 shell(껍질)이라는 이름이 붙게된 것이다.
2. 응용프로그램과 운영체제의 구조
- 사용자 영역은 응용 프로그램의 영역에서 사용되는 명령어를 의미한다.
- 커널 영역은 컴퓨터 자원인 하드웨어에 접근 및 이용을 위해 사용되는 명령어를 의미한다.
a) 시스템 콜은 커널 모드에서 실행된다.
- 커널 모드에서만 사용 가능한 기능들이 있다.
- 커널 모드에 있는 기능을 실행/사용하려면, 반드시 시스템 콜을 통해 커널모드를 거쳐서 호출해야한다.
- 시스템 콜은 운영체제에서 제공한다.
b) 사용자 모드와 커널 모드 분리의 장점
- 함부로 응용 프로그램이 컴퓨터 시스템을 헤치지 못한다.
3. 정리
- 운영체제는 시스템콜을 제공한다.
- 프로그래밍 언어별로 운영체제 기능을 활용하기 위해, 시스템콜을 API의 형태로 제공한다.
- 응용 프로그램에서 운영체제 기능이 필요한 경우, 해당 API를 사용해서 프로그램을 작성한다.
- 응용 프로그램에서 운영체제의 기능을 필요로 하는 API(코드 또는 메소드)가 실행되면, 시스템 콜이 호출되어 커널 모드로 변경된 후에 해당 명령이 실행되고 다시 사용자 모드로 변경되어 응용 프로그램으로 return하는 방식으로 전개된다.
'컴퓨터공학기초 개념 > 운영체제' 카테고리의 다른 글
7. 운영체제 - 스케줄링 알고리즘 (0) | 2021.03.31 |
---|---|
6. 운영체제 핵심개념 - 프로세스 스케줄링 (0) | 2021.03.29 |
4. 운영체제, 응용 프로그램, 컴퓨터 하드웨어의 관계 (0) | 2021.03.26 |
3. 운영체제의 역사(1970년 ~ 2000년대) (0) | 2021.03.26 |
2. 운영체제의 역사(1950년 ~ 1960년대) (0) | 2021.03.19 |
댓글