Linux와 (Free) BSD 커널의 개념적 차이점


19

(이 질문은 이전에 요청 된 것을 이미 알고 있지만 주제를 이해하려는 방식으로 답변되지 않은 것 같습니다.)

A의 개념 및 구조적 차이점은 무엇입니까

  • 리눅스 커널
  • BSD 커널 (FreeBSD라고합시다)

하루가 끝나면 둘 다 커널이지만 구조, 기능 및 전문 분야에 차이가있을 수 있다고 가정합니다. 어떤 시나리오에서 한 종류의 커널이 다른 것보다 유리합니까? (웹 서버, 데이터베이스, 컴퓨팅 등)

하나의 공통 커널이나 특정 모듈에 힘을 집중시키려는 노력이 있습니까?

추신 :이 상황에서는 다른 라이센스 유형이나 운송 / 포장 / 유지 관리 방법이 중요하지 않습니다. 구조적, 기능적 / 기능적 수준 및 전문화가 어떻게 다른지 이해하고 싶습니다.


하나의 공통 커널이나 특정 모듈에 힘을 집중시키려는 노력이 있습니까? 나의 첫번째 생각은 "Linux와 freeBSD의 혼합에 전적으로 기반을 둔"세번째 커널을 만들기 위해 어떤 점을 가질 수 있을까?
goldilocks

아니, 전혀 다른 방법은 아닙니다. 둘 다 동일한 부품에 대해 협력을 설정하십시오. 나는 실수하지 않은 경우 특정 드라이버에 대해서는 이미 그런 경우라고 생각합니다.
binaryanomaly가

1
@ binaryanomaly : 다른 라이센스는 양쪽에 매우 중요합니다. 어느 정도까지는 통로 양쪽의 이데올로기라고 할 수 있습니다. 예를 들어 GCC는 BSD에서 아픈 지점이었고 FreeBSD는 이제 라이센스 문제와 같은 이유로 기본값으로 Clang으로 전환했습니다.
0xC0000022L

1
@ 0xC0000022L : 확실히 맞습니다. 라이센스 문제가 중요하지 않다고 말하고 싶지 않았습니다.이 특정 토론에서 주요 관심사가되지 않기를 원했습니다.
binaryanomaly

실제로 @goldilocks, 당신은 너무 리눅스도 아니고 너무 BSDish이지만 세 번째 것의 이점을 볼 수는 없지만 옳습니다 .
Josh Rumbut

답변:


22

1. Linux-Kernel과 BSD-kernel의 개념 및 구조적 차이점은 무엇입니까?

아키텍처와 내부 구조에 관해서는 물론 작업 수행 방식에 차이가 있지만 (예 : lvm vs geom , FreeBSD의 초기 및 복잡한 감옥 기능 등), 전반적으로 그 둘 사이에는 큰 차이가 없습니다.

  • BSD * 커널과 Linux 커널은 순수하게 모 놀리 식 접근법에서 하이브리드 / 모듈 식으로 진화했습니다.

그러나 접근 방식과 역사에는 근본적인 차이점이 있습니다.

  • BSD-kernel은 BSD 라이센스를 사용 하고 Linux-kernel은 GPL 라이센스를 사용 합니다 .
  • BSD-kernel 은 독립형 커널이 아니지만 전체의 일부로 개발되었습니다 . 물론 이것은 단지 철학적 관점 일뿐 기술적 인 관점은 아니지만 시스템 일관성을 제공합니다 .
  • BSD-kernel은보다 보수적 인 관점에서 개발되었으며 멋진 기능보다 접근 방식에 일관성을 유지하는 데 더 많은 관심을 기울였습니다.
  • Linux- 커널은 드라이버, 기능 등에 대한 것입니다.

다른 곳에서 크게 언급했듯이 :

그것은이다 지능형 설계 및 주문 대 (BSD의 *) 자연 선택과 카오스 (GNU / 리눅스).

2. 어떤 시나리오에서 한 종류의 커널이 다른 것보다 유리합니까?

