본문 바로가기
프로그래밍/운영체제

유저 모드와 커널 모드

by bantomak 2023. 6. 27.

유저 모드(사용자 모드)와 커널 모드

보통 운영체제는 유저 모드와 커널 모드 두 가지 프로세서 접근 모드를 지원한다. 애플리케이션은 유저 모드에서 실행되고 핵심 운영 체제 구성 요소는 커널 모드에서 실행된다. 많은 드라이버가 커널 모드로 실행되지만 일부 드라이버는 유저 모드에서 실행될 수 있다.

 

사용자가 직접적으로 하드웨어 장치를 제어한다면 큰 문제가 발생할 수 있기 때문에 사용자 애플리케이션은 System Call을 통해 하드웨어 요청이나 중요한 시스템 요청을 진행한다. 요청을 하면 유저 애플리케이션은 유저 모드에서 커널모드로 잠시 전환되었다가 커널모드에서 작업을 실행한 뒤 응답을 유저 애플리케이션으로 반환한다.

 

userversuskenel
유저 모드과 커널 모드를 왔다갔다 하면서 프로세스가 실행된다.

 

userversuskenel2

유저 모드

  • 프라이빗 가상 주소 공간과 프라이빗 핸들 테이블을 애플리케이션에 제공
  • 가상 주소 공간이 제한되어 있음
  • 애플리케이션 간에 서로 간섭할 수 없고 크래시가 발생시 해당 애플리케이션 하나로 제한
  • 코드 작성, 프로세스 실행 명령 등 실행 가능

 

커널 모드

  • 단일 가상 주소 공간을 공유한다. 따라서 커널 모드 드라이버는 다른 드라이버 및 운영 체제 자체와 격리되지 않음
    (커널 모드 드라이버가 충돌하면 전체 운영 체제가 충돌함)
  • 모든 시스템 메모리 등 하드웨어에 직접 접근 가능

 

참조 사이트

 

사용자 모드 및 커널 모드 - Windows drivers

Windows를 실행하는 컴퓨터의 프로세서에는 사용자 모드와 커널 모드라는 두 가지 모드가 있습니다.

learn.microsoft.com

 

운영체제 :: 커널모드와 유저모드 ( 사용자모드 ) 의 차이

1. 필요성 보통 운영체제에서는 커널모드와 유저모드 두가지 프로세서 접근모드를 지원한다. 그 이유는 유저 어플리케이션이 함부로 운영체제의 치명적인 데이터를 수정하거나 삭제하지 못하

phaphaya.tistory.com

댓글