우리가 늘상 사용하는 프로세서가 인텔 64비트 호환 프로세서이다.
여기에는 5가지의 운영모드가 있다.
16비트 리얼모드, 32비트 보호모드, 64비트 IA-32e모드, 시스템 관리 모드, 가상 8086 모드
이 5가지에 대해 알아보자.
1. 리얼 모드
16비트로 동작하는 프로세서의 초기 상태이다. 최대 1MB의 주소공간을 지원한다.
리얼모드는 8086 프로세서와 호환되는 모드임.
최초에 전원이 들어오면 프로세서는 리얼모드로 진입하게 된다.
옛날에 있었던 16비트 프로세서와 똑같은 동작을 하고 BIOS를 사용할 수 있다.
(BIOS에 대한 내용은 따로 포스트 하겠음)
리얼모드에서 하는 작업은 OS 이미지를 디스크에서 메모리로 복사하는 일을 하고
보호모드로 전환하는 것이다. 간단해 보이지만.. 리얼모드의 작업은 모두 어셈블리어로 해야한다.
2. 보호 모드
32비트 운영체제가 기본적으로 동작하는 모드이다. 최대 4GB의 주소 공간을 제공한다.
IA-32e 모드로 전환하기 위해 반드시 거쳐야 하는 모드이다.
OS에서 필요한 기능들 (보안, 멀티테스킹, 세그먼테이션, 페이징 등)을 H/W적으로 제공함.
여러 기능을 제공하니 복잡하다.
보호모드를 제대로 공부해놓으면 IA-32e 모드는 쉽게 이해할 수 있다.
3. IA-32e 모드
IA-32e모드는 서브모드로 32비트 호환 모드와 64비트 모드가 있다.
전자는 보호모드와 같은 기능을 한다. 64비트 모드는 뭔가 복잡할 거 같지만
그냥 크기만 2배로 확장되었다고 봐도 무방하겠다.
32비트 호환모드가 있기때문에 우리가 64비트 운영체제를 사용하면서 32비트 코드를
별다른 처리없이 실행할 수 있다. os개발하면서 가장 많은 열량소비가 예상되는 부분이다..
4. 시스템 관리 모드 & 가상 8086 모드
이 두가지는 os개발에 구현하지 않을 예정(?)이라서 묶어서 간단하게 설명한다.
시스템 관리 모드는 전원 관리나 하드웨어 제어 같은 특수 기능을 제공하f는 모드
가상 8086 모드는 보호 모드 내부에서 가상의 환경을 설정하여 리얼 모드처럼 동작하는 것
위 두가지 모드는 해당 기능을 사용하지 않는다면 구현할 필요가 없다.
일단 위에서 리얼모드, 보호모드, IA-32e모드를 구현하겠다고 설명했는데,
설명하면서 각 모드간의 전환을 언급했는데, 그림을 보면서 다시한번 제대로 짚어보자.
화살표 옆에 나온 설명들은 모드를 전환할 때 필요한 조건들을 나타낸 것이다.
그림에서 보는 것과 같이,
처음 전원이 켜지면 리얼모드로 돌입한다.
리얼 모드에서는 보호모드로 밖에 전환 못함. 보호모드에서는 가상 8086, IA-32e 모드, 다시 리얼모드로 전환 가능함
그냥 화살표 따라 보면 된다. 화살표 연결 안된건 다이렉트로 전환이 불가능하다.
'IT 그리고 정보보안 > Knowledge base' 카테고리의 다른 글
OS 메모리 관리 기법 (0) | 2021.04.12 |
---|---|
레지스터 (Register) (0) | 2021.04.12 |
각종 접근통제 기술 및 모델 (0) | 2021.04.12 |
접근통제 정책 (0) | 2021.04.12 |
재난복구계획 (DRP) (0) | 2021.04.12 |