Unix และ Linux แตกต่างกันอย่างไร? [ซ้ำ]


13

ฉันต้องการทราบว่าความแตกต่างที่แท้จริงระหว่าง Unix และ Linux คืออะไร

  • พวกเขาแบ่งปันเคอร์เนลเดียวกันหรือไม่
  • Linux สร้างขึ้นบน Unix หรือไม่?
  • โปรแกรมที่เขียนสำหรับ Linux ทำงานบน Unix และในทางกลับกันได้หรือไม่?

เพราะใครรู้ว่ารหัสที่มาลินุกซ์และยูนิกซ์?

6
ฉันไม่คิดว่าคุณต้องรู้ซอร์สโค้ด Linux & Unix เพื่อทราบประวัติของระบบปฏิบัติการทั้งสอง
ไซมอน P สตีเว่น

บางทีคุณต้องรู้ซอร์สโค้ดของ Windows และ Linux เพื่อเรียกความแตกต่าง?
Pawka

4
ลินุกซ์ -> L inux ฉัน s N OT UพรรณีX :)
ukanth

ใช่ .. แต่โครงสร้างไดเรกทอรีของทั้งคู่เหมือนกันคุณต้องขุดลงไปในแหล่งที่จะเข้าใจความแตกต่างหรืออย่างน้อยบล็อกไดอะแกรมสามารถแสดงความแตกต่าง .. windows ในอีกทางหนึ่งมีโครงสร้างไดเรกทอรีที่แตกต่างกันโดยสิ้นเชิงดังนั้นเราจึงรู้สึกว่า ความแตกต่าง ... thats ทำไมฉันอยากจะรู้ว่ามัน ..
Xinus

คำตอบ:


22

Unix ไม่ใช่สิ่งเดียวมันเป็นชื่อของตระกูลใหญ่ของระบบปฏิบัติการที่เกี่ยวข้องซึ่งใช้ร่วมกับองศาประวัติศาสตร์และสถาปัตยกรรมที่แตกต่างกัน Solaris, DEC Unix, IRIX, HP-UX เป็นรุ่น Unix พวกมันใช้งานได้กับแอพพลิเคชั่นในระดับหนึ่งเนื่องจากมันใช้มาตรฐาน POSIX เพื่อองศาที่ต่างกันซึ่งหมายความว่าพวกมันมีคำสั่งและ API ที่คล้ายกัน

เมล็ดของพวกมันไม่เหมือนกัน แต่ถ้าคุณค้นหา 'ต้นตระกูล unix' คุณจะเห็นประวัติศาสตร์ที่น่าสนใจว่าสายพันธุ์เหล่านี้มีวิวัฒนาการมาจากสิ่งอื่นเช่นสิ่งมีชีวิตอย่างไร นั่นคือนกกระจอกและนกนางแอ่นไม่ใช่สัตว์ชนิดเดียวกัน แต่มีเหมือนกันมาก

Linux เป็นระบบปฏิบัติการยูนิกซ์ที่เหมือนเขียนใหม่ตั้งแต่ต้น โปรแกรมที่เขียนขึ้นสำหรับ Unix / Linux หนึ่งกับอีกโปรแกรมหนึ่งเป็นคำถามที่ซับซ้อนหรือไม่ แต่ในบางกรณีก็ใช่


21

ไม่ไม่ใช่ (แหล่งที่มา)

เพื่อให้เข้าใจคำตอบจริง ๆ มันช่วยให้ดูประวัติของระบบปฏิบัติการทั้งสอง

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 เชิงพาณิชย์


จริง ๆ แล้ว BSD Unix เป็นอุปกรณ์ที่ขายดีที่สุด: เป็นแกนหลักของ Apple OS X ที่มีอยู่ใน Macs, iPhone และ iPads
mouviciel

7

เมื่อคนส่วนใหญ่พูดถึงยูนิกซ์พวกเขาหมายถึง "ระบบปฏิบัติการคล้าย 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 นั้นค่อนข้างดีกว่าตามลำดับ


2
Linux ไม่สอดคล้องกับ POSIX อย่างสมบูรณ์
MDMarra

