Sự khác biệt giữa Linux và Unix là gì?

Spread the love

Linux lấy cảm hứng từ Unix, nhưng Linux không phải là Unix – mặc dù nó chắc chắn giống Unix. Chúng tôi sẽ giải thích sự khác biệt chính giữa hai hệ điều hành nổi tiếng này.

Cùng một sự khác biệt?

Linux là một hệ điều hành mã nguồn mở và miễn phí. Unix là một sản phẩm thương mại, được cung cấp bởi nhiều nhà cung cấp, mỗi nhà cung cấp đều có biến thể riêng, thường dành riêng cho phần cứng của riêng họ. Đó là nguồn đóng và đắt tiền. Nhưng Linux và Unix ít nhiều làm điều giống nhau theo cùng một cách, phải không? Nhiều hơn hoặc ít hơn, có.

Sự tinh tế phức tạp hơn một chút. Có sự khác biệt ngoài kỹ thuật và kiến ​​trúc. Để hiểu một số ảnh hưởng đã hình thành Unix và Linux, chúng ta cần hiểu cơ sở dữ liệu của chúng.

Nguồn gốc của Unix

Unix đã hơn 50 năm tuổi. Nó được phát triển trong Công ty Cổ phần Thiết bị Kỹ thuật số (THÁNG MƯỜI HAI) Hợp ngữ trên một DEC PDP / 7 như một dự án không chính thức tại Bell Labssau đó thuộc sở hữu của AT&T. Nó đã được chuyển ngay đến một DEC PDP / 11/20 máy tính, sau đó dần dần lan rộng trên các máy tính khác tại Bell. Viết lại trong Ngôn ngữ lập trình C đã dẫn đến Phiên bản 4 năm 1973 của Unix. Điều này rất có ý nghĩa vì các đặc điểm của ngôn ngữ C và trình biên dịch có nghĩa là giờ đây việc chuyển Unix sang các kiến ​​trúc máy tính mới tương đối dễ dàng.

Năm 1973, Ken ThompsonDennis Ritchie đã trình bày một bài báo về Unix tại một hội nghị. Kết quả là, các yêu cầu về các bản sao của Unix đổ dồn vào Bell. Do việc bán hệ điều hành nằm ngoài phạm vi hoạt động được phép của AT&T, nên họ không thể coi Unix là một sản phẩm. Điều này dẫn đến việc Unix được phân phối dưới dạng mã nguồn với giấy phép. Chi phí danh nghĩa đủ để trả cho việc vận chuyển và đóng gói và một “tiền bản quyền hợp lý”. Unix ra đời “nguyên trạng” mà không có hỗ trợ kỹ thuật và không có bản sửa lỗi. Nhưng bạn đã lấy được mã nguồn — và bạn có thể sửa đổi nó.

Unix đã chứng kiến ​​sự tiếp thu nhanh chóng trong các tổ chức học thuật. Năm 1975, Ken Thompson dành một kỳ nghỉ phép từ Bell tại đại học California, Berkeley. Cùng với một số nghiên cứu sinh, anh ấy bắt đầu bổ sung và cải thiện bản sao Unix cục bộ của họ. Sự quan tâm bên ngoài đối với các bổ sung Berkeley đã tăng lên, dẫn đến việc phát hành lần đầu tiên Phân phối phần mềm Berkeley (BSD). Đây là một tập hợp các chương trình và sửa đổi hệ thống có thể được thêm vào hệ thống Unix hiện có, nhưng nó không phải là một hệ điều hành độc lập. Các phiên bản tiếp theo của BSD là toàn bộ hệ thống Unix.

  Cách cài đặt JetBrains GoLand trên Linux

Bây giờ có hai phiên bản chính của Unix, luồng AT&T và luồng BSD. Tất cả các biến thể Unix khác, chẳng hạn như AIX, HP-UXOracle Solaris, là hậu duệ của những người này. Năm 1984, một số hạn chế đối với AT&T đã được ban hành và họ có thể sản xuất và bán Unix.

Unix sau đó được thương mại hóa.

Sự ra đời của Linux

Xem việc thương mại hóa Unix như một sự xói mòn thêm các quyền tự do dành cho người dùng máy tính, Richard Stallman đặt ra để tạo ra một hệ điều hành dựa trên sự tự do. Đó là, quyền tự do sửa đổi mã nguồn, phân phối lại các phiên bản đã sửa đổi của phần mềm và sử dụng phần mềm theo bất kỳ cách nào mà người dùng thấy phù hợp.

