2017년 3월 19일 일요일
06. 운영체제의 기본 동작 원리-2
2) 이중 모드(Dual Mode)
* 다중 사용자 프로그래밍 환경(서버 시스템) 혹은 개인 PC의 다중 프로그래밍 시스템(Multiprogramming System)에서 특정 사용자의 프로그램이 고의 또는 실수로 시스템 전체 혹은 다른 사용자에게 영향을 미치는 것을 방지하기 위해 방법.
* 다른 사용자의 프로그램을 보호하고 시스템 전체의 안정된 운용을 위한 것임.
* 사용자 모드(User Mode)와 특권 모드(Privileged Mode)로 구분함.
: 하나의 프로그램(프로세스)은 사용자 모드와 특권 모드가 끊임 없이 전환되면서 실행됨.
: 특권 명령
- 하드웨어의 동작, 시스템의 통합 환경 변경 등 개별 유저가 실행해선 안되는 명령
- 사용자 모드에서는 실행 불가
- 오직 특권 모드에서 시스템에 의해서만 실행가능한 명령
- 예) STOP, HALT, RESET
(1) User Mode (사용자 모드)
: 사용자 프로그램이 실행되는 상태
: 일반적으로는 사용자 모드 상태이나 실행중 필요에 의해 순간순간 특권 모드로 강제 전환된다.
: 사용자 모드에서 특권 명령을 실행하려 하면 인터럽트가 걸려서 해당 프로그램을 강제로 종료 시킴.
(2) Privileged Mode(특권 모드)
: Supervisor, System, Monitor, Kernel Mode 라고도 함.
: 프린터, 읽기, 저장 등은 모두 특권 모드에서 실행됨.
: 시스템 종료 및 리부팅, 시스템 환경 설정 등
(3) 이중 모드의구현 원리
: CPU Register에 모드를 나타내는 플래그(flag)를 둔다.
: 운영체제 서비스가 실행될 때는 특권 모드로 전환(플래그 1)
: 사용자 프로그램 실행될 때는 사용자 모드로 전환(플래그 0)
: 인터럽트(하드웨어 또는 소프트웨어)가 발생하면 특권 모드로 전환(플래그 1)
: 운영체제 서비스가 끝나면 다시 사용자 모드로전환(플래그 0)
: User Mode: 키보드, 마우스 입력
-> System Mode: ISR 처리
-> User Mode: 저장, 출력 명령
-> System Mode: ISR 처리
-> User Mode: ...
피드 구독하기:
댓글 (Atom)
댓글 없음:
댓글 쓰기