[운영체제] Kernel mode(커널 모드), User mode(사용자 모드)

강민혁·2023년 3월 6일
1

Kernel mode(커널 모드), User mode(사용자 모드)에 대해 설명하세요

Keyword

커널, 하드웨어, 사용자 프로그램, 인터페이스, 컴퓨터 자원, system call, dual mode, 하드웨어 자원, 입출력 명령


Script

커널은 운영체제의 핵심 부분으로, 하드웨어와 사용자 프로그램 사이에서 인터페이스를 제공하는 역할을 하며, 컴퓨터 자원을 관리하는 역할을 합니다. 사용자 프로그램이 커널이 관리하는 자원에 접근하려고 할때는 System call interface를 통해 커널 영역에 요청을 합니다. 그럼 커널은 해당 요청에 맞는 명령을 하드웨어에 전달하고 작업을 수행합니다.

이때, dual mode 방식을 통해 CPU가 명령어를 실행하는 모드를 크게 kernel mode와 user mode로 나눌 수 있습니다. kernel mode로 명령어가 실행되면, 하드웨어 자원에 접근하는 명령어를 비롯한 모든 명령어를 실행할 수 있습니다.

user mode에서는 입출력 명령어와 같은 하드웨어 자원에 접근하는 명령어를 직접 실행할 수 없습니다. 일반적인 응용 프로그램은 모두 기본적으로 user mode로 실행됩니다. 그래서 user mode로 실행되는 프로그램은 운영체제에 system call을 통해 kernel mode로 실행가능한 명령어를 실행할 수 있습니다.

그래서 system call 명령이 실행되면, CPU는 지금까지의 작업을 백업하고, kernel 영역의 코드가 수행되고 이후 사용자 영역으로 복귀합니다.


Additional


Reference

Book - 혼자 공부하는 컴퓨터 구조+운영체제

profile
with programming

0개의 댓글