핵심 키워드: 커널, 이중 모드, 시스템 호출, 운영체제 서비스


운영체제는 사용자를 위한 프로그램이 아닌 사용자가 실행하는 프로그램을 위한 프로그램이다.

즉, 사용자가 실행하는 응용 프로그램이 올바르게 실행되도록 돕고 필요한 자원을 할당해 주는 프로그램이다.

내가 실행하는 프로그램은 운영체제에게 어떻게 도움을 받을까?

내가 개발한 프로그램은 운영체제에게 어떤 도움을 받을까?

운영체제의 심장, 커널

운영체제는 현존하는 프로그램 중 규모가 가장 큰 프로그램 중 하나이다. 대표적은 운영체제인 리눅스를 구성하는 소스 코드는 천만 줄이 넘는다.

커널: 자원에 접근하고 조작하는 기능, 프로그램이 올바르고 안전하게 실행되게 하는 기능이 운영체제의 핵심 서비스이다. 이런 핵심 서비스를 담당하는 부분을 커널이라 한다.

운영체제가 설치된 모든 기기에는 커널이 있다. 커널은 마치 사람의 심장, 혹은 자동차의 엔진과도 같다. 어떤 커널을 사용하는지에 따라 우리가 실행하고 개발하는 프로그램이 하드웨어를 이용하는 양상이 달라지고, 결과적으로 컴퓨터 전체의 성능도 달라질 수 있다.

운영체제가 제공하는 서비스 중 커널에 포함되지 않는 서비스도 있는데, 대표적으로 사용자 인터페이스가 있다.

사용자 인터페이스: 윈도우의 바탕화면과 같이 사용자가 컴퓨터와 상호작용할 수 있는 통로이다.

운영체제가 제공하는 사용자 인터페이스의 종류에는 그래픽 유저 인터페이스, 커맨드 라인 인터페이스가 있다.