티스토리 뷰
이전 셋업 포스트 --- 2017/06/01 - [OS] - 64Bit OS(Operating System, 운영체제) 만들어 보기 - 1 셋업
일반적으로 사용하는 인텔 64 비트 프로세서는 5가지의 운영 모드가 있는데
각각 리얼모드 , 보호모드, IA-32e 모드 그리고 시스템 관리 모드 가상 8086 모드가 존재 하고 있습니다.
운영 모드 |
설명 |
리얼 모드 |
프로세서의 초기 상태로 16비트 모드로 동작하여 8086프로세서와 호환되는 모드 최대 1MB의 주소 공간을 지원 |
보호 모드 |
32 비트 모드로 동작하며 세그먼트, 페이징 , 보호, 멀티 태스킹등의 기능을 제공하는 모드 4GB의 주소 공간을 지원 |
IA-32e 모드 |
32비트 호환모드와 64비트 모드의 두 가지 서브모드로 구성 16EB의 주소 공간을 지원 |
시스템 관리 모드 |
전원 관리나 하드웨어 제어 같은 특수 기능을 제공하는 모드 |
가상 8086 모드 |
보호 모드 내부에서 가상의 환경을 설정하여 리얼 모드처럼 동작하는 모드 |
위의 표에 5가지 모드의 설명을 간략하게 적었습니다.
64비트 프로세서는 5가지 운영 모드를 지원하지만 모두 구현할 필요는 없고 원하는 모드만 구현하면 됩니다.
구현해야할 운영 모드는 다음과 같습니다.
리얼 모드
프로세서가 어떤 모드에 있든 전원이 켜지거나 리셋되면 리얼 모드로 진입하게 되며 리얼 모드는 과거의 16비트 프로세서 모드가 동일하게 작동합니다
BIOS의 기능들을 사용 할 수 있으며 별도의 디바이스 드라이버를 제작 할 필요없이 원하는 작업을 수행하고 있습니다.
리얼 모드에서의 할 일은 보호모드로 전환하는 것이 대부분이지만 어셈블리어를 이용해야 하기에 조금 난이도가 있습니다.
보호모드
보호 모드는 IA-32e 모드로 전환하려면 반드시 거쳐야 하는 모드로 32비트 윈도우, 리눅스 OS가 동작하는 모드 이며 최대 4GB의 주소 공간을 지원합니다.
보호, 멀티 태스킹, 세그먼테이션, 페이징등의 기능을 하드웨어 적으로 지원하며, 여러 기능을 제공하는 만큼 복잡하고 레지스터와 자료구조가 다양합니다.
IA-32e 모드
IA-32e 모드에는 서브모드로 32비트 호환모드와 64비트 모드가 있으며 32비트 호환모드는 보호모드와 같은 기능을 수행합니다.
16EB 크기의 주소 공간을 제공하며 레지스터 수가 보호모드보다 많습니다.
그럼 다음 포스팅은 각각의 운영모드에 대한 레지스터에 대한 이야기를 해보도록 하겠습니다.
2016/04/22 - [OS] - CPU Register
예전에 썻던 글인데 레지스터에 대한 내용이 어느정도 정리 되어 있습니다,
'OS' 카테고리의 다른 글
64Bit OS 만들기 Windows Ubuntu Bash 셋업 - 1 (0) | 2017.07.18 |
---|---|
64Bit OS 만들어 보기 - 3 운영 모드와 레지스터 (0) | 2017.06.05 |
64Bit OS(Operating System, 운영체제) 만들어 보기 - 1 셋업 (0) | 2017.06.01 |
BIOS와 CMOS (0) | 2017.02.20 |
CHS 주소 지정 방식과 LBA 주소 지정 방식 (0) | 2017.02.20 |