Hệ điều hành sẽ sao chép chức năng của Unix, mà không bao gồm bất kỳ mã nguồn Unix nào. Ông đặt tên cho hệ điều hành là GNU và thành lập Dự án GNU vào năm 1983 để phát triển hệ điều hành. Năm 1985, ông thành lập Tổ chức phần mềm miễn phí để quảng bá, tài trợ và hỗ trợ dự án GNU.

Tất cả các lĩnh vực của hệ điều hành GNU đều đang tiến triển tốt – ngoại trừ hạt nhân. Các nhà phát triển dự án GNU đã làm việc trên một kênh nhỏ có tên là GNU Hurd, nhưng tiến độ rất chậm. (Nó vẫn đang được phát triển cho đến ngày nay và đang tiến gần hơn đến bản phát hành.) Nếu không có nhân, sẽ không có hệ điều hành.

Năm 1987, Andrew S. Tanebaum đã phát hành một hệ điều hành có tên là MINIX (mini-Unix) làm công cụ hỗ trợ giảng dạy cho sinh viên học thiết kế hệ điều hành. MINIX là một hệ điều hành chức năng, giống Unix, nhưng nó có một số hạn chế, đặc biệt là với hệ thống tệp. Rốt cuộc, mã nguồn phải đủ nhỏ để đảm bảo nó được bao phủ đầy đủ trong một học kỳ đại học. Một số chức năng đã phải được hy sinh.

Để hiểu rõ hơn về hoạt động bên trong của Intel 80386 trong chiếc PC mới của mình, một sinh viên khoa học máy tính được gọi là Linus Torvalds đã viết một số mã chuyển đổi nhiệm vụ đơn giản như một bài tập học tập. Cuối cùng, mã này đã trở thành một proto-kernel cơ bản trở thành nhân Linux đầu tiên. Torvalds đã quen thuộc với MINIX. Trên thực tế, hạt nhân đầu tiên của anh ấy được phát triển trên MINIX bằng trình biên dịch GCC của Richard Stallman.

Torvalds quyết định tạo ra hệ điều hành của riêng mình để khắc phục những hạn chế trong MINIX được thiết kế để giảng dạy. Năm 1991, anh ấy đã thực hiện thông báo nổi tiếng trên MINIX Usenet nhóm, yêu cầu nhận xét và đề xuất về dự án của mình.

Linux không thực sự là một bản sao của Unix. Nếu Linux là một bản sao của Unix, thì nó sẽ là Unix. Nó không giống như Unix. Từ “nhân bản” ngụ ý một số phần nhỏ của bản gốc được nuôi cấy thành một bản sao tế bào mới của bản gốc. Linux đã được tạo ra một cách mới mẻ, để có giao diện của Unix và đáp ứng các nhu cầu tương tự. Nó ít là một bản sao, và nhiều hơn một người sao chép.

  Cách chơi 911 Operator trên Linux

Nhưng dù theo cách nào thì Linux cũng là một hạt nhân đang tìm kiếm một hệ điều hành; GNU là một hệ điều hành tìm kiếm nhân. Trong nhận thức muộn màng, những gì xảy ra tiếp theo dường như không thể tránh khỏi. Nó cũng đã thay đổi thế giới.

Ai là người phát triển?

Một bản phân phối Linux là tổng hợp của nhiều phần khác nhau, được kéo từ nhiều nơi khác nhau. Nhân Linux, bộ tiện ích cốt lõi GNU và các ứng dụng đất người dùng được kết hợp để tạo thành một bản phân phối khả thi. Và ai đó phải thực hiện việc kết hợp, duy trì và quản lý — giống như ai đó phải phát triển hạt nhân, các ứng dụng và các tiện ích cốt lõi. Những người bảo trì bản phân phối và cộng đồng của mỗi bản phân phối, tất cả đều đóng vai trò của họ trong việc đưa bản phân phối Linux trở nên sống động giống như các nhà phát triển hạt nhân làm.

Linux là kết quả của nỗ lực hợp tác phân tán được thực hiện bởi các tình nguyện viên không được trả lương, bởi các tổ chức như CanonicalMũ đỏvà các cá nhân được ngành tài trợ.

Mỗi Unix thương mại được phát triển như một thực thể thống nhất duy nhất sử dụng các cơ sở phát triển nội bộ — hoặc thuê ngoài được kiểm soát chặt chẽ —. Thông thường, chúng có một nhân duy nhất và được thiết kế đặc biệt cho nền tảng phần cứng do mỗi nhà cung cấp cung cấp.

