관리 메뉴

Jsecurity

커널 컴파일 단계 본문

Linux/리눅스마스터

커널 컴파일 단계

Great king 2019. 3. 14. 21:42


리눅스의 커널을 아시나요..?

그리고

커널 컴파일 단계도 알아봅시다!





커널 (kernel) 이란?


$1. 컴퓨터 과학에서 커널(kernel)은 컴퓨터의 운영 체제의 핵심이 되는 컴퓨터 프로그램의 하나로, 시스템의 모든 것을 완전히 통제한다.운영 체제의 다른 부분 및 응용 프로그램 수행에 필요한 여러 가지 서비스를 제공한다.


$2. 리눅스 커널(Linux kernel)은 오픈 소스 모놀리딕 유닉스 계열 컴퓨터 운영 체제 커널이다. 리눅스 계열의 운영 체제는 이 커널에 기반을 두며 개인용 컴퓨터와 서버와 같은 전통적인 컴퓨터 시스템들과 라우터, 무선 액세스 포인트, PBX, 셋톱 박스, 스마트 TV, NAS 어플라이언스 등의 다양한 임베디드 장치에 보통 리눅스 배포판의 형태로 배치된다.



커널의 역할


$1. 보안

커널은 컴퓨터 하드웨어와 프로세스의 보안을 책임진다.


$2. 자원 관리

한정된 시스템 자원을 효율적으로 관리하여 프로그램의 실행을 원활하게 한다. 특히 프로세스에 처리기를 할당하는 것을 스케줄링이라 한다.


$3. 추상화

같은 종류의 부품에 대해 다양한 하드웨어를 설계할 수 있기 때문에 하드웨어에 직접 접근하는 것은 문제를 매우 복잡하게 만들 수 있다. 일반적으로 커널은 운영 체제의 복잡한 내부를 감추고 깔끔하고 일관성 있는 인터페이스를 하드웨어에 제공하기 위해 몇 가지 하드웨어 추상화(같은 종류의 장비에 대한 공통 명령어의 집합)들로 구현된다. 



커널의 종류


$1. 단일형 커널(monolithic kernel) - 커널의 다양한 서비스 및 높은 수준의 하드웨어 추상화를 하나의 덩어리(주소 공간)로 묶은 것이다. 운영 체제 개발자 입장에서 유지 보수가 일반적으로 더 어려우나 성능이 좋다.


$2. 마이크로커널(microkernel) - 하드웨어 추상화에 대한 간결한 작은 집합을 제공하고 더 많은 기능은 서버라고 불리는 응용 소프트웨어를 통해 제공한다.


$3. 혼합형 커널(hybrid kernel) - 성능 향상을 위해 추가적인 코드를 커널 공간에 넣은 점을 제외하면 많은 부분은 순수 마이크로커널과 비슷하다. 수정 마이크로커널이라고도 한다.


$4. 나노커널(nanokernel) - 실질적으로 모든 서비스를 책임진다.


$5. 엑소커널(exokernel) - 낮은 수준의 하드웨어 접근을 위한 최소한의 추상화를 제공한다. 전형적으로 엑소커널 시스템에서는 커널이 아닌 라이브러리가 단일형 커널 수준의 추상을 제공한다.



커널 컴파일 과정


$1. 커널 소스 파일 압축해제


$2. 커널 소스의 설정 값 초기화 - #make mrproper


$3. 커널 컴파일 옵션 설정 작업 - #make menuconfig 


$4. 커널 이미지 파일 생성 작업 - #make bzlmage


$5. 커널 모듈 생성을 위한 컴파일 작업 - #make modules


$6. 커널 모듈 설치 작업 - #make modules_install


$7. 커널 모듈 파일 복사, grub.conf파일 수정 - #make install 


$8. 새로운 커널  사용을 위한 시스템 재부팅



※커널 컴파일 단계


make mrproper -> make menuconfig -> make bzimage -> make modules 

-> make modules_install -> make install





답: 1번입니다.

make install 이 커널 컴파일 단계의 가장 마지막에 실행되는 명령이다.









'Linux > 리눅스마스터' 카테고리의 다른 글

DNS 레코드 타입 설명  (0) 2019.03.14
리눅스 PAM 개념과 토큰  (0) 2019.03.12
리눅스 signal (시그널)  (0) 2019.03.11
리눅스 GPL, LGPL 정의와 차이점  (0) 2019.03.11
리눅스 NIS 서버  (0) 2019.03.08
Comments