it-swarm-vi.com

Linux có phải là Unix không?

Vì vậy, có rất nhiều phiên bản khác nhau của Unix: HP-UX, AIX, BSD, v.v. Linux được coi là bản sao Unix thay vì triển khai Unix. Có phải tất cả các con cháu "thực sự" là con cháu thực sự của bản gốc? Nếu không, điều gì ngăn cách Linux với Unix?

194
Shawn J. Goff

Điều đó phụ thuộc vào ý nghĩa của bạn về Unix Unix, và bởi Linux Linux.

  • UNIX là một nhãn hiệu thương mại đã đăng ký of Nhóm mở . Nhãn hiệu thương mại đã có một lịch sử đầy biến động và không hoàn toàn rõ ràng rằng nó không được khái quát hóa do việc sử dụng rộng rãi của Unix Unix giới thiệu cho các hệ thống giống như Unix (xem bên dưới). Hiện tại, Nhóm Mở cấp phép sử dụng nhãn hiệu thương mại cho bất kỳ hệ thống nào vượt qua NIX đơnchứng nhận . Xem thêm Tại sao lại có * Khi có sự đề cập đến Unix trên Internet? .

  • nix là một hệ điều hành được sinh ra vào năm 1969 tại Bell Labs . Các công ty khác nhau đã bán và vẫn bán, mã có nguồn gốc từ hệ thống ban đầu này, ví dụ AIX , HP-UX , Solaris . Xem thêm Sự phát triển của hệ điều hành từ Unix .

  • Có nhiều hệ thống giống như Unix, trong đó chúng cung cấp các giao diện tương tự cho các lập trình viên, người dùng và quản trị viên. Hệ thống sản xuất lâu đời nhất là Phân phối phần mềm Berkeley , dần dần phát triển từ dựa trên Unix (tức là chứa mã có nguồn gốc từ triển khai ban đầu) sang giống như Unix (nghĩa là có giao diện tương tự). Có nhiều hệ điều hành dựa trên BSD hoặc dựa trên BSD: FreeBSD , NetBSD , OpenBSD , Mac OS X , v.v. Các ví dụ khác bao gồm OSF/1 (hiện đã ngừng hoạt động, đó là một hệ thống không dựa trên Unix thương mại), Minix (ban đầu là một đồ chơi giống Unix hệ điều hành được sử dụng như một công cụ giảng dạy, giờ đây là một hệ thống nhúng giống như Unix sản xuất và nổi tiếng nhất Linux .


  • Nói đúng ra, Linux là một hạt nhân hệ điều hành được thiết kế giống như nhân của Unix.

  • Linux thường được sử dụng làm tên của các hệ điều hành giống Unix sử dụng Linux làm hạt nhân. Vì nhiều công cụ bên ngoài kernel là một phần của dự án GN , các hệ thống như vậy thường được gọi là GNU/Linux . Tất cả chính bản phân phối Linux bao gồm GNU/Linux và phần mềm khác.

  • Có những hệ thống giống như Unix dựa trên Linux không sử dụng nhiều công cụ GNU, đặc biệt là trong thế giới nhúng, nhưng tôi không nghĩ rằng bất kỳ hệ thống nào trong số chúng không có sự phát triển GNU cụ thể là các công cụ GCC .

  • Có những hệ điều hành có Linux là hạt nhân của chúng nhưng không giống Unix. Nổi tiếng nhất là Android , không có trải nghiệm người dùng giống Unix (mặc dù bạn có thể cài đặt dòng lệnh giống Unix) hoặc trải nghiệm quản trị viên hoặc (hầu hết) trải nghiệm lập trình viên (bản địa) Các chương trình Android sử dụng API hoàn toàn khác với Unix).

227

Đối với tất cả các mục đích và mục đích, một bản phân phối Linux hiện đại điển hình (Ubuntu, Debian, Red Hat, Fedora, Slackware, v.v.) là một Unix, nhưng nói đúng ra, không có hệ thống nào có thể tự xưng là Unix mà không được chứng nhận, vì vậy thay vào đó mọi người nói rằng chúng là Giống như Unix. Họ lấy cảm hứng từ Unix và tiếp tục văn hóa của nó.

Điều này cũng áp dụng cho các hệ thống BSD.

Mac OS X được chứng nhận Unix, vì vậy đó là Unix cả về tên và thực tế. (và nó thực sự dựa trên BSD).

Cần lưu ý rằng vì bản thân Linux chỉ là một hạt nhân, nên nó có thể được sử dụng để xây dựng các hệ thống không giống nhau (như Android).

60
hasen

Linux giống 'Unix giống như vậy', vâng, đơn giản là bạn có thể gọi nó là bản sao, điều này cũng đúng với BSD (mặc dù BSD phải thừa nhận có thể được coi là gần với Unix hơn Linux).

