C.E/OS

Hardware Protection - Memory Protection

숨[Breath] 2013. 11. 15. 10:35

Memory Protection

 

인터럽트 벡터, 인터럽트 서비스 루틴, OS 프로그램, user 프로그램 등 다양한 프로그램들이

 

비정상적으로 작동 즉, 할당되지 않는 메모리 영역을 참조하는 것을 막기 위해

 

Memory Protection이 존재한다. 그 한 예 로써 Base Register와 Limit Register를 들수 있다.

 

Base Register는 어떤 프로세스에 할당된 메모리 영역의 시작주소를 가르킨다.

 

Limit Register는 어떤 프로세스에 할당된 메모리 영역의 길이를 나타낸다.

 

위 두 Register를 이용하여 만일 어떤 프로세스가 자신에게 할당된 메모리의 영역을

 

벗어난 부분을 참조하려고 한다면 하드웨어적으로 fatal error가 발생한다.

 

여기서  Base Register와 Limit Register값은 privileged instruction으로 O.S에 의해 로딩된다.