Sự khác biệt về khái niệm giữa Linux và hạt nhân BSD (miễn phí)


19

(Tôi đã nhận thấy rằng câu hỏi này đã được hỏi trước đây nhưng tôi nghĩ nó chưa được trả lời theo cách tôi muốn hiểu chủ đề này.)

Sự khác biệt về khái niệm và cấu trúc giữa một

  • Nền tảng Linux
  • Hạt nhân BSD (giả sử FreeBSD)

Trong khi vào cuối ngày cả hai đều là hạt nhân - tôi sẽ cho rằng có thể có sự khác biệt về cấu trúc, chức năng và chuyên môn hóa. Trong các kịch bản, một loại hạt nhân sẽ có lợi thế hơn các loại khác? (Máy chủ Web, Cơ sở dữ liệu, Máy tính, v.v.)

Có bất kỳ nỗ lực chung nào để tập trung lực lượng cho một hạt nhân chung hoặc một số mô-đun nhất định hay điều đó sẽ trở nên vô nghĩa?

PS: Các loại giấy phép khác nhau hoặc cách tiếp cận vận chuyển / đóng gói / bảo trì không quan trọng trong bối cảnh này. Tôi thực sự quan tâm đến việc hiểu chúng khác nhau như thế nào về mức độ cấu trúc, chức năng / tính năng và chuyên môn hóa.


Có bất kỳ nỗ lực chung nào để tập trung lực lượng cho một hạt nhân chung hoặc một số mô-đun nhất định hay điều đó sẽ trở nên vô nghĩa? Suy nghĩ đầu tiên của tôi là điểm nào có thể có thể ... tạo ra hạt nhân thứ ba "hoàn toàn dựa trên sự pha trộn giữa linux và freeBSD"?
goldilocks

Không, hoàn toàn không, thay vào đó là cách khác - thiết lập sự hợp tác cho các bộ phận giống nhau cho cả hai. Tôi nghĩ đối với một số trình điều khiển nhất định, đây là trường hợp nếu tôi không nhầm.
binaryanomaly

1
@binaryanomaly: các giấy phép khác nhau rất quan trọng đối với cả hai bên. Ở một mức độ nào đó, người ta có thể gọi nó là một ý thức hệ ở hai bên lối đi. Ví dụ, GCC từng là một điểm nhức nhối trong BSD và FreeBSD giờ đã chuyển sang Clang như mặc định của họ vì lý do này: vấn đề giấy phép.
0xC0000022L

1
@ 0xC0000022L: Bạn chắc chắn đúng và tôi không muốn nói rằng các câu hỏi cấp phép không quan trọng - Tôi chỉ muốn nó không trở thành trọng tâm chính trong cuộc thảo luận cụ thể này.
binaryanomaly

Thực sự @goldilocks, bạn không thể thấy lợi ích của điều thứ ba không quá rắc rối, cũng không quá BSDish, nhưng đúng không?
Josh Rumbut

Câu trả lời:


22

1. Sự khác biệt về khái niệm và cấu trúc giữa hạt nhân Linux và hạt nhân BSD là gì?

Về kiến ​​trúc và cấu trúc bên trong, tất nhiên có sự khác biệt về cách mọi thứ được thực hiện (ví dụ: lvm so với geom , tính năng sớm và phức tạp cho FreeBSD, ...), nhưng nhìn chung không có nhiều khác biệt giữa hai:

  • Cả nhân BSD * và nhân Linux đều đã phát triển từ cách tiếp cận hoàn toàn nguyên khối sang một thứ gì đó lai / mô đun.

Tuy nhiên, có những khác biệt cơ bản trong cách tiếp cận và lịch sử của họ:

  • BSD-kernel đang sử dụng giấy phép BSD và Linux-kernel đang sử dụng giấy phép GPL .
  • BSD-kernel không phải là hạt nhân độc lập mà được phát triển như là một phần của tổng thể . Tất nhiên, đây chỉ là một quan điểm triết học và không phải là một kỹ thuật, nhưng điều này mang lại sự gắn kết hệ thống .
  • BSD-kernel được phát triển với quan điểm bảo thủ hơn và quan tâm nhiều hơn đến việc phù hợp với phương pháp của họ hơn là có các tính năng ưa thích.
  • Linux-kernel thiên về trình điều khiển, tính năng, ... (càng nhiều càng tốt).

Như đã nói rất nhiều ở một nơi khác :

Đó là Thiết kế và trật tự thông minh (BSD *) so với lựa chọn tự nhiên và hỗn loạn (GNU / Linux).

2. Trong trường hợp nào một loại nhân sẽ có lợi thế hơn các loại khác?

