Programming/System

[OS] 3장 Protected Mode로 변환 : 만들면서 배우는 OS 커널의 구조와 원리

appHunter 2009. 6. 11. 16:51

Protected Mode
  Real Mode ~ Protected Mode 에 테이블이 필요하다

GDT
  Global Descriptor Table
  RAM 영역 중 어디든지 기입할 수 있음.
  각 세그먼트 영역에 대해 어떻게 사용할 것인지

      Real Mode           VS             Protected Mode
       8088 ~ 80284                            80386
         16 Bit                                      32 Bit
    싱글 태스킹                              멀티 태스킹
   0x000~0xFFFF                           0xFFFFFFFF (4GB)
                                                   DPL  (시스템/유저영역)
          0x10 단위                               1 byte 단위
  세그먼트 레지스터 16 Bit              16Bit (셀렉터 레지스터) + 64 Bit (디스크립터 레지스터)

prefix
   0x66 : operand prefix
   0x67 : address prefix

16 bit 일 때
   16 -> 32 bit

32 bit 일 때
   32 -> 16 bit 로

예)
[bits 16]
  mov ax,[si]     ;       8B04
  mov eax,[si]   ;    668B04
  mov ax,[esi]   ;    678B04

[bits 32]
  mov ax,[si]    ; 66678B04
  mov eax,[si]  ;     678B04

관련 글 : http://sagidong.tistory.com/197

by sagidong (http://sagidong.tistory.com)