Skip to Content
공부운영체제운영체제 개요커널과 시스템 콜

커널과 시스템 콜

운영체제의 계층 구조

커널 (Kernel)

운영체제의 핵심 부분으로, 하드웨어를 직접 제어한다.

커널의 종류:

종류설명예시
모놀리식 커널모든 기능이 커널 공간에 있음Linux, Unix
마이크로 커널최소 기능만 커널에, 나머지는 사용자 공간Minix, QNX
하이브리드 커널두 방식의 혼합Windows NT, macOS

운영체제의 동작 모드

1. 사용자 모드 (User Mode)

응용 프로그램이 실행되는 모드다.

사용자 모드에서는 제한된 권한만 주어진다. 응용 프로그램은 자신에게 할당된 메모리 영역만 접근할 수 있으며, 다른 프로세스의 메모리나 시스템 영역을 함부로 접근할 수 없다. 이러한 제한은 잘못된 프로그램이나 악의적인 코드로부터 시스템을 보호하기 위함이다.

또한, 사용자 모드에서는 하드웨어에 직접 접근할 수 없다. 파일을 읽거나 네트워크 통신을 하는 등 하드웨어 자원이 필요한 작업은 운영체제를 통해서만 가능하다. 응용 프로그램은 시스템 콜을 통해 커널에게 서비스를 요청하고, 커널이 대신 작업을 수행한 후 결과를 돌려받는다.

2. 커널 모드 (Kernel Mode)

운영체제가 실행되는 모드다.

커널 모드에서는 모든 권한을 보유한다. 운영체제 커널은 시스템의 모든 메모리에 접근할 수 있고, 모든 CPU 명령어를 실행할 수 있다. 이는 시스템 자원을 관리하고 하드웨어를 제어하기 위해 필요한 권한이다.

이러한 권한을 바탕으로 커널 모드에서는 하드웨어를 직접 제어할 수 있다. CPU, 메모리, 디스크, 네트워크 카드 등 모든 하드웨어 장치에 직접 명령을 내릴 수 있으며, 이를 통해 응용 프로그램이 요청한 작업을 실제로 수행한다.

따라서 커널 모드의 주요 역할은 시스템 자원 관리다. 프로세스 스케줄링, 메모리 할당, 파일 시스템 관리 등 운영체제의 핵심 기능들이 모두 커널 모드에서 실행된다. 사용자 모드에서 시스템 콜이 발생하면 커널 모드로 전환되어 요청된 작업을 수행한 후 다시 사용자 모드로 복귀한다.

Last updated on