운영체제(4) - 이중모드, 하드웨어 보호
이중모드
사용자가 치명적인 명령을 사용 불가능하게 만들어야 한다!
이를 위해 사용자 모드와 관리자 모드로 나누는 이중 모드를 사용한다.
관리자 모드는 시스템 모드, 모니터 모드, 특권 모드라고도 불린다.
CPU의 레지스터에 모드를 나타내는 플래그를 추가하여 모드를 구분한다.
user mode(게임) -> (키보드, 마우스) -> system mode (ISR) -> user mode -> (모니터, 디스크, 프린터) -> system mode -> user mode
※ 만약 잘못된 명령을 내린다면
잘못된 명령 -> 레지스터 모드 확인 -> 내부 인터럽트 발생 -> 명령어 중지
하드웨어 보호
이중 모드는 기본적으로 하드웨어를 보호하기 위해 존재한다.
입출력장치 보호
만약 사용자가 잘못된 입출력 명령을 내린다면, (예를 들어 서버의 하드 디스크에서 다른 사람의 파일을 읽고 쓰는 등) 입출력 명령이 특권명령으로 지정되어 있기 때문에 운영체제가 이러한 명령을 대행한다.
사용자가 입출력 명령을 직접 내린 경우 Privileged instruction violation가 발생.
메모리 보호
메모리 안에 유저 프로그램에 접근하거나 운영체제의 ISR 코드를 변경하는 등 메모리에 직접적으로 접근하면 치명적인 손상이 있을 수 있다.
다른 사용자 또는 운영체제 영역 메모리 접근 시도하면 Segment violation 발생.
CPU 보호
사용자가 CPU 시간을 독점한다면 타이머를 두어 일정 시간 경과 시 타이머 인터럽트를 걸도록 한다.
인터럽트 -> 운영체제 - 다른 프로그램으로 강제 전환
Leave a comment