컴퓨터 시스템에서는 사용자 프로세스가 실행되는 환경과 운영체제(OS)의 핵심 부분이 실행되는 환경을 구분하여 두 가지 모드로 나눌 수 있다. 이 두 모드는 각각 "User Mode(사용자 모드)"와 "Kernel Mode(커널 모드)"이다.
User Mode(사용자 모드)
User Mode는 사용자 응용 프로그램이 실행되는 환경을 의미한다. 사용자 모드에서는 주로 응용 프로그램이 동작하며, 일반적인 작업들을 수행한다. 사용자 모드에서는 사용자의 명령에 따라 응용 프로그램이 메모리에 접근하고, 파일을 열고, 네트워크 통신 등을 수행한다.
이 모드에서는 일반적인 사용자 작업을 처리하고, 시스템 자원에 직접적인 접근이 제한되어 있다. 사용자 프로세스는 필요한 서비스나 자원에 대한 요청을 운영체제에게 전달하고, 운영체제가 그 요청을 처리하여 필요한 작업을 수행한다.
Kernel Mode(커널 모드)
Kernel Mode는 운영체제의 핵심 부분이 동작하는 환경을 의미한다. 커널 모드에서는 운영체제의 핵심 기능이 실행되며, 시스템 자원에 대한 완전한 접근 권한을 갖는다. 이 모드에서는 시스템의 핵심 기능, 디바이스 드라이버, 메모리 관리, 프로세스 관리 등과 같은 핵심적인 작업들을 수행한다.
커널 모드는 특권 명령을 실행할 수 있는 특권 명령어 세트를 사용하며, 이는 보안상의 이유로 사용자 모드에서 직접 수행할 수 없다. Kernel Mode에서는 전체 시스템을 통제하고 모든 자원을 효율적으로 관리하여 안정성과 보안을 유지한다.
User Mode와 Kernel Mode는 컴퓨터 시스템에서의 두 가지 주요 실행 환경으로, 각각 사용자 응용 프로그램과 운영체제의 핵심 부분이 동작한다. 이러한 모드의 구분은 시스템의 안정성과 보안을 유지하는 데 기여하며, 각 모드가 수행하는 역할에 따라 사용자와 시스템 간의 상호 작용이 이루어진다.
'운영체제(OS) > keyword' 카테고리의 다른 글
(Project2-User Programs) 유저 스택(User Stack) (0) | 2023.12.15 |
---|---|
(Project2-User Programs) 레지스터와 메모리(Register vs Memory) (0) | 2023.12.15 |
(Project1-Threads) 멀티 레벨 피드백 큐(MLFQS) (0) | 2023.12.15 |
(Project1-Threads) 컨텍스트 스위칭(Context Switching) (0) | 2023.12.15 |
(Project1-Threads) 데드락(Deadlock) (0) | 2023.12.15 |