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.