✔️ Real Mode 와 Protected Mode 간단하게 이해하고 넘어가기
Real Mode
: 컴퓨터가 기동되고 바로 동작하는 x86에서 최초 16비트의 Real Mode로 동작한다.
Protected Mode
: 최근 사용하는 인텔 기반 OS의 대부분은 16 bit Real Mode에서 GDT를 정의한 후 32bit Protected Mode로 전환이 된다. 각 프로그램(프로세스) 마다 각자의 가상 메모리 영역이 할당외어 (32bit는 4GB), 각자가 Real Mode인 것처럼 인식하게 한다.
→ 핀토스에서는 로더 실행을 통해 low level kernelization을 실행할 때는 Real Mode이고, 기본적인 세팅이 되고 나면 Protected Mode가 되는 것이다.
➡️ overview
interrupt
는 하드웨어로 날라오는 시그널에 반응할 수 있고(PIC 칩), Software적으로 INT N
instruction을 실행시킴으로서 인터럽트를 발생시킬 수 있다.Exception
은 processor가 detect하는 영역이다. interrupt에 대해서는 response
한다면, Exception은 detect이다.
➡️ EXCEPTION AND INTERRUPT VECTORS
예외 및 인터럽트 처리(handling)을 돕기 위해, 각각의 exception과 interrupt는 vector라고 불리는 고유 식별 번호가 할당된다. 프로세서는 이 벡터를 통해 descriptor table로 접근한다. vector는 IDT의 index인 것이다.
0~255개의 vector가 있고 0~31은 하드웨어적으로(인텔에서) 정의한다. 32~255는 사용자(즉 프로그램 설계자)가 정의할 수 있도록 되어 있다.
➡️ Interrupt의 종류