• 사용자 모드(user mode): 응용 프로그램이 실행되는 제한된 권한 모드입니다. 사용자 모드에서는 운영체제의 보호를 받으며 제한된 명령어만 실행할 수 있습니다. 다른 응용 프로그램이나 커널 공간에는 접근할 수 없습니다.
커널 모드에서는 운영체제가 실행되며, 응용 프로그램이 요청한 작업을 대신 처리합니다. 사용자 모드에서는 응용 프로그램이 실행됩니다. 운영체제는 응용 프로그램이 하드웨어를 직접 조작하지 못하도록 보호하기 위해 커널 모드와 사용자 모드 간 전환을 관리합니다. 즉, 응용 프로그램이 시스템 자원에 접근하려면 반드시 커널 모드에서 실행되는 운영체제의 도움을 받아야 합니다.
CPU의 실행 모드는 모드 비트(mode bit)를 사용해 구분합니다. 모드 비트가 0이면 커널 모드로 작동하고, 모드 비트가 1이면 사용자 모드로 작동합니다.
응용 프로그램이 시스템 호출을 요청하면 모드 비트가 0으로 바뀌면서 CPU를 사용자 모드에서 커널 모드로 전환합니다. 커널이 요청한 작업을 끝내면 모드 비트가 1로 바뀌고 CPU는 커널 모드에서 사용자 모드로 전환합니다.

그림 7-6 사용자 모드와 커널 모드의 전환