- 사용자 프로그램은 일반적으로 **
사용자모드
**에서 실행된다.
인터럽트
**가 발생하거나, **시스템콜
**을 호출하게 되면 **커널모드
**로 전환된다.CPU의 상태를 저장
**한다.CPU 상태를 복원
**하여 사용자프로그램을 사용자모드로 다시 이어서 실행한다.커널
(협의의 운영체제)
일반명령/ 특권명령
**현재 CPU를 사용하고 있는 것
**이 OS인지 사용자프로그램인지 표시하는 bit
0 : 커널모드 : OS가 CPU를 잡고있어 OS코드가 수행되고 있는 상황. 1 : 사용자모드 : 사용자 프로그램에 CPU가 할당되어, 사용자 프로그램 코드가 수행되고 있는 상황.
[ 사용자 <> 커널 모드 전환 예시 ]
- 프로세스가 system call 호출
- trap이 발생하여 커널 모드에 진입한다. 이때, 현재 상태를 저장한다.
- 요청받은 system call을 수행한다.
- 사용자 모드로 돌아간다. 이때, 저장해둔 이전 상태로 복원된다.