ฉันอาจจะผิด แต่ AFAIK สำหรับทุกเจตนาและวัตถุประสงค์มันเป็น มันได้รับการรับรอง POSIX ที่ผ่านมาแล้ว แต่ได้รับค่าใช้จ่ายในการรับรองจริงและดังนั้นจึงไม่ได้ทำจริงเพราะ Linux เป็นโครงการซอฟต์แวร์ฟรีที่พัฒนาอย่างต่อเนื่อง distro (Linux-FT) ที่ได้รับการรับรองพร้อมกับมาตรฐานที่สูงขึ้นในช่วงปลายยุค 90 (FIPS อย่างอื่น ๆ ) ได้ประกาศเจตนาที่จะช่วยพับงานของพวกเขาให้เป็นเคอร์เนลหลัก ตั้งแต่นั้นมา LSB (superset ของ POSIX.1) ได้เกิดขึ้นและถูกนำมาใช้อย่างน้อย distros
Lee B

@unknown poster: ฉันคิดว่าการทดสอบจริงของ Unix ทุกวันนี้คือ SUS - สเปคของ Unix เดี่ยว Linux ไม่ปฏิบัติตามนี้เท่าที่ฉันรู้ ไม่แน่ใจว่าเป็นเพียงเรื่องของเทคนิคหรือไม่ แต่ฉันคิดว่ามันจะมากกว่า --- ลินุกซ์อาจช้าในการพัฒนาฟีเจอร์ที่มักจะถูกพิจารณาว่าไม่จำเป็นในแง่ของการใช้เหตุผล อย่างไรก็ตามไม่ว่าจะยังคงเกี่ยวข้องหรือไม่ก็เป็นอีกคำถามหนึ่งเนื่องจาก Linux อาจเป็นตัวแปรยูนิกซ์ที่ได้รับความนิยมมากที่สุดในขณะนี้ สิ่งอื่น ๆ ที่ต้องเพิ่มคุณสมบัติ Linux เท่าที่ในทางกลับกัน
Lee B

พวกเขาไม่เรียกว่า * ระวัง?
Hello71

2

ผมคิดว่าเทคนิคการพูด GNU / Linux ไม่น้อยของยูนิกซ์กว่าใด ๆ ของระบบ UNIX อย่างเป็นทางการ แต่เพียงด้วยเหตุผลทางกฎหมายที่คนอธิบายลินุกซ์เป็น UNIX- เหมือน OS, แทนเพียง "ยูนิกซ์" OS

เท่าที่เมล็ดมีความกังวล Linux เป็นเคอร์เนล ดังนั้นตามคำนิยามหากระบบใช้เคอร์เนล Linux แสดงว่าเป็นระบบ Linux ไม่ใช่ระบบ UNIX

Linux สร้างขึ้นบน Unix หรือไม่

ลินุกซ์ไม่ได้ถูกสร้างขึ้น "เหนือ" Unix มันสร้างขึ้นเป็นโคลน UNIX ยูทิลิตี gnu ต่างๆทั้งหมด (ทุบตี ฯลฯ ) ถูกเขียนตั้งแต่ต้นเป็นโคลนของยูทิลิตี้ยูนิกซ์ที่เกี่ยวข้อง

กระแทกแดกดัน, Mac OS X ซึ่งมีแกน UNIX มาพร้อมกับทุบตี, gccและยูทิลิตี้ GNU อื่น ๆ ที่เป็นไปได้ นั่นคือระบบ UNIX ที่รวมบางส่วนของ GNU และไม่ใช่วิธีอื่น ๆ อย่างที่คาดไว้



-2

จาก NixCraft

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 มันทำให้ง่ายต่อการติดตั้งการ์ดเสียงเครื่องเล่นแฟลชและสินค้าเดสก์ท็อปอื่น ๆ มุมมองของผู้ใช้

ความแตกต่างนั้นไม่ใหญ่สำหรับผู้ใช้ทั่วไป


ข้อผิดพลาดเกี่ยวกับต้นทุนสัมพัทธ์ของ Linux และ FreeBSD ไม่ได้อยู่ในที่อ้างถึง อย่างไรก็ตามเราไม่ควรเชื่อถือคำอธิบายที่รวมเอาลิขสิทธิ์และเครื่องหมายการค้าและทำให้ "เสรีภาพ" กับ "ในเบียร์" conflates ซึ่งทั้งสองข้อผิดพลาดอยู่ในต้นฉบับ
JdeBP
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.