토픽 69 / 85·파일 시스템, I/O, 시스템 구조
커널 모드 vs 사용자 모드 (Kernel Mode vs User Mode)
커널 모드 vs 사용자 모드 (Kernel Mode vs User Mode)
CPU의 동작 모드를 권한 수준에 따라 구분한 것으로, 커널 모드는 모든 명령어와 자원에 접근 가능하고 사용자 모드는 제한된 권한만 가짐
목적: 시스템 보호, 안정성, 보안, 자원 격리
특징: 모드 비트(0=커널, 1=사용자), 특권 명령어, 모드 전환(시스템 호출/인터럽트)
커널 모드(Kernel/Supervisor Mode)
- •권한: 모든 명령어 실행 가능, 하드웨어 직접 접근, 메모리 전체 접근
- •실행: 커널, 디바이스 드라이버, ISR
- •특권 명령어: I/O, 인터럽트 제어, 메모리 관리, 모드 전환
사용자 모드(User Mode)
- •권한: 제한된 명령어, 자신의 주소공간만, 하드웨어 직접 접근 불가
- •실행: 응용 프로그램, 라이브러리
- •커널 서비스: 시스템 호출로만 접근
모드 전환: 시스템 호출(Trap) / 인터럽트 / 예외 → 커널 모드, Return → 사용자 모드
보호 메커니즘: 메모리 보호(페이지 테이블), I/O 포트 보호, 특권 명령어 보호
장점: 시스템 보호, 안정성(응용 크래시 시 커널 보호), 보안, 자원 격리
단점: 모드 전환 오버헤드(시스템 호출), 성능 저하
적용사례: 모든 현대 OS, x86(Ring 0/Ring 3), ARM(EL0/EL1)
비교: 커널 모드(모든 권한/빠름) vs 사용자 모드(제한/안전)
연관: 시스템 호출, 커널, 보호, 특권 명령어, 인터럽트