거의 모든 바닐라 리눅스 커널과 FreeBSD 커널을 비교하면서 전체적인 구조와 개념에 대해, 그것들은 거의 같은 일반 사용 레벨 에 가깝습니다. 포함되지 않은 게임 지향 ...).

물론 원시 ZFS 지원 또는 FreeBSD의 geom 아키텍처와 Linux의 많은 드라이버 또는 다양한 파일 시스템과 같은 몇 가지 차이점이 있습니다. 그러나 웹 서버 나 데이터베이스와 같은 일반적인 소프트웨어는 실제로 큰 차이를 만들지 않습니다. 이 경우의 비교는 아마도 둘 사이의 조정 전쟁으로 끝날 것입니다.

그러나 일부 사람들은 OpenBSD 에 보안에 대한 깊고 일관된 접근 방식이 있으며 강화 된 Linux 배포판은 바닐라 Linux 커널의 "단순한"수정 된 버전 이라고 주장합니다 . Steam-OS 가 게임을하기위한 최고의 제품인 것처럼, 고도로 전문화 된 시스템의 경우에도 마찬가지입니다 .

3. 하나의 공통 커널 또는 특정 모듈에 대한 힘을 집중시키기위한 공동 노력이 있습니까?

주요 라이센스, 철학 또는 접근 문제가 있기 때문에 하나의 공통 커널에 힘을 집중시키기위한 공동 노력 은 없습니다 .

OpenZFS 와 같은 몇 가지 실제적인 노력이 존재 한다면 , 대부분 서로에게 영감을 얻은 드라이버와 개념에 관한 것입니다.


BSD에 대한 Glib 일반화는 일반적으로 잘못되었습니다. 보수적하기 때문에 잠자리 BSD가 있는지, 예를 들어, 여기에주의 하지 하나는 BSD 세계에 적용 할 수있는 일반화가.
JdeBP

5

몇 가지 요점을 다루는 부분 답변

많은 옵션은 외부에서 오픈 소스 개발을 조사 할 때 종종 나쁜 것으로 인식되지만 자연과 같이 생각하면 많은 종류의 동물이 있습니다 (펭귄). 17이 있습니다. 각각은 특정 요구 사항에 특화되어 있으므로 오픈 소스 프로젝트 (일반적으로)도 마찬가지입니다. 자연 선택은 시간이 지남에 따라 덜 개방적인 오픈 소스를 제거하는 데 도움이됩니다.

하나의 공통 커널이나 특정 모듈에 힘을 집중시키려는 노력이 있습니까?

무의미 ​​할 수도 있지만 때로는 노력의 중복이지만 이러한 구성 요소를 사용하는 사람들은 진공 상태에서도 수행하지 않습니다. 그들은 다른 사람들이하는 일을 둘러보고 접근 방식이나 알고리즘이 있다면 합리적 일 때 그것을 포함시킵니다.

다른 총알과 관련된 구조적 차이점에 대해서는 이야기 할 수 없지만 적어도 2 개는 해결해야한다고 생각했습니다.


당신은 분명히 전문화에 대한 요점이 있습니다. 반면에 나는 펭귄의 DNA가 정확히 같은 비율 (유인원과 인간의 경우)에 가깝고 작은 지역에서만 다르다는 것을 내기 할 것이다. 자연은 과도한 노력을 피하는 데 능숙하지만 필요할 때와 장소에서만 차별화됩니다. 수십억 자연 반복 (재생)은 주어진 환경 조건에 가장 잘 맞는 패턴을 결정 (선택)합니다. (그것은 철학적 점점)
binaryanomaly

@ binaryanomaly-그것은 비유의 문제입니다 8-). 프로그래밍 언어 / 코드의 상관 관계가 DNA와 상관 관계가 까다로워서 아마도 그 수준으로 가져 가지 않을 것입니다.
slm

펭귄을 사용하여 좋은 대답과 좋은 비교. 종종 우리는 노력의 중복이 항상 나쁜 것은 아니며 프로젝트의 포크가 항상 끝이 아니라는 것을 잊어 버립니다. 실제로 일어나야하며 새로운 아이디어를 만들거나 비참하게 실패 할 수있는 것은 진화 과정입니다.
Raphael Ahrens
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.