본문 바로가기
Security/Windows System

Segmentation과 Paging(1) - 세그먼테이션과 페이징 전체적인 흐름

by Winduck 2017. 6. 14.
반응형

페이징 공부하면서 정리가 필요할것 같아 글을 써봅니다.

보호모드에서 IA-32 통한 메모리 보호 기능은 Segmentation Paging 있습니다. 오늘은 Segmentation Paging 대해 알아보겠습니다.

간단하게 전체적인 흐름도와 단어 뜻에 대해 설명하겠습니다.


※전체적인 흐름도




- Segmentation설명에 앞서 용어에 대해 설명하겠습니다.
    - Segment : 프로그램의 특정영역 ( 코드,데이터,스택) - 프로그램상 같은 역할을 하는 메로리를  묶어놓는 그룹                        
      - Segment Selector : GDT상의 Segment Descriptor Index 저장
        - Segment Descriptor : Segment 정보를 저장
          - GDT(Global Descriptor Table) : Segment정보를 담고있는 SegmentDescriptor들을 저장하고 있는 Table
            - GDTR(Global Descriptor Table Register : 48비트) : GDT 베이스 주소와 GDT(upper 32bits) Size(Lower 16 bits) 포함
              - Linear Address : Segment  Descriptor BaseAddress영역 + 메모리주소

              Segment

              Offset(메모리주소)

              목적

              CodeSegment( CS)

              IP

              수행되어질 명렁어의 위치

              Stack Segment(SS)

              SP또는 BP

              스택 주소 참조

              Data Segment(Data Segment)

              AX,BX,CX 같은 범용레지스터와 DI,SI

              데이터주소 참조

              Extra Segment(ES)

              스트링 명령어를 위한 DI

              스트링 목적지주소


              - CR3(Control Register 3) : Page Directory  Base주소가 저장

              틀린내용있다면 알려주세요~!!


                반응형

                댓글