운영체제에서 **커널(kernel)**은 가장 안쪽에서 하드웨어를 직접 통제하는 핵심 코드다. CPU 시간을 프로세스에 나눠주고(스케줄링), 메모리를 할당하며, 파일 시스템과 네트워크와 장치를 관리한다. 우리가 평소 쓰는 셸·명령·응용 프로그램은 모두 이 커널 위에서 돌며, 커널에 요청(시스템 콜)을 보내 하드웨어와 간접적으로 대화한다. 리눅스마스터 1급 실기는 커널의 구조, 그리고 커널을 통째로 다시 만들지 않고도 기능을 더하는 모듈(module) 관리 명령을 묻는다.
핵심 통찰: 리눅스 커널은 **모듈식 단일 커널(modular monolithic kernel)**이다. 핵심 기능은 한 덩어리(monolithic)로 메모리에 상주하지만, 장치 드라이버나 파일 시스템 같은 기능은 필요할 때 끼우고 뺄 수 있는 모듈로 분리돼 있다. 새 USB 장치를 꽂으면 해당 드라이버 모듈이 자동 적재되고, 안 쓰면 내릴 수 있다. 덕분에 커널 전체를 다시 컴파일하지 않고도 기능을 동적으로 확장한다.
오늘은 (1) 커널의 위치와 버전 확인, (2) 모듈을 보고·올리고·내리는 명령(lsmod/modprobe/insmod/rmmod/modinfo), (3) 커널을 처음부터 컴파일하는 흐름(make menuconfig→make→make modules_install)을 다룬다. 모듈 관리가 실기 단답의 핵심이다.