← 질문 목록
#192깊이 0

사용자 모드와 커널 모드 전환의 이유는 무엇인가?

운영체제기초

시스템 콜으로 커널의 특권 권한으로 진입하여 하드웨어와 시스템 자원을 안전하게 보호하기 때문이다.

모드권한하는 일
사용자 모드제한된 권한애플리케이션이 동작하는 영역
커널 모드무제한 권한하드웨어 제어 및 메모리 보호

사용자 모드에서 하드웨어에 직접 접근하면 악성 코드가 메모리를 조작하거나 시스템을 파괴할 수 있다. CPU의 모드 비트로 접근 권한을 시스템 콜로 격리한다.

시스템 콜을 부르면 CPU가 전용 명령으로 커널 모드에 들어간다. 하드웨어 인터럽트가 아니라 프로그램이 스스로 일으키는 전환이다. 커널은 요청한 작업을 수행한 뒤 다시 사용자 모드로 돌아온다.

이 과정에서 컨텍스트 스위칭 비용이 발생한다. 잦은 시스템 콜 호출은 성능 저하의 원인이며, 이를 줄이기 위해 vmsplice나 io_uring 같은 기술이 사용된다.

추천 꼬리질문

0/300

적은 내용은 AI 학습에 쓰일 수 있습니다. 이름이나 연락처는 넣지 말아 주세요.

관련 질문

사용자 모드와 커널 모드 전환의 이유는 무엇인가?