ฉันต้องการทราบว่าความแตกต่างที่แท้จริงระหว่าง Unix และ Linux คืออะไร
- พวกเขาแบ่งปันเคอร์เนลเดียวกันหรือไม่
- Linux สร้างขึ้นบน Unix หรือไม่?
- โปรแกรมที่เขียนสำหรับ Linux ทำงานบน Unix และในทางกลับกันได้หรือไม่?
ฉันต้องการทราบว่าความแตกต่างที่แท้จริงระหว่าง Unix และ Linux คืออะไร
คำตอบ:
Unix ไม่ใช่สิ่งเดียวมันเป็นชื่อของตระกูลใหญ่ของระบบปฏิบัติการที่เกี่ยวข้องซึ่งใช้ร่วมกับองศาประวัติศาสตร์และสถาปัตยกรรมที่แตกต่างกัน Solaris, DEC Unix, IRIX, HP-UX เป็นรุ่น Unix พวกมันใช้งานได้กับแอพพลิเคชั่นในระดับหนึ่งเนื่องจากมันใช้มาตรฐาน POSIX เพื่อองศาที่ต่างกันซึ่งหมายความว่าพวกมันมีคำสั่งและ API ที่คล้ายกัน
เมล็ดของพวกมันไม่เหมือนกัน แต่ถ้าคุณค้นหา 'ต้นตระกูล unix' คุณจะเห็นประวัติศาสตร์ที่น่าสนใจว่าสายพันธุ์เหล่านี้มีวิวัฒนาการมาจากสิ่งอื่นเช่นสิ่งมีชีวิตอย่างไร นั่นคือนกกระจอกและนกนางแอ่นไม่ใช่สัตว์ชนิดเดียวกัน แต่มีเหมือนกันมาก
Linux เป็นระบบปฏิบัติการยูนิกซ์ที่เหมือนเขียนใหม่ตั้งแต่ต้น โปรแกรมที่เขียนขึ้นสำหรับ Unix / Linux หนึ่งกับอีกโปรแกรมหนึ่งเป็นคำถามที่ซับซ้อนหรือไม่ แต่ในบางกรณีก็ใช่
เพื่อให้เข้าใจคำตอบจริง ๆ มันช่วยให้ดูประวัติของระบบปฏิบัติการทั้งสอง
Unix คิดค้นที่ AT&T Bell Labs โดย Ken Thompson เพื่อนร่วมงานของเขาเดนนิสริตชี่มีส่วนร่วมและยังคิดค้นภาษา C และเขียนคอมไพเลอร์ C ในช่วงหลายปีที่ผ่านมารหัสยังได้รับการสนับสนุนจาก UC Berkeley ทำงานเพิ่มเติมที่ AT&T, Sun, IBM และอื่น ๆ
ในที่สุดมันก็เป็นมาตรฐานในชุดของสิ่งพิมพ์ที่เรียกว่า POSIX โดยรวมแล้วรหัสนี้เป็นกรรมสิทธิ์เนื่องจากลิขสิทธิ์โดย AT&T และขายออกหรือให้สิทธิ์กับ บริษัท อื่น ๆ ซึ่งส่วนใหญ่เขียนใหม่ในช่วงหลายปีที่ผ่านมา แต่ยังคงสิทธิต่าง ๆ ไว้
สองสาขาของ "Unix ฟรี" เกิดขึ้นในปี 1990 หนึ่งคือLinuxซึ่งเป็นโคลนเขียนขึ้นเพื่อทำหน้าที่เหมือน Unix โดยไม่ต้องมีโค้ด Unix ใด ๆ
สาขาอื่นมีอยู่ในปัจจุบันในฐานะ NetBSDและตามด้วยFreeBSDอย่างรวดเร็วและหลังจากนั้นอีก * BSD อื่น ๆ ที่คุณอาจเคยได้ยิน โปรเจ็กต์เหล่านี้แตกต่างจากลินุกซ์เล็กน้อยซึ่งเป็น "โคลนนิ่งบางส่วน" พวกเขามีส่วนผสมของซอร์สโค้ด "real Unix" (ส่วนที่ได้รับอนุญาตโดยอิสระส่วนใหญ่โดย UC Berkeley) และโค้ด "clone" ที่เขียนขึ้นใหม่และโค้ดอื่น ๆ ที่ออกมาภายหลังเป็นส่วนหนึ่งของการเขียนใหม่หรือตามความจำเป็นเพื่อสนับสนุน HW สมัยใหม่และสมัยใหม่ ข้อมูลจำเพาะ Posix
ลินุกซ์เป็นที่นิยมมากขึ้นเนื่องจาก NetBSD และ FreeBSD ถูกผูกมัดอยู่พักหนึ่งในคดีระหว่าง AT&T และ UCB แม้ว่าจะได้รับการแก้ไขในความโปรดปรานของ BSD พวกเขาไม่เคยฟื้นตัวจากความล่าช้าอย่างน้อยก็ไม่ใช่ในแง่ของความนิยม
ดังนั้นไม่, Linux และ Unix เชิงพาณิชย์ไม่มีรหัสเคอร์เนลเหมือนกัน, แม้ว่า Unix เชิงพาณิชย์และ * BSD ครั้งหนึ่งเคยมีเหมือนกันเล็กน้อย เมล็ด Unix จากผู้จำหน่ายที่ได้รับอนุญาตมีรหัสที่พวกเขาเขียนเองอาจมีรหัส AT&T ดั้งเดิมบางส่วนที่ยังคงปรากฏที่นี่และที่นั่น เคอร์เนล Linux ประกอบด้วยรหัสที่เขียนโดย Linus Torvalds และผู้เขียนคนอื่น ๆ
"ซอฟต์แวร์ Unix" เป็นซอฟต์แวร์ที่เขียนไปยัง Posix API และโดยทั่วไปแล้วจะทำงานกับ Unix, Linux และ NetBSD และ FreeBSD ทุกรุ่น ในทางทฤษฎี Posix SW สามารถทำงานบนระบบ "non-Unix" แต่ดูเหมือนว่าจะทำงานได้ไม่ดีนัก ทุกวันนี้ "Unix" เป็นเครื่องหมายการค้าในทางเทคนิค แต่มีแนวโน้มที่จะใช้อย่างไม่เป็นทางการเพื่อระบุทั้ง Unix, Linux และ BSD เชิงพาณิชย์
เมื่อคนส่วนใหญ่พูดถึงยูนิกซ์พวกเขาหมายถึง "ระบบปฏิบัติการคล้าย Unix ที่เป็นไปตาม POSIX" ซึ่ง Linux เป็น
พวกเขาแบ่งปันเคอร์เนลเดียวกันหรือไม่ ไม่ Linux IS เป็นเคอร์เนลไม่ใช่ระบบปฏิบัติการ ในทางเทคนิคแล้ว Linux distros ใช้ Linux kernel และ GNU (ดูที่ gnu.org) "userland" userland เป็นโปรแกรมและไลบรารีพื้นฐานที่เชื่อมโยงแอปพลิเคชันขนาดใหญ่และงานของผู้ใช้กับ API ระดับต่ำของเคอร์เนล
Linux สร้างขึ้นบน Unix หรือไม่? ไม่มันเป็นโคลน มันถูกสร้างขึ้นเพื่อให้ Unix รุ่นที่ใช้งานได้ฟรีบนพีซีเดสก์ท็อปที่ต่ำ
โปรแกรมที่เขียนสำหรับ Linux สามารถทำงานกับ Unix และในทางกลับกันได้หรือไม่ บางครั้ง ตัวอย่างเช่นบน FreeBSD มีตัวจำลอง Linux ABI ซึ่งตรวจพบว่าโปรแกรมนั้นถูกสร้างขึ้นมาสำหรับ Linux และทำให้มีการเรียกเคอร์เนลชุดอื่น มีบางสิ่งที่คล้ายกันสำหรับ Linux ในการรันสิ่ง Unix System V มาตรฐาน (หรือบางรุ่นที่เป็นที่นิยมในเชิงพาณิชย์ของ unix อยู่แล้ว) แต่มันก็ไม่ค่อยได้ใช้เพราะโปรแกรมส่วนใหญ่มาเป็น POSIX ที่สอดคล้องกับซอร์สโค้ดและคอมไพล์บน Linux นอกจากนี้โปรแกรมไบนารีส่วนใหญ่สำหรับยูนิกซ์จะพร้อมใช้งานสำหรับ Linux โดยตรง FreeBSD เป็นเรื่องที่เล็กลงและไม่มีความหรูหราเท่านี้ ใน Linux ระบบที่ใช้ในการโหลดไบนารีจากระบบอื่นมักใช้ในการรันโปรแกรมจาวา, โปรแกรม windows (แม้ว่าจะไม่แนะนำก็ตาม)
Unix เป็นเครื่องหมายการค้าดังนั้น Linux จึงไม่สามารถใช้ชื่อได้ Unix เป็นรุ่นที่เป็นทางการรุ่นเก่า (เนื่องจากมีรุ่นเป็นทางการ) ซึ่งไม่เป็นมิตรต่อผู้ใช้ รุ่นอื่น ๆ ส่วนใหญ่ของยูนิกซ์ได้รับการออกแบบที่ดีขึ้นเล็กน้อย แต่ไม่จำเป็นต้องทำงานได้ดีในแง่ของการใช้งานจริง เกี่ยวกับมันจริงๆ บริษัท หลายแห่งที่เคยใช้ระบบปฏิบัติการ Unix ก็สามารถใช้งาน Linux ได้
หากคุณต้องการเห็นความแตกต่างในระบบปฏิบัติการยูนิกซ์ที่เหมือนกันให้รับสำเนา FreeBSD, OpenSolaris และ Debian ด้วยตัวคุณเอง ฉันบอกว่า distros เหล่านี้โดยเฉพาะเพราะพวกเขาจะเปรียบเทียบได้ง่ายขึ้นแม้ว่าคนอื่น ๆ เช่น pc-bsd, nexenta และ ubuntu นั้นค่อนข้างดีกว่าตามลำดับ
ผมคิดว่าเทคนิคการพูด GNU / Linux ไม่น้อยของยูนิกซ์กว่าใด ๆ ของระบบ UNIX อย่างเป็นทางการ แต่เพียงด้วยเหตุผลทางกฎหมายที่คนอธิบายลินุกซ์เป็น UNIX- เหมือน OS, แทนเพียง "ยูนิกซ์" OS
เท่าที่เมล็ดมีความกังวล Linux เป็นเคอร์เนล ดังนั้นตามคำนิยามหากระบบใช้เคอร์เนล Linux แสดงว่าเป็นระบบ Linux ไม่ใช่ระบบ UNIX
Linux สร้างขึ้นบน Unix หรือไม่
ลินุกซ์ไม่ได้ถูกสร้างขึ้น "เหนือ" Unix มันสร้างขึ้นเป็นโคลน UNIX ยูทิลิตี gnu ต่างๆทั้งหมด (ทุบตี ฯลฯ ) ถูกเขียนตั้งแต่ต้นเป็นโคลนของยูทิลิตี้ยูนิกซ์ที่เกี่ยวข้อง
กระแทกแดกดัน, Mac OS X ซึ่งมีแกน UNIX มาพร้อมกับทุบตี, gccและยูทิลิตี้ GNU อื่น ๆ ที่เป็นไปได้ นั่นคือระบบ UNIX ที่รวมบางส่วนของ GNU และไม่ใช่วิธีอื่น ๆ อย่างที่คาดไว้
ประวัติ UNIXไม่ใช่คำตอบสำหรับคำถามของคุณ แต่อาจจะน่าสนใจ
UNIX เป็นชื่อที่มีลิขสิทธิ์เฉพาะ บริษัท ใหญ่เท่านั้นที่ได้รับอนุญาตให้ใช้ลิขสิทธิ์ UNIX และชื่อดังนั้น IBM AIX และ Sun Solaris และ HP-UX ล้วนเป็น UNIX กลุ่ม Open ถือเครื่องหมายการค้า UNIX ในความไว้วางใจสำหรับอุตสาหกรรมและจัดการโปรแกรมลิขสิทธิ์เครื่องหมายการค้า UNIX Linux เป็น UNIX clone
แต่ถ้าคุณพิจารณาถึงมาตรฐานของ Portable Operating System Interface (POSIX) ลีนุกซ์ถือได้ว่าเป็น UNIX การอ้างอิงจากไฟล์ README เคอร์เนลของ Linux อย่างเป็นทางการ: Linux เป็นโคลน Unix ที่เขียนตั้งแต่เริ่มต้นโดย Linus Torvalds ด้วยความช่วยเหลือจากทีมแฮ็กเกอร์ทั่วอินเทอร์เน็ต มันมีจุดมุ่งหมายต่อการปฏิบัติตาม POSIX Linux เป็นเพียงเคอร์เนล
Linux เป็นเพียงเคอร์เนล การกระจาย Linux รวมถึงระบบ GUI, เครื่องมือการติดตั้งและการจัดการ, คอมไพเลอร์, บรรณาธิการและอื่น ๆ การกระจาย Linux ทำให้
UNIX ส่วนใหญ่ถือว่าเป็นระบบปฏิบัติการแบบแข่งขัน
อย่างที่ผมบอกไปก่อนหน้าว่าลีนุกซ์เป็นเพียงเคอร์เนลที่มีการกระจายลีนุกซ์ทำให้มันใช้งานระบบปฏิบัติการได้อย่างสมบูรณ์ ส่วนใหญ่ระบบยูนิกซ์มาพร้อมกับโปรแกรม AZ เช่นโปรแกรมแก้ไขคอมไพเลอร์เป็นต้นตัวอย่างเช่น FreeBSD มาพร้อมกับโปรแกรม AZ ใบอนุญาตและค่าใช้จ่าย
Linux เป็นฟรี (เหมือนในเบียร์ [อิสระ]) คุณจะเห็นการสนับสนุนจากชุมชนที่ดีที่สุด oses UNIX จำนวนมากไม่ฟรี (แต่สิ่งนี้กำลังเปลี่ยนแปลงอย่างรวดเร็วเช่น OpenSolaris / Solaris UNIX) ที่ใช้งานง่าย
ลีนุกซ์ถือเป็น UNIX ที่ใช้งานได้ง่ายเช่น OS มันทำให้ง่ายต่อการติดตั้งการ์ดเสียงเครื่องเล่นแฟลชและสินค้าเดสก์ท็อปอื่น ๆ มุมมองของผู้ใช้
ความแตกต่างนั้นไม่ใหญ่สำหรับผู้ใช้ทั่วไป