Điều chính mang lại cho Linux tiêu đề giống Unix là thực tế là nó gần như hoàn toàn tuân thủ w/ POSIX (Giao diện hệ điều hành di động [cho Unix]) tiêu chuẩn đã được xây dựng theo thời gian.

Một điều quan trọng khác, là kế thừa mã, v.v. , như đã trình bày trên Wikipedia, Linux không thực sự có nguồn gốc từ các nguồn Unix, thay vào đó nó được xây dựng khá nhiều từ đầu (tuy nhiên điều này còn gây tranh cãi).

Vì vậy, về cơ bản, điều chính ngăn cách Unix với Linux là tổ tiên và các tiêu chuẩn mà nó đáp ứng.

23
N J

Câu trả lời được chọn giải thích nó khá kỹ lưỡng, nhưng bạn sẽ phải xem toàn bộ tài liệu để biết tất cả các chi tiết giữa quá trình phát triển ban đầu của UNIX và cách Linux ra mắt.

Trước tiên, bạn phải xem xét rằng Linux là kernel, được tạo bởi linus và các lập trình viên khác. Ông đã chọn phát hành nó với GPL, lúc đó là giấy phép do FSF, (RMS và những người khác), người cũng đang phát triển kernel và GNU của riêng họ.

Cái mà chúng ta thường gọi là Linux, ban đầu, kernel, cộng với tất cả các công cụ khác ban đầu đến từ dự án GNU. Hai dự án đó khác nhau về mặt lịch sử, bởi vì tại thời điểm đó, kernel từ FSF folks đã bị từ bỏ để ủng hộ nhân Linux, điều này tốt hơn nhiều.

Tôi nhớ có một bộ phim tài liệu, bạn thực sự nên xem nó, tôi thấy nó quan trọng đối với văn hóa lập trình của bạn.

Một điều khác bạn phải xem xét khi nghĩ về "* nix", đó là mọi vấn đề liên quan đến POSIX và các công cụ tiêu chuẩn hóa kiến ​​trúc khác. Đây là chủ đề của thiết kế/nghiên cứu hệ điều hành, nhưng nó xác định chính xác cách thức các HĐH liên quan hoạt động và rất quan trọng khi bạn có một hạt nhân hoạt động tốt với các công cụ của nó.

11
jokoon

Đã có rất nhiều câu trả lời tuyệt vời nhưng tôi nghĩ rằng quan điểm của người tuyệt vời Dennis Ritchie (đồng sáng tạo của Unix) sẽ là một bổ sung thú vị cho các câu trả lời kỹ thuật khác.

Có vẻ như Dennis Ritchie coi Linux là một công cụ phái sinh Unix hợp pháp. Trong một cuộc phỏng vấn năm 1999 cho LinuxF Focus.org , anh đã được hỏi,

ý kiến ​​của bạn về tất cả động lực của Linux và quyết định của nhiều công ty bắt đầu phát triển phần mềm cho nó là gì?

Câu trả lời của anh ấy cho câu hỏi là

Tôi nghĩ rằng hiện tượng Linux khá thú vị, bởi vì nó thu hút rất mạnh trên cơ sở mà Unix cung cấp. Linux dường như là một trong những công cụ phái sinh Unix trực tiếp lành mạnh nhất, mặc dù cũng có các hệ thống BSD khác nhau cũng như các dịch vụ chính thức hơn từ các nhà sản xuất máy trạm và máy tính lớn. Tất nhiên, tôi không thể quan sát, thế giới có nguồn gốc Unix "nguồn miễn phí" dường như đang phải chịu đựng chính xác sự phân mảnh và xung đột tương tự đã xảy ra và vẫn đang xảy ra trong thế giới thương mại.

6
Anthony Geoghegan

Trong lịch sử Linus Torvalds đã tạo ra một bản sao cải tiến của hệ điều hành Minix. Sự phát triển của Linux không tập trung vào một nền tảng và cơ sở khách hàng cụ thể và các nhà phát triển Linux có nhiều kinh nghiệm và quan điểm khác nhau. Các hệ điều hành như HP-UX, AIX, Solaris và các hệ điều hành khác hầu hết được làm sắc nét cho các nhà cung cấp.

Trong cộng đồng Linux, không có bộ công cụ hoặc môi trường tiêu chuẩn nghiêm ngặt nào. Việc thiếu tiêu chuẩn hóa này dẫn đến sự không nhất quán đáng kể trong Linux. Đối với một số nhà phát triển, khả năng sử dụng thành tựu tốt nhất của các hệ điều hành khác là một lợi thế, nhưng không phải lúc nào cũng thuận tiện để sao chép các phần tử UNIX trên Linux, ví dụ, khi tên thiết bị trong Linux có thể được lấy từ AIX, trong khi các công cụ cho làm việc với hệ thống tệp được tập trung vào HP-UX. Tính không tương thích của loại này cũng được tìm thấy giữa các bản phân phối Linux khác nhau.