Các dẫn xuất mã nguồn mở và miễn phí của luồng BSD Unix, chẳng hạn như FreeBSD, OpenBSDDragonBSD, sử dụng kết hợp mã BSD cũ và mã mới. Chúng hiện là các dự án được cộng đồng hỗ trợ và được quản lý giống như các bản phân phối Linux.

Tiêu chuẩn và Tuân thủ

Nói chung, Linux không Đặc điểm kỹ thuật Unix đơn Tuân thủ (SUS) cũng như POSIX tuân thủ. Nó cố gắng thỏa mãn cả hai tiêu chuẩn mà không làm nô lệ cho chúng. Đã có một hoặc hai — nghĩa đen, một hoặc hai — ngoại lệ, chẳng hạn như Truyền cảm hứng K-UXmột Linux Trung Quốc tương thích với POSIX.

Một Unix thực sự, giống như các dịch vụ thương mại, là tuân thủ. Một số dẫn xuất BSD, bao gồm tất cả trừ một phiên bản của macOS, đều tuân thủ POSIX. Các tên biến thể, chẳng hạn như AIX, HP-UX và Solaris, đều là nhãn hiệu do các tổ chức tương ứng nắm giữ.

Thương hiệu và Bản quyền

Linux là nhãn hiệu đã đăng ký của Linus Torvalds. Các Quỹ Linux quản lý nhãn hiệu thay mặt cho mình. Nhân Linux và các tiện ích cốt lõi được phát hành dưới nhiều GNU khác nhau “Copyleft” Giấy phép công cộng. Mã nguồn có sẵn miễn phí.

  Cách tạo một bảng điều khiển Steam hỗ trợ Linux với SteamOS

Unix là nhãn hiệu đã đăng ký của Mở nhóm. Nó có bản quyền, độc quyền và mã nguồn đóng.

FreeBSD có bản quyền bởi Dự án FreeBSDvà mã nguồn có sẵn.

Sự khác biệt trong việc sử dụng

Từ góc độ trải nghiệm người dùng, ở dòng lệnh, không có nhiều sự khác biệt rõ ràng. Do tuân thủ và tiêu chuẩn POSIX, phần mềm được viết trên Unix có thể được biên dịch cho hệ điều hành Linux với một số nỗ lực chuyển hạn chế. Các tập lệnh Shell, chẳng hạn, có thể được sử dụng trực tiếp trên Linux trong nhiều trường hợp với ít hoặc không cần sửa đổi.

Một số tiện ích dòng lệnh có các tùy chọn dòng lệnh hơi khác nhau, nhưng về cơ bản, kho công cụ giống nhau có sẵn trên cả hai nền tảng. Trên thực tế, Của IBM AIX có một Hộp công cụ AIX cho các ứng dụng Linux. Điều này cho phép người quản trị hệ thống cài đặt hàng trăm gói GNU (như Bash, GCC, v.v.).

Các hương vị Unix khác nhau có giao diện người dùng đồ họa (GUI) có sẵn cho họ, cũng như Linux. Một người dùng Linux quen thuộc với GNOME hoặc là Bạn sẽ phải cảm nhận theo cách của họ lần đầu tiên họ gặp KDE hoặc là Xfce, nhưng họ sẽ sớm chọn nó. Nó tương tự với nhiều loại GUI có sẵn trên Unix, chẳng hạn như Motif, Môi trường máy tính để bàn chungHệ thống X Windows. Tất cả chúng đều tương tự nhau, đủ để có thể điều hướng bởi bất kỳ ai quen thuộc với các khái niệm về môi trường cửa sổ với hộp thoại, menu và biểu tượng.

Bạn sẽ tìm hiểu thêm về sự khác biệt trong khi quản lý hệ thống. Ví dụ, có khác nhau trong đó các cơ chế. Các dẫn xuất của System V Unix và các luồng BSD có các hệ thống init khác nhau. Các biến thể BSD miễn phí duy trì các lược đồ BSD init. Theo mặc định, các bản phân phối Linux sẽ sử dụng hệ thống init lấy từ Unix System V hoặc systemd.

Stick Shift so với Tự động

Nếu bạn có thể lái một chiếc, bạn có thể lái chiếc kia — ngay cả khi bắt đầu có một chút dừng lại.

Đặt giá cả sang một bên, sự khác biệt về triết lý, giấy phép, mô hình phát triển, tổ chức cộng đồng, kiểu và phong cách quản trị lớn hơn và đáng kể hơn so với sự khác biệt về cờ dòng lệnh giữa một phiên bản của grep và khác.

Sự khác biệt lớn nhất không phải là những điểm bạn nhìn thấy trên màn hình.

x