2017년 3월 19일 일요일

06. 운영체제의 기본 동작 원리-3

3) 하드웨어 보호
 * 하드웨어 보호는 이중 모드의 필요성 이기도함.
 * 입출력 장치 보호
 * 메모리 보호
 * CPU 보호

 (1) 입출력 장치 보호
  * 현재 진행중인 입출력 상태를 보호함.
   : 예) 타인이 프린터 사용중에 나의 프린터 명령은 대기를 함.
        타인의 파일을 승인 없이 읽거나 변경할 수 없음.
  * 적용방법
   : 입출력 명령을 특권 명령으로 지정
   : 입출력시 운영체제에게 요청하여 처리하도록 함.
   : 운영체제의 입출력 처리가 완료되면 다시 사용자 모드로 복귀
   : 사용자 모드에서 입출력 명령이 실행되면
     Privileged Instruction Violation (특권 명령 침범)
                -> 인터럽트 발생 -> 해당 프로그램(프로세스) 강제 종료

  (2) 메모리 보호
   * 다른 사용자의 메모리 영역이나 운영체제의 메모리 영역에 접근하지 못하도록함.
    : 우연 도는 고의(해킹)로 타인의 프로그램(프로세스)에 접근 방지
   * 적용 방법
    : MMU (Memory Management Unit)를 두어 다른 메모리 영역 침범을 감시
    : MMU의 설정은 특권 명령이기 때문에 사용자가 바꿀수는 없음.
    : 다른 사용자 또는 운영체제 메모리 영역 접근 시도되면
     Segment Violation (영역 침범)
                -> 인터럽트 -> 해당 프로그램(프로세스) 강제 종료
Memory Management Unit

  (3) CPU 보호
   * 특정 사용자의 프로그램(프로세스)이 CPU를 실수 또는 고의로 독점 사용의 방지
     예) 무한 루프 처리
   * 적용방법
    : CPU 감시하는 Timer 를 두어 일정 시간 마다 Timer Interrupt 발생
    : 만약, 특정 사용쟈 프로그램(프로세스)이 CPU를 기준 보다 오래 사용하고 있다면 강제로 프로세스 교환을 발생시켜 다른 프로그램을 CPU가 처리하도록 함.


댓글 1개: