이중 모드 연산 (Dual-Mode Operation)
Jan 22, 2026 · Updated Jan 25, 2026
핵심 개념
섹션 제목: “핵심 개념”운영체제 코드 실행과 사용자 정의 코드 실행을 구분하기 위해 하드웨어가 제공하는 최소 두 가지 실행 모드
- user mode
- kernel mode
잘못된(또는 악의적인) 프로그램이 다른 프로그램이나 운영체제 자체를 부정확하게 실행시킬 수 있는 문제를 방지하기 위해 필요하다.
동작 원리
섹션 제목: “동작 원리”컴퓨터 하드웨어에 현재 모드를 나타내는 mode bit이 존재한다:
| 모드 | mode bit | 별칭 |
|---|---|---|
| kernel mode | 0 | supervisor mode, system mode, privileged mode |
| user mode | 1 | - |
모드 전환 흐름
섹션 제목: “모드 전환 흐름” 1 User Mode
사용자 프로세스 실행 (bit=1) 2 System Call
시스템 콜 호출 3 Trap
mode bit → 0 전환 4 Kernel Mode
커널에서 시스템 콜 실행 5 Return
mode bit → 1 전환 6 Resume
사용자 프로세스 실행 재개 반복
부팅 시 동작
섹션 제목: “부팅 시 동작”- 시스템 부팅 시, 하드웨어는 kernel mode에서 시작
- 운영체제가 로드된 후, user mode에서 사용자 응용 프로그램 시작
- trap이나 interrupt 발생 시마다 하드웨어가 user mode에서 kernel mode로 전환
2개 이상의 모드
섹션 제목: “2개 이상의 모드”- Intel 프로세서: 4개의 protection ring (ring 0 = kernel, ring 3 = user)
- ARMv8 시스템: 7개의 모드
- 가상화 지원 CPU: VMM(Virtual Machine Manager)용 별도 모드 존재
트레이드오프
섹션 제목: “트레이드오프”- 장점: OS를 오류 사용자로부터, 사용자들을 서로로부터 보호
- 단점: 모드 전환 시 오버헤드 발생
관련 개념
섹션 제목: “관련 개념”- 특권 명령어 (Privileged Instructions) - 커널 모드에서만 실행 가능한 기계 명령어
- 트랩 (Trap) - 사용자 모드에서 커널 모드로 전환을 유발하는 소프트웨어 인터럽트
- 시스템 콜 (System Call) - 사용자 모드에서 커널 서비스에 안전하게 접근하는 방법
- 타이머 (Timer) - 운영체제가 CPU 제어를 유지하도록 보장하는 보호 장치
- 커널 (Kernel) - 커널 모드에서 실행되는 운영체제의 핵심 프로그램
- Operating System Concepts, 10th Edition, Chapter 1, p.24-25