커널(Kernel) 운영체제는 우리 컴퓨터에서 아주 많은 기능을 담당한다. 그중에서도 '자원에 접근하고 조작하는 기능', '프로그램이 올바르고 안전하게 실행되게 하는 기능' 등, 가장 핵심적인 서비스들을 담당하는 부분을 커널(kernel)이라고 한다.(* 사용자 인터페이스인 GUI와 CLI는 컴퓨터와 상호작용하기 위한 통로일 뿐 커널에 속한 기능은 아니다) 커널의 핵심 역할 이중 모드와 시스템 호출: 운영체제는 사용자가 실행하는 응용 프로그램이 하드웨어 자원에 직접 접근하는 것을 방지하여 자원을 보호한다. 응용 프로그램이 CPU, 메모리, HDD 등에 마음대로 접근하고 조작할 수 있다면 자원이 무질서하게 관리될 것이고, 응용 프로그램이 조금만 실수하더라도 컴퓨터 전체에 큰 영향을 끼칠 수 있..