대학원 기말고사중 공부한 자료
운영체제에서 하드웨어 보호란 사용자가 불법적인 명령을 수행하려하거나 비정상적인 접근을 발생시키려 하면 이를 감지하고 하드웨어를 비정상적인 작동을 방지하는 방법을 말한다.
하드웨어 보호방법 중 가장 먼저 언급되는 방법은 연산모드를 2가지 모드로 나누어 실행하는 방법으로 Dual-Mode Operation 즉, 이중모드 연산을 이용하는 것이다.
이는 CPU에서 지원해야 가능한 것인데 사실 인텔 8088 이후의 cpu들은 거의 이중모드연산을 지원한다고 한다. 이중모드 연산은 사용자 모드와 커널모드로 나누어 지며 모드비트라고 하는 현재의 연산상태를 나타내는 비트를 통해 구분된다.
사용자 모드는 특별한 권한이 없는 연산, 커널 모드는 특별한 권한이 있는 연산이다.
사용자 모드로 진행되는 프로그램이 사용자 모드비트를 가지고 운영체제를 변경하거나 다른 사용자의 프로그램을 변경하려 하거나 자신의 메모리 공간이 아닌 다른 공간을 침해하려 할 경우 트랩이나 인터럽트를 발생시킨다. 이때 모드비트는 커널모드로 변경되며 운영체제가 제어권을 가진다. 이를 통해 운영체제가 적절한 처리를 한 후 사용자 프로그램으로 제어권을 넘기는 행위를 할 수 있다.
+ 커널모드는. 특권모드, 모니터 모드라고도 한다.
입출력에 대한 불법적인 행위를 막는 것으로 모든 입출력은 특권모드로 정의된다. 사용자가 입출력 권한을 운영체제에 요구하고 운영체제는 이에 대한 결과를 사용자 프로그램에 넘겨준다. 즉 입출력에 대한 과정은 운영체제가 관장하도록 하는 것이 입출력 보호이다.
사용자 프로그램은 특정 메모리 영역과 크기를 할당 받는다. 자신에게 할당받은 영역이상의 행위를 할 경우 이를 막아야 다른 프로세스의 과정에 간섭이 일어나지 않는다. 이를 위해 정정주소범위를 운영체제가 결정하여 그 범위 밖의 공간은 사용자 프로그램이 변경하지 못하도록 운영체제가 보호한다.
방법 : 기분 레지스터와 한계레지스터 사이는 정상작동으로 그 밖의 레지스터는 트랩을 발생시킨다.
- 운영체제는 CPU에 대한 제어를 유지할 수 있도록 보장해야 하는데, 만약 무한 루프에 빠진다면 제어를 프로그램에서 운영체제로 양도해야 한다.
다른말로 프로그램이 CPU를 독점하는 상태를 막는다. 이때 타이머를 사용하여 특정 시간이상 프로그램이 진행되고 있는 경우 타이머가 인터럽트를 발생시키고, 인터럽트를 받은 운영체제는 이것을 오류로 판별하고 끝낼것인지 더 시간을 들여 CPU를 프로그램이 이용할 것인지 결정할 수 있다.
방법: 타이머를 이용한다. 타이머는 고정또는 가변되어 설정되며 가변타이머는 클럭율과 계수기를 통해 구현한다. 클럭이 발생할때마다 계수기가 점차 감소되어 0이 되면 인터럽트가 발생한다.
출처:
http://j85462.tistory.com/67
한국어판 Operating System Concept 7판
운영체제에서 하드웨어 보호란 사용자가 불법적인 명령을 수행하려하거나 비정상적인 접근을 발생시키려 하면 이를 감지하고 하드웨어를 비정상적인 작동을 방지하는 방법을 말한다.
- 이중모드 연산 (Dual-Mode Opreration)
하드웨어 보호방법 중 가장 먼저 언급되는 방법은 연산모드를 2가지 모드로 나누어 실행하는 방법으로 Dual-Mode Operation 즉, 이중모드 연산을 이용하는 것이다.
이는 CPU에서 지원해야 가능한 것인데 사실 인텔 8088 이후의 cpu들은 거의 이중모드연산을 지원한다고 한다. 이중모드 연산은 사용자 모드와 커널모드로 나누어 지며 모드비트라고 하는 현재의 연산상태를 나타내는 비트를 통해 구분된다.
사용자 모드는 특별한 권한이 없는 연산, 커널 모드는 특별한 권한이 있는 연산이다.
사용자 모드로 진행되는 프로그램이 사용자 모드비트를 가지고 운영체제를 변경하거나 다른 사용자의 프로그램을 변경하려 하거나 자신의 메모리 공간이 아닌 다른 공간을 침해하려 할 경우 트랩이나 인터럽트를 발생시킨다. 이때 모드비트는 커널모드로 변경되며 운영체제가 제어권을 가진다. 이를 통해 운영체제가 적절한 처리를 한 후 사용자 프로그램으로 제어권을 넘기는 행위를 할 수 있다.
+ 커널모드는. 특권모드, 모니터 모드라고도 한다.
- 입출력 보호(I/O Protection)
입출력에 대한 불법적인 행위를 막는 것으로 모든 입출력은 특권모드로 정의된다. 사용자가 입출력 권한을 운영체제에 요구하고 운영체제는 이에 대한 결과를 사용자 프로그램에 넘겨준다. 즉 입출력에 대한 과정은 운영체제가 관장하도록 하는 것이 입출력 보호이다.
- 기억장치 보호(Memory Protection)
사용자 프로그램은 특정 메모리 영역과 크기를 할당 받는다. 자신에게 할당받은 영역이상의 행위를 할 경우 이를 막아야 다른 프로세스의 과정에 간섭이 일어나지 않는다. 이를 위해 정정주소범위를 운영체제가 결정하여 그 범위 밖의 공간은 사용자 프로그램이 변경하지 못하도록 운영체제가 보호한다.
방법 : 기분 레지스터와 한계레지스터 사이는 정상작동으로 그 밖의 레지스터는 트랩을 발생시킨다.
- 중앙처리장치 보호
- 운영체제는 CPU에 대한 제어를 유지할 수 있도록 보장해야 하는데, 만약 무한 루프에 빠진다면 제어를 프로그램에서 운영체제로 양도해야 한다.
다른말로 프로그램이 CPU를 독점하는 상태를 막는다. 이때 타이머를 사용하여 특정 시간이상 프로그램이 진행되고 있는 경우 타이머가 인터럽트를 발생시키고, 인터럽트를 받은 운영체제는 이것을 오류로 판별하고 끝낼것인지 더 시간을 들여 CPU를 프로그램이 이용할 것인지 결정할 수 있다.
방법: 타이머를 이용한다. 타이머는 고정또는 가변되어 설정되며 가변타이머는 클럭율과 계수기를 통해 구현한다. 클럭이 발생할때마다 계수기가 점차 감소되어 0이 되면 인터럽트가 발생한다.
출처:
http://j85462.tistory.com/67
한국어판 Operating System Concept 7판
댓글
댓글 쓰기