한 걸음씩..

컴퓨터 시스템 구조[5] - 하드웨어 보호(Protection) 본문

잡다한 공부방

컴퓨터 시스템 구조[5] - 하드웨어 보호(Protection)

반엘 2013. 7. 15. 10:58

하드웨어 보호(Protection)

1. 하드웨어 보호(Protection)

 - 사용자 프로그램이 불법적인 명령을 수행하려 하거나 사용자 주소 공간이 아닌 메모리에 접근을 시도하는 등의 오류가 발생하면 하드웨어는 운영체제로 트랩을 발생시킴

 - 트랩은 인터럽트처럼 인터럽트 백터를 통해 제어를 운영체제에 넘김

 - 프로그램 오류가 발생할 때 마다 운영체제는 비정상적으로 프로그램을 종료시킨다.

 - 오류메세지가 주어지고, 프로그램의 메모리가 덤프 됨.


2. 이중 모드 연산(Dual-Mode Operation)

 - 사용자 모드( 모드 비트 1 ), 모니터 모드( 모드 비트 0 )

 - 시스템 부팅 → 모니터 모드 → 운영체제 적재 & 사용자 모드  트랩이나 인터럽트 발생  운영체제가 컴퓨터 제어권 얻음 ( 모니터 모드로 전환 ) → 사용자 프로그램으로 제어 넘김 ( 사용자 모드로 전환 )


3. 입/출력 보호(I/O Protection)

 - 사용자가 불법적인 입/출력 명령을 수행하는 것을 방지하기 위해, 모든 입/출력 명령을 특권 명령으로 정의함

 - 사용자는 직접 입/출력 명령을 할 수 없고, 운영 체제를 통해서만 가능함


4. 메모리 보호(Memory Protection)

 - 운영 체제에서 실행하고 있는 프로세스가 자신에게 할당되지 않은 영역의 메모리에 접근하는 것을 막는 것

 - 프로세스 내의 버그가 다른 프로세스의 동작에 영향을 미치는 것을 예방하며 악성 소프트웨어가 시스템에서 허가되지 않은 접근권한을 갖고 시스템에 영향을 끼치는 것을 막아준다.

 

5. CPU 보호(CPU Protection)

 - 사용자 프로그램이 무한루프에 빠져 운영 체제로 제어가 복귀하지 않는 경우가 발생하지 않도록 타이머를 사용한다.

 - 타이머가 인터럽트 하면, 제어는 자동적으로 운영 체제에 넘어가며, 운영 체제는 인터럽트를 치명적인 오류로 취급하거나 프로그램에게 더 많은 시간을 줄 수 있다.