Tôi muốn biết sự khác biệt thực sự giữa Unix và Linux là gì.
- Họ có chia sẻ cùng một hạt nhân?
- Linux có được xây dựng trên Unix không?
- Các chương trình được viết cho Linux có hoạt động trên Unix và ngược lại không?
Tôi muốn biết sự khác biệt thực sự giữa Unix và Linux là gì.
Câu trả lời:
Unix không phải là một thứ, nó là tên của một nhóm lớn các hệ điều hành liên quan, chia sẻ các mức độ, lịch sử và kiến trúc khác nhau. Solaris, DEC Unix, IRIX, HP-UX là các biến thể Unix. Chúng ở một mức độ nào đó tương thích với các ứng dụng, vì chúng triển khai các tiêu chuẩn POSIX ở các mức độ khác nhau, điều đó có nghĩa là chúng phơi bày các lệnh và API tương tự.
Hạt nhân của chúng không giống nhau, mặc dù nếu bạn tra cứu 'cây gia đình unix', bạn sẽ thấy một lịch sử hấp dẫn về cách các biến thể này phát triển từ nhau, giống như các sinh vật. Đó là, một con chim sẻ và một con én không phải là cùng một loài động vật nhưng chúng có nhiều điểm chung.
Linux là một bản viết lại, từ đầu, của một hệ điều hành giống Unix. Liệu các chương trình được viết cho một Unix / Linux so với một chương trình khác là một câu hỏi phức tạp, nhưng trong một số trường hợp có.
Để thực sự hiểu câu trả lời, nó giúp nhìn vào lịch sử của cả hai sytems hoạt động.
Unix được phát minh tại AT & T Bell Labs bởi Ken Thompson. Đồng nghiệp của ông, Dennis Ritchie đã đóng góp và cũng đã phát minh ra ngôn ngữ C và viết trình biên dịch C. Trong những năm qua, mã cũng được đóng góp bởi UC Berkeley, tiếp tục làm việc tại AT & T, Sun, IBM và những người khác.
Cuối cùng nó đã được chuẩn hóa trong một loạt các ấn phẩm gọi là POSIX. Nhìn chung, mã này là độc quyền, vì nó đã được AT & T đăng ký bản quyền và sau đó bán hết hoặc cấp phép cho các công ty khác, những người chủ yếu viết lại nó trong nhiều năm nhưng vẫn giữ các quyền khác nhau.
Hai nhánh của "Unix miễn phí" xuất hiện vào những năm 1990. Một trong số đó là Linux , một bản sao, được viết để hoạt động như Unix mà không chứa bất kỳ mã Unix thực tế nào.
Chi nhánh khác tồn tại ngày hôm nay là NetBSD , và được FreeBSD theo dõi nhanh chóng , và sau đó là bất kỳ BSD * nào khác mà bạn có thể đã nghe nói tới. Các dự án này hơi khác so với Linux ở chỗ chúng là "bản sao một phần". Chúng chứa hỗn hợp mã nguồn "Unix thực" (phần được cấp phép tự do, chủ yếu bởi UC Berkeley) và một số mã "nhân bản" mới được viết và mã khác sau này nổi lên như một phần của việc viết lại hoặc khi cần để hỗ trợ CTNH hiện đại và hiện đại Thông số kỹ thuật Posix.
Linux phổ biến hơn rất nhiều vì NetBSD và FreeBSD đã bị ràng buộc trong một thời gian trong vụ kiện giữa AT & T và UCB. Mặc dù được giải quyết theo hướng có lợi cho BSD nhưng họ không bao giờ hồi phục sau sự chậm trễ, ít nhất, không phải về mức độ phổ biến.
Vì vậy, không, Linux và Unix thương mại không có bất kỳ mã hạt nhân nào, mặc dù Unix và * BSD thương mại đã từng có khá nhiều điểm chung. Các hạt nhân Unix từ các nhà cung cấp được cấp phép chứa mã do họ tự viết, có lẽ với một số mã AT & T ban đầu vẫn còn hiện diện ở đây và ở đó. Nhân Linux bao gồm mã được viết bởi Linus Torvalds và các tác giả khác.
"Phần mềm Unix" là phần mềm được viết cho API Posix và thường chạy trên tất cả các phiên bản Unix, Linux và NetBSD và FreeBSD. Về lý thuyết, Posix SW có thể chạy trên các hệ thống "không phải Unix" nhưng điều đó dường như không hoạt động tốt. Ngày nay, "Unix" về mặt kỹ thuật là một nhãn hiệu, nhưng có xu hướng được sử dụng không chính thức như một chỉ định cho cả Unix, Linux và gia đình BSD thương mại.
Khi hầu hết mọi người nói về unix, họ có nghĩa là "hệ điều hành giống Unix tương thích POSIX", đó là Linux.
Họ có chung một hạt nhân không? Không, Linux IS là kernel, không phải hệ điều hành. Về mặt kỹ thuật, các bản phân phối Linux sử dụng nhân Linux và GNU (xem gnu.org) "userland". Vùng người dùng là các chương trình và thư viện cơ bản, vv kết nối các ứng dụng và tác vụ người dùng lớn với API cấp thấp của kernel.
Linux có được xây dựng trên Unix không? Không, đó là một bản sao. Nó được xây dựng để cung cấp phiên bản Unix miễn phí, có thể sử dụng được trên máy tính để bàn thấp.
Các chương trình được viết cho Linux có thể hoạt động trên Unix và ngược lại không? Đôi khi. Ví dụ, trên FreeBSD, có một trình giả lập Linux ABI, về cơ bản phát hiện các chương trình được tạo cho Linux và tạo ra một tập hợp các lệnh gọi kernel khác. Một cái gì đó tương tự có sẵn cho Linux để chạy các công cụ Unix System V tiêu chuẩn (hoặc một số phiên bản thương mại phổ biến của unix), nhưng nó hiếm khi được sử dụng, vì hầu hết các chương trình đều có mã nguồn tuân thủ POSIX và biên dịch trên Linux mà không gặp khó khăn. Ngoài ra, hầu hết các chương trình nhị phân cho unix đều có sẵn trực tiếp cho Linux. FreeBSD là một mối quan tâm nhỏ hơn và không có sự xa xỉ này. Trong Linux, hệ thống tải nhị phân từ các hệ thống khác thường được sử dụng để chạy các chương trình java, chương trình windows (mặc dù điều này không được khuyến khích), v.v.
Unix là nhãn hiệu và vì vậy Linux không thể sử dụng tên này. Unix là phiên bản chính thức, cũ (inasmuchas có phiên bản chính thức), không thân thiện với người dùng. Hầu hết các phiên bản khác của unix được thiết kế tốt hơn một chút, nhưng không nhất thiết phải hoạt động tốt về mặt thực tế. Đó là về nó thực sự. Nhiều công ty từng chạy Unix hiện chạy Linux.
Nếu bạn muốn thấy sự khác biệt trong các hệ điều hành giống như unix khác nhau, hãy kiếm cho mình một bản sao FreeBSD, OpenSolaris và Debian. Tôi nói các distro này cụ thể bởi vì chúng sẽ dễ so sánh hơn, mặc dù một số khác như pc-bsd, nexenta và ubfox tương ứng đẹp hơn.
Tôi nghĩ về mặt kỹ thuật, GNU / Linux không kém UNIX so với bất kỳ hệ thống UNIX chính thức nào, nhưng chỉ vì lý do pháp lý mà mọi người mô tả Linux là HĐH giống UNIX , thay vì chỉ là HĐH "UNIX".
Theo như hạt nhân có liên quan, Linux là một hạt nhân. Vì vậy, theo định nghĩa, nếu một hệ thống sử dụng nhân Linux, thì đó là hệ thống Linux, không phải hệ thống UNIX.
Linux có được xây dựng trên Unix không
Linux không được xây dựng "trên" Unix, nó được xây dựng dưới dạng bản sao UNIX. Tất cả các tiện ích gnu khác nhau (bash, v.v.) được viết từ đầu dưới dạng bản sao của các tiện ích unix tương ứng.
Trớ trêu thay, Mac OS X, có lõi UNIX, đi kèm với bash, gcc và có thể các tiện ích GNU khác. Vì vậy, đó là một hệ thống UNIX bao gồm các phần của GNU, và không phải là cách khác như mọi người mong đợi.
Lịch sử UNIX Không phải là câu trả lời cho câu hỏi của bạn, nhưng có lẽ sẽ rất thú vị.
UNIX có tên bản quyền Chỉ các công ty lớn mới được phép sử dụng bản quyền và tên UNIX, vì vậy tất cả IBM AIX và Sun Solaris và HP-UX đều là UNIX. Nhóm mở giữ thương hiệu UNIX tin tưởng cho ngành công nghiệp và quản lý chương trình cấp phép nhãn hiệu UNIX. Linux là bản sao UNIX
Nhưng nếu bạn xem xét các tiêu chuẩn Giao diện hệ điều hành di động (POSIX) thì Linux có thể được coi là UNIX. Để trích dẫn từ tệp README kernel Linux chính thức: Linux là một bản sao Unix được Linus Torvalds viết từ đầu với sự hỗ trợ từ một nhóm tin tặc lỏng lẻo trên mạng. Nó nhằm mục đích tuân thủ POSIX. Linux chỉ là hạt nhân
Linux chỉ là hạt nhân. Phân phối Linux bao gồm hệ thống GUI, các công cụ cài đặt và quản lý, trình biên dịch, biên tập viên, vv Phân phối Linux làm cho nó
Hầu hết các UNIX đều được coi là hệ điều hành cạnh tranh.
Như tôi đã nói trước đó Linux chỉ là kernel với phân phối Linux khiến nó hoàn thành có thể sử dụng được. Hầu hết các UNIX đều đi kèm với các chương trình AZ như trình soạn thảo, trình biên dịch, v.v. Ví dụ FreeBSD đi kèm với các chương trình AZ. Giấy phép và chi phí
Linux là miễn phí (như trong bia [tự do]). Bạn sẽ thấy hỗ trợ cộng đồng tốt nhất xung quanh. Nhiều ứng dụng UNIX không miễn phí (nhưng điều này đang thay đổi nhanh chóng, ví dụ OpenSolaris / Solaris UNIX). Thân thiện với người dùng
Linux được coi là UNIX thân thiện với người dùng nhất như os. Nó giúp dễ dàng cài đặt card âm thanh, flash player và các tính năng khác của máy tính để bàn. Quan điểm người dùng cuối
Sự khác biệt không phải là lớn đối với người dùng cuối trung bình.