1
Quarind

Unix, ban đầu là UNICS (Dịch vụ điện toán và thông tin không xác định).

Unix (được đăng ký nhãn hiệu là UNIX) là một nhóm các hệ điều hành máy tính đa nhiệm, đa người dùng có nguồn gốc từ Unix AT & T gốc. Sự phát triển bắt đầu vào năm 1969 và được công bố bên ngoài Bell abs vào tháng 10/1973.

Sự đa dạng của cả hai biến thể học thuật và thương mại của Unix từ các nhà cung cấp như Đại học California, Berkeley (BSD), Microsoft (Xenix), IBM (AIX) và Sun microsystems (Solaris).

  • BSD ( [~ # ~] b [~ # ~] er siêu [~ # ~] s [~ # ~] oftware [~ # ~] d [~ # ~] istribution) đã cung cấp cơ sở cho một số dự án phát triển nguồn mở đang diễn ra, ví dụ: FreeBSD , OpenBSD, NetBSD, Darwin và TrueOS.
  • Xenix là phiên bản ngừng hoạt động của hệ điều hành Unix cho các nền tảng máy vi tính khác nhau, được cấp phép bởi Microsoft.
  • AIX ( [~ # ~] a [~ # ~] dvified [~ # ~] i [~ # ~] nteractive e [ ~ # ~] x [~ # ~] ecutive) được IBM phát triển và bán cho một số nền tảng máy tính của mình.

Linux là một nhóm các hệ điều hành phần mềm miễn phí và nguồn mở được xây dựng xung quanh nhân Linux. Thành phần xác định của Linux là hạt nhân Linux, là hạt nhân của hệ điều hành trước tiên phát hành vào ngày 17 tháng 9 năm 1991 bởi Linus Torvalds.

Linux được đóng gói dưới dạng phân phối Linux (viết tắt là distro) cho cả máy tính để bàn và máy chủ. Một số bản phân phối Linux phổ biến và chính thống nhất là Arch Linux, CentOS, Debian, Fedora, Gentoo Linux, Linux Mint, Mageia, openSUSE và Ubuntu, cùng với các bản phân phối thương mại như Red Hat Enterprise Linux

Giao diện người dùng, còn được gọi là Shell, là giao diện dòng lệnh (CLI), giao diện người dùng đồ họa (GUI) hoặc thông qua các điều khiển được gắn vào phần cứng liên quan, phổ biến cho các hệ thống nhúng. Đối với các hệ thống máy tính để bàn, chế độ mặc định thường là giao diện người dùng đồ họa, mặc dù CLI thường có sẵn thông qua các cửa sổ giả lập thiết bị đầu cuối hoặc trên một bảng điều khiển ảo riêng biệt.

  • Shell CLI là các giao diện người dùng dựa trên văn bản, sử dụng văn bản cho cả đầu vào và đầu ra. Shell chiếm ưu thế được sử dụng trong Linux là Bourne-Again Shell (bash), ban đầu được phát triển cho dự án GNU.
  • GUI shell là K Môi trường máy tính để bàn (KDE), Gnome, MATE, Cinnamon, Unity, LXDE, Pantheon và Xfce, mặc dù tồn tại nhiều giao diện người dùng khác. Hầu hết các giao diện người dùng phổ biến đều dựa trên Hệ thống Cửa sổ X, thường được gọi đơn giản là "X".

[~ # ~] gnu [~ # ~] là một hệ điều hành và bộ sưu tập phần mềm máy tính phong phú. GNU bao gồm toàn bộ phần mềm miễn phí, phần lớn được cấp phép theo GNU GPL của chính dự án. GNU là đệ quy từ viết tắt của "GNU's Not Unix!", được chọn vì thiết kế của GNU giống Unix, nhưng khác với Unix bởi phần mềm miễn phí và không chứa mã Unix. Phát triển hệ điều hành GNU được khởi xướng bởi Richard Stallman khi ông làm việc tại Phòng thí nghiệm trí tuệ nhân tạo của Viện Công nghệ Massachusetts (MIT) năm 1983.

Các thành phần cơ bản bao gồm GNU Bộ sưu tập trình biên dịch (GCC), thư viện GNU C (glibc) và GNU Các tiện ích cốt lõi (coreutils), nhưng cũng là GNU Trình gỡ lỗi (GDB), GNU Tiện ích nhị phân (binutils), GNU Bash Shell và môi trường máy tính để bàn Gnome.

0
Premraj