티스토리 뷰

공부한 것들

9. 모드(mode)

달빛얼음 2018. 1. 10. 20:57


운영체제의 무결성을 보장하기 위해서는 운영체제 코드와 사용자 정의 코드의 실행을 구분할 필요가 있다. 이를 성취하게 위해 많은 운영체제는 이중 동작 모드(Dual-Mode Operation)을 채택했다.

이중 동작 모드는 모드 비트(mode bit)를 통해 커널 모드(0)와 사용자 모드(1)로 구분한다.

시스템을 부팅하면 커널 모드에서 시작해 운영체제가 적재된다. 그 후 사용자 모드가 실행되어 사용자 프로세스를 실행할 동안 트랩이나 인터럽트가 발생한 경우에 다시 커널 모드로 전환된다. 만약 운영체제에 직접적인 영향을 끼칠 수 있는 명령인 특권 명령(priviliged instruction)을 사용자 모드에서 실행하는 경우 불법적인 명령으로 간주해 운영체제에 트랩을 전송한다.


모드 비트를 2개 이상 사용할 경우 모드를 3개 이상 가질 수 있다. 가상화를 지원하는 CPU의 경우 가상 기계 관리자(Virtual machine manager, VMM)와 가상화 관리 소프트웨어를 실행할 수 있는 모드가 존재한다. 이 모드는 가상 기계를 생성하고 관리하는 권한을 필요로 하므로 사용자 모드와 커널 모드 중간의 권한을 갖는다.

이외에도 다양한 커널 구성을 갖는 경우, 여러 개의 특권 수준(privilege levels)으로 나눠서 여러 모드를 구분하는 방법이 있다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함