2013/12 12

[IA-32] Segment Registers

메모리에 대한 이해를 보다 보면, Segment Register에 대한 이야기가 자주 나온다. 오늘은 Segment Register에 대해서 이해해 보도록 하자. Segment Register는 Segment Selector라는 16bit 레지스터를 가지고 있다. Segment Selector는 메모리의 특정 영역(Segment)를 가르키는 포인터라고 이해하면 된다. 따라서 Segment 기반의 메모리 접근방식을 사용할 때는 Segment와 Offset을 이용해서 메모리 공간에 접근할 수 있다. Segment register의 종류- CS (Code Segment)- DS (Data Segment)- SS (Stack Segment)- ES (Extra Segment) : Extra data에 대한 po..

R&D/OS 2013.12.09

[Gate] Task Gate, Trap Gate, Interrupt Gate, Call Gate

OS에 대해서 심도있게 내려가다 보면, Ring, Privilege Level, Gate라는 단어를 만나게 된다. ㅇ Gate 란?- 현재의 낮은 특권(Privileges Level, ex Ring 3) 에서 높은 특권(Ring 0)로 전환할 수 있는 통로 ㅇ Gate의 종류- Task Gate- Trap Gate- Interrupt Gate- Call Gate ㅇ 특징* Gate를 통과하기 않고, 낮은 특권에서 높은 특권으로 전환시, General-Protection Exception(#GP)가 발생한다.* 모든 gate descriptor는 2bit 의 DPL(Descriptor Privilege Level) field를 가지고 있으며, gate를 통한 전환시 DPL을 통해서 access right를..

R&D/OS 2013.12.05