Về cấu trúc và khái niệm tổng thể của chúng, trong khi so sánh hạt nhân Linux gần như vanilla và hạt nhân FreeBSD, chúng ít nhiều có cùng mức độ sử dụng chung , không có chuyên môn cụ thể (không theo thời gian thực, không song song cao, không song song định hướng trò chơi, không nhúng, ...).

Tất nhiên, có một vài khác biệt ở đây và đó, chẳng hạn như hỗ trợ ZFS riêng hoặc kiến ​​trúc geom cho FreeBSD so với nhiều trình điều khiển hoặc các hệ thống tệp khác nhau cho Linux. Nhưng không có gì một số phần mềm chung như máy chủ web hoặc cơ sở dữ liệu sẽ thực sự sử dụng để tạo ra sự khác biệt thực sự. So sánh trong những trường hợp này rất có thể sẽ kết thúc trong một số trận chiến điều chỉnh giữa hai người, không có gì quan trọng.

Tuy nhiên, một số người sẽ cho rằng OpenBSD có cách tiếp cận sâu sắc và nhất quán về bảo mật, trong khi các bản phân phối Linux cứng là "phiên bản" sửa đổi của hạt nhân vanilla Linux. Điều này có thể đúng với hệ thống chuyên dụng nặng nề như vậy, vì Steam-OS sẽ là số một để chơi game.

3. Có bất kỳ nỗ lực chung nào để tập trung lực lượng cho một hạt nhân chung hoặc các mô-đun nhất định không?

Không nỗ lực chung để tập trung lực lượng cho một hạt nhân chung, vì có các giấy phép chính, các vấn đề triết học hoặc tiếp cận.

Nếu một số nỗ lực chung thực sự tồn tại như OpenZFS , phần lớn thời gian sẽ tập trung vào các trình điều khiển và các khái niệm được lấy hoặc lấy cảm hứng từ nhau.


Các khái quát về Glib về BSD thường sai. Lưu ý ở đây, ví dụ, BSD DragonFly tồn tại bởi vì bảo thủ không phải là một khái quát mà người ta có thể áp dụng cho thế giới BSD.
JdeBP

5

Câu trả lời một phần giải quyết một vài điểm

Nhiều lựa chọn thường được coi là một điều xấu khi ở bên ngoài nhìn vào sự phát triển nguồn mở nhưng nghĩ về nó như trong tự nhiên, có nhiều loài (thường) của một loại động vật, nói là chim cánh cụt. Có 17 . Mỗi cái được chuyên biệt cho một tập hợp các yêu cầu cụ thể, cũng vậy với các dự án nguồn mở (thông thường). Chọn lọc tự nhiên sẽ quan tâm đến việc loại bỏ nguồn mở ít có khả năng theo thời gian.

Có bất kỳ nỗ lực chung nào để tập trung lực lượng cho một hạt nhân chung hoặc một số mô-đun nhất định hay điều đó sẽ trở nên vô nghĩa?

Đôi khi sẽ là vô nghĩa, đôi khi đó là một sự cố gắng nhưng những người làm việc trên các thành phần này cũng không làm việc đó trong chân không. Họ sẽ nhìn xung quanh xem những gì người khác đang làm và nếu có một cách tiếp cận hoặc thuật toán họ sẽ kết hợp nó khi có ý nghĩa để làm điều đó.

Tôi không thể nói về sự khác biệt về cấu trúc liên quan đến các viên đạn khác của bạn nhưng nghĩ rằng ít nhất tôi sẽ giải quyết được 2 trong số chúng.


Bạn chắc chắn có một điểm ở đó với chuyên môn. Mặt khác, tôi cũng cá rằng DNA của chim cánh cụt có tỷ lệ rất cao giống hệt nhau (như đối với vượn và người) và nó chỉ khác nhau ở những khu vực nhỏ. Thiên nhiên là khá tốt để tránh những nỗ lực dư thừa nhưng chỉ phân biệt khi nào và khi cần. Hàng tỷ lần lặp tự nhiên (sinh sản) quyết định sau đó (lựa chọn) mô hình nào thích nghi tốt nhất với các điều kiện môi trường nhất định. (Đó là triết lý;)
binaryanomaly

@binaryanomaly - đó là rắc rối với các chất tương tự 8-). Tôi có lẽ sẽ không đưa nó đến mức đó vì sự tương quan của ngôn ngữ / mã lập trình là khó khăn hơn để tương quan với DNA.
slm

Câu trả lời hay và so sánh tốt bằng cách sử dụng chim cánh cụt. Thông thường chúng ta quên rằng sự trùng lặp của nỗ lực không phải lúc nào cũng xấu và rằng một nhánh của dự án không phải lúc nào cũng là kết thúc. Nó thực sự là một quá trình tiến hóa, cần phải xảy ra và có thể tạo ra những ý tưởng mới hoặc thất bại thảm hại.
Raphael AhDR
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.