Sự khác biệt giữa Unix, Linux, BSD và GNU là gì? [đóng cửa]


27

Sự khác biệt rất cơ bản giữa Unix, Linux, BSD và GNU là gì? Unix là hệ điều hành sớm nhất, vì vậy thuật ngữ 'Unix like' là điều dễ hiểu, vì chúng có kernel, cấu trúc hệ thống tệp, hầu hết các lệnh, người dùng, v.v đều giống như Unix. Vẫn tại sao chúng khác nhau? Điều gì làm cho họ đặt ra? Nó có phải là hạt nhân không?


2
Câu hỏi này có thể được trả lời bằng câu trả lời cho tất cả các lệnh Unix được viết lại trong Linux? .
một CVn

Câu trả lời:


30

Đó là một câu hỏi khó trả lời.

Đầu tiên "Unix Like" hoặc "* nix" thường có nghĩa là POSIX. Tất cả các hệ thống bạn liệt kê là hệ thống POSIX. POSIX là một bộ tiêu chuẩn để thực hiện.

Bây giờ cho các câu hỏi khó hơn.

GNU không thực sự là một hệ điều hành. Đó là một tập hợp các quy tắc hoặc triết lý chi phối phần mềm miễn phí, đồng thời đã sinh ra một loạt các công cụ trong khi cố gắng tạo ra một hệ điều hành. Vì vậy, các công cụ GNU về cơ bản là các phiên bản mở của các công cụ đã tồn tại nhưng được làm lại để tuân thủ các nguyên tắc của phần mềm mở. GNU / Linux là một mạng lưới gồm các công cụ đó và nhân Linux để tạo thành một HĐH hoàn chỉnh, nhưng có các "GNU" khác. GNU / Hurd chẳng hạn.

Unix và BSD là các triển khai POSIX "cũ" có nhiều cấp độ "nguồn đóng" khác nhau. Unix thường là nguồn đóng hoàn toàn, nhưng có nhiều hương vị của Unix cũng như có Linux nếu không muốn nói là nhiều hơn. BSD thường không được coi là "mở" bởi một số người nhưng sự thật nó mở hơn rất nhiều so với bất kỳ thứ gì khác tồn tại. Cấp phép cũng được phép sử dụng cho mục đích thương mại với ít hạn chế hơn khi giấy phép "mở" hơn được phép.

Linux là người mới. Nói một cách chính xác, nó "chỉ là một hạt nhân", tuy nhiên, nói chung, nó được coi là một hệ điều hành đầy đủ khi kết hợp với Công cụ GNU và một loạt các thứ khác.

Sự khác biệt chính quản lý là lý tưởng. Unix, Linux và BSD có những lý tưởng khác nhau mà họ thực hiện. Chúng đều là POSIX và về cơ bản là có thể hoán đổi cho nhau. Họ giải quyết một số vấn đề tương tự theo những cách khác nhau. Vì vậy, ngoài lý tưởng và cách họ chọn để thực hiện các tiêu chuẩn POSIX, có rất ít sự khác biệt.

Để biết thêm thông tin, tôi khuyên bạn nên đọc một bài viết ngắn về việc tạo GNU, OSS, Linux, BSD và UNIX. Họ sẽ nghiêng về những ý tưởng cá nhân của họ, nhưng khi bạn đọc qua, bạn sẽ nhận được một ý tưởng tốt về sự khác biệt.

Sơ đồ phả hệ Unix này cho thấy rõ lịch sử của Unix, BSD, GNU và Linux ( từ Wikimedia ):

Sơ đồ phả hệ Unix


lưu ý: không phải mọi thứ đều là POSIX. ví dụ, xem man unimplemented(IIRC, có thể là vậy man security) trên hệ thống GNU / Linux.
strugee

Strugee là chính xác. Họ không hoàn toàn tuân thủ, nhưng họ đang cố gắng để được. Không chắc chắn làm thế nào để làm việc mà vào câu trả lời mặc dù. Unix-Like cũng khác về mặt kỹ thuật so với POSIX nhưng nói chung khi mọi người nói Unix-Like họ thường có nghĩa là POSIX.
coteyr

1
Một số thông tin bổ sung trong Hỏi & Đáp này .

không, các nhà phát triển nhân Linux không bao giờ có ý định tuân thủ POSIX. Tôi quên nơi tôi đã đọc cái này (tôi đã tìm trong các trang nhưng không thể tìm thấy nó) nhưng có một số tòa nhà nhất định sẽ không bao giờ được thực hiện do các cân nhắc về an ninh.
strugee

Tôi tin rằng GNU ban đầu được dự định là một hệ điều hành.
Faheem Mitha

14

Linux không phải là HĐH, nó là kernel. Bản thân Linux không có môi trường 'người dùng' (không có ứng dụng, không có lệnh, không ... vv ...).

Nếu bạn muốn có một hệ điều hành hoàn chỉnh, bạn phải thêm một vùng người dùng vào kernel của mình. Trong lịch sử, đối với Linux, đó là GNU. Tất cả (?) Các bản phân phối Linux không phải là bản phân phối 'Linux thực'. Chúng là các bản phân phối GNU / Linux (GNU + Linux).

BSD là một hệ điều hành hoàn chỉnh 'giống như unix', với kernel riêng và đó là vùng người dùng riêng (không có kernel linux hay GNU).

GNU / Linux và * BSD họ (FreeBSD, OpenBSD và NetBSD) là hệ điều hành 'giống như unix', chúng hoạt động giống như Unix.

Dưới đây là so sánh giữa (GNU) / Linux và * BSD: http://www.freebsd.org/doc/en/articles/explained-bsd/compared-bsd-and-linux.html


liên kết của bạn không hoạt động
Anthon 11/12/13

@Anthon nó đang hoạt động
Prvt_Yadav
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.