본문 바로가기

리눅스/강의

[18. 커널]

커널 (Kernel)


설명

리눅스에서 커널은 시스템 자원을 소유하고 관리하는 역할을 담당.

보통 하드웨어 , 메모리 , 프로세스 스케쥴을 담당하고 프로그램이 하드웨어 자원을 간접적으로

접근할 수 있도록 해준다.

uname -r 명령어를 이용해 커널버전을 확인 할 수 있다.


특징

https://www.kernel.org/ (커널이 배포되는 링크)

커널의 버전은 4.0.2 형태로 배포된다.


첫번쨰 4는 메이저 번호라고 하며 , 커널에 매우 큰 변화가 생겼을 경우 올라가고

두번쨰 0은 마이너 번호라고 하며 , 기능상의 중요한 변화가 생기거나 추가된 경우 올라간다.

마이너 번호가 짝수이면 "안정버전" , 홀수이면 "개발버전"을 의미한다.

마지막 2는 패치번호로 버그 수정과 같이 약간의 변화가 생겼을 시 올라간다.


커널 컴파일

커널 소스를 다운로드하여 사용하는 시스템에 최적화 된 커널을 만드는 과정

컴파일을 하기 위해서는 C 컴파일러인 gcc , 어셈블러 , 링커 , make 유틸리티 등의 개발도구가 필요.


커널 컴파일 순서

① 커널 소스파일 압축해제 -> ② 커널 소스의 설정 값 초기화(make mrproper) ->

 커널 컴파일 옵션 설정(make menuconfig) -> ④ 커널 이미지 파일 생성(make bzImage)

⑤ 커널 모듈 생성을 위한 컴파일(make modules) -> ⑥ 커널 모듈 설치(make modules_install)

⑦ 커널 모듈 파일 복사 , grup.conf 파일 수정(make install) -> ⑧ 새로운 커널 사용을 위한 재부팅


추가 설명

make clean

- 소스파일로 프로그램을 설치할 떄 configure 작업을 수행하는데 이 작업을 수행하면 오브젝트 파일이 생성됨.

- make clean 명령은 생성된 오브젝트 파일을 제거하고 다시 configure 할 떄 쓰이는 명령이다.


make mrproper

- make clean 명령으로 지우지 못한 환경 설정 내용이 저장 된 .config 파일을 지울 떄 사용하는 명령어.

- 커널의 설정 값을 초기화 하는 것에도 사용한다.


make modules_install

- make modules로 인해 컴파일 된 모듈을 설치하는 명령어.

- 해당 명령어를 수행하면 /lib/modules/커널버전 디렉터리에 모듈이 생성된다.


'리눅스 > 강의' 카테고리의 다른 글

[20. GRUB]  (0) 2017.11.09
[19. 하드디스크 간단정리]  (0) 2017.11.09
[17. 모듈]  (0) 2017.11.09
[16. RPM]  (0) 2017.11.08
[15. 프로세스]  (0) 2017.11.05