내 동료 중 몇몇은 워크스테이션과 서버용 사용자 정의 커널을 구축해 왔습니다.
맞춤형 커널 구축의 장점/단점은 무엇입니까?
왜 맞춤형 커널을 구축해야 합니까?
답변1
사람들이 커널을 수동으로 컴파일하는 데에는 몇 가지 이유가 있습니다. 나는 내가 생각할 수 있는 것들을 나열하려고 노력할 것이다:
- 자주 인용되지만 종종 잘못된 이유는 더 빠르게 작동한다는 것입니다. 특정 시스템에 대한 컴파일러 플래그를 사용자 정의하면 이론적으로 더 나은 바이트코드를 생성할 수 있습니다. 그러나 최신 컴파일러에서는 이러한 현상이 덜 일반적입니다.
- 일부 컴파일 타임 플래그를 변경합니다. 예: 디버깅 정보가 포함된 커널을 컴파일합니다. 이는 귀하의 경우에는 적용되지 않을 수도 있습니다.
- 커널에서 불필요한 부분을 제거합니다. 그러나 @jordanm이 말했듯이 이러한 부분은 거의 모듈이며 아마도 중요하지 않을 것입니다. 그러나 어떤 경우에는 그 차이가 상당할 수 있습니다.
- 학문적 목적으로. 자신만의 커널을 컴파일하면 빌드 프로세스에 대해 많은 것을 배우는 데 도움이 될 수 있습니다. 또한 다양한 구성 옵션에 대해 알아볼 수 있습니다.
- 일부 모듈을 교체하십시오. 예를 들어 con kolivas 패치 세트, 라이브 패치 세트 등을 사용하십시오.
- 어떤 경우에는, 특히 임베디드 시나리오에서는 커널에 사용자 정의 시스템 호출을 추가하는 것이 가능합니다. 여기에는 사용자 정의 컴파일도 필요합니다.
- 나처럼 시스템을 조작하는 것을 좋아하는 사람들도 있습니다. 그리고 최종 시스템이 이에 어떻게 반응하는지 확인하기 위해 일부 구성 옵션을 무작위로 변경합니다. 그러나 그런 사람은 드물다.
답변2
사용자 정의 커널을 생성하면 커널의 불필요한 부분을 제거하여 오버헤드(내장 장치) 또는 보안 취약점(서버)을 줄일 수 있습니다.