커널 (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 |