-
segementation in hardwarelinux study 2018. 12. 6. 18:06
인텔 프로세서는 80826 모델 부터 real mode 와 protected mode 두가지 종류의 주소 변환 기법이 도입 됐다.
->논리적 주소는 segment identifier와 offset 영역이 있다.
->cs register : code segment register로서 현제의 프로그램 명령어를 담고 있다
->ss register : stack segment register현 프로그램 스택정보를 담고 있다.
->ds register : data segment로서 전역 변수와 정적 변수를 담고 있다.
cs register는 또한 cpu의 privilege level 정보를 담고 있는 2bit field가 있다.
segment descriptor
각 segment는 8 바이트 세그먼트 디스크립터로 나타내어지는데 이는 global desicrptor table 혹은 local descriptor table에 저장되고 segment의 정보를 담고 있다.
logical address에서 linear address로 좀더 빠르게 변환하기 위해 80*86 프로세서는 변환 가능하지 않은 레지스터가 있는데,
이는 8 바이트 segment descriptor가 들어있다.
메모리에서 segment descriptor가 이 레지스터로 로딩되면 더이상 중앙 메모리에 GDT와 LDT에 접근 할 필요가 없게 된다.
segment register 값이 변했을 경우만 GDT와 LDT에 접근 한다.
'linux study' 카테고리의 다른 글
memory protection과 그 기법들....현상들.... (0) 2019.02.01 semaphores....etc (0) 2018.11.30 Reenterant kernel (0) 2018.11.30 memory address (0) 2018.11.30 리눅스 커널 공부 (0) 2018.11.27