CPU Protection Ring

CPU Protection Rings(보호 링)은 운영체제가 시스템의 보안을 관리하고 각 프로세스의 권한을 분리하는 데 사용되는 메커니즘이다. 위 사진을 보면 0부터 3까지 링이 있는데 이 링은 권한수준을 나타내며, 낮은 번호일수록 권한이 높아진다.
CPU가 실행될떄 마다 Protection Ring에 적혀있는 레벨정보에 따라 실행여부가 결정된다.
- Ring 0 (커널 모드)
- 커널이 동작하는 모드이다.
- 운영체제의 핵심 서비스를 실행하고, 시스템 레벨 작업을 수행하는 모드이다.
- 모든 하드웨어 자원과 권한에 대한 접근이 허용된다. - Ring 1, 2 (예비 권한)
- 일반적으로 사용되지 않는다.
- 몇몇 운영체제는 이러한 중간 권한을 사용하여 특정 작업을 분리하거나 보안을 강화할 수 있습니다. - Ring 3 (사용자 모드)
- 가장 낮은 권한을 가지며, 일반 응용 프로그램이 동작하는 모드이다.
- 제한된 하드웨어 자원에만 접근할수있도록 제어하며 시스템의 안정성을 유지한다.
- 사용자 수준 작업을 수행합니다.
- 시스템 자원에 직접 접근할 수 없으며, 이러한 권한은 운영체제의 커널모드에서만 부여된다.
이러한 CPU Protection Rings는 다중 사용자 환경에서 다양한 수준의 권한을 유지하여 프로세스 간 간섭을 최소화하고 시스템의 안전성을 유지하는 데 도움을 준다. 또한, 운영체제와 응용 프로그램 간에 보안 경계를 정의하여 악의적인 프로그램이 시스템 자원에 손상을 가하지 못하도록 한다.
커널모드에서 실행되는 중요한 모드중에 하나는 시스템 콜이 있다. 커널모드로 실행하려면 반드시 시스템콜을 거쳐야하며 시스템 콜은 OS가 제공한다.
응용프로그램 실행 시, 해당 API를 호출하면 시스템 콜 호출 -> 커널모드로 변경 -> OS 내부에서 해당 명령이 실행되고 응용 프로그램에 결과를 리턴한다. 이러한 과정으로 사용자모드와 커널모드를 반복하며 응용프로그램이 실행된다.
'CS > 운영체제' 카테고리의 다른 글
| [운영체제] OS (커널, 쉘, 시스템 콜) (0) | 2023.12.09 |
|---|