เราหมายถึงอะไรกันแน่เมื่อเราบอกว่าเราใช้ลีนุกซ์?


9

ฉันกำลังอ่านบทความเกี่ยวกับ GNU ซึ่งมีลักษณะดังนี้

มี Linux จริงๆและคนเหล่านี้ใช้งานอยู่ แต่เป็นเพียงส่วนหนึ่งของระบบที่ใช้ Linux เป็นเคอร์เนล: โปรแกรมในระบบที่จัดสรรทรัพยากรของเครื่องให้กับโปรแกรมอื่น ๆ ที่คุณใช้งาน เคอร์เนลเป็นส่วนสำคัญของระบบปฏิบัติการ แต่ไร้ประโยชน์โดยตัวมันเอง ก็สามารถทำงานในบริบทของระบบปฏิบัติการที่สมบูรณ์ ปกติแล้วจะใช้ลินุกซ์ร่วมกับระบบปฏิบัติการ GNU: โดยทั่วไประบบทั้งหมดนั้นใช้ GNU ร่วมกับ Linux หรือ GNU / Linux การแจกแจงที่เรียกว่า "Linux" ทั้งหมดเป็นการกระจายของ GNU / Linux จริงๆ

ฉันมักจะคิดว่า Linux เป็นเคอร์เนลและระบบปฏิบัติการ แต่ดูเหมือนว่า Linux = Linux kernel และ GNU OS

ใครสามารถชี้ให้เห็นการทำงานที่แน่นอนของแต่ละคำศัพท์ "Linux" ที่เราใช้ในชีวิตประจำวันของเรา การออกแบบของ GNU นั้นเหมือน Unix แต่แตกต่างจาก Unix โดยเป็นซอฟต์แวร์เสรีและไม่มีรหัส Unix ฉันคิดว่า Unix เป็น opensource ไม่ใช่เหรอ


2
เคอร์เนลลีนุกซ์เป็นเหมือนเครื่องมือ: สำคัญสำหรับรถที่จะใช้งานได้ แต่แทบจะไร้ประโยชน์ด้วยตัวมันเอง
evilsoup

คำตอบ:


7

ฉันเชื่อว่าบิตที่คุณกำลังอ้างถึงอยู่ในเว็บไซต์ Free Software Foundation (FSF):

จากการที่ FSF โต้แย้งว่าลีนุกซ์เป็นเพียงเคอร์เนล ระบบการใช้งานประกอบด้วย Kernel + เครื่องมือเช่นls, findหอย ฯลฯ ดังนั้นเมื่อพูดถึงระบบทั้งหมดก็ควรจะเรียกว่า GNU / Linux ตั้งแต่เครื่องมืออื่น ๆ ร่วมกับ Linux Kernel ทำขึ้นสมบูรณ์ ระบบที่ใช้งานได้ พวกเขายังพูดถึงFSF Unix Kernel, Hurdซึ่งทำให้เกิดข้อโต้แย้งว่า Hurd และ Linux เป็นเมล็ดที่สามารถใช้แทนกันได้กับระบบ GNU / X

ฉันพบว่าข้อโต้แย้งทั้งหมดเหนื่อยและคิดว่ามีสิ่งที่ดีกว่าที่จะทำกับเวลาของเรา ชื่อเป็นเพียงชื่อและความจริงที่ว่าผู้คนพิจารณาระบบที่มีซอฟต์แวร์ GNU + Linux Kernel + ซอฟต์แวร์อื่น ๆ ที่ไม่ใช่ GNU เป็น Linux หรือ GNU / Linux เป็นเรื่องของรสนิยมและไม่สำคัญในรูปแบบที่ยิ่งใหญ่ของ สิ่ง ในความเป็นจริงฉันคิดว่าการโต้แย้งทำได้ดีกว่าที่จะทำร้าย Linux และ GNU / Linux โดยการทำให้ชุมชนแตกแยกและทำให้ประชาชนสับสนว่าแต่ละสิ่งเป็นอย่างไร

สำหรับข้อมูลเพิ่มเติมกว่าที่คุณเคยอยากจะรู้ในหัวข้อนี้จะดูที่วิกิพีเดียฝึกหัดชื่อ: GNU / Linux การตั้งชื่อการทะเลาะวิวาท

opensource ของ Unixes ทั้งหมดหรือไม่

สำหรับความรู้ของฉันไม่ใช่ว่ายูนิกซ์ทั้งหมดเป็น opensource ฟังก์ชันการทำงานส่วนใหญ่ภายใน Unix ถูกระบุไว้เพื่อให้สิ่งต่าง ๆ ทำงานเปิดขึ้น แต่การใช้งานเฉพาะของฟังก์ชั่นนี้หรือไม่เปิดขึ้นอยู่กับ distro ที่เป็นส่วนหนึ่งของ

ตัวอย่างเช่นจนกระทั่งเมื่อเร็ว ๆ นี้ Solaris ซึ่งเป็น Unix ไม่ถือว่าเป็นโอเพ่นซอร์ส เฉพาะเมื่อส่วนประกอบหลักของ Sun Microsystem เปิดตัวเข้าสู่โครงการ OpenSolaris อย่างน้อยก็ส่วนประกอบของ Solaris กลายเป็นโอเพ่นซอร์ส

ประวัติ Unix

ฉันไม่ได้เป็นผู้เชี่ยวชาญในหัวข้อนี้ดังนั้นฉันขอแนะนำให้ดูที่หน้าUnix Wikipediaสำหรับข้อมูลเพิ่มเติมเกี่ยวกับหัวข้อ

ประวัติลินุกซ์

ดูไดอะแกรม Unix Lineage เพื่อดูว่า Unixes ใดเป็นโอเพ่นมิกซ์หรือโอเพนซอร์ส

  ประวัติศาสตร์

ฉันยังพบว่าโครงการเส้นเวลาการแจกจ่าย GNU / Linuxมีประโยชน์เมื่อมีการสนทนานี้

ss ของไทม์ไลน์ของ linux


2
ไม่มี UNIX เป็นโอเพ่นซอร์สและ Linux ไม่ใช่ Unix แตกต่างจาก FreeBSD ซึ่งเป็นผู้สืบทอดโดยตรงและเมื่อมีรหัส ATT UNIX แล้ว Linux ไม่มีการเชื่อมต่อโดยตรงและเป็นเหมือน Unix เท่านั้น OSX คือ UNIX
Rob

1
@Rob FreeBSD ไม่มีรหัส ATT: นั่นคือสิ่งที่ทำให้ฟรี ไม่มีการอ้างสิทธิ์ในชื่อ Unix มากกว่าหรือน้อยกว่า Linux หรือ MINIX หรือ OSF / 1
Gilles 'หยุดความชั่วร้าย' ใน

1
@Rob - กรุณาอ้างอิงเว็บไซต์ ฉันแน่ใจว่าคุณไม่ได้หมายถึงความคิดเห็นที่จะฟังดูเหมือนหมุนรอบ แต่อย่างน้อย 8 บิต -) ทั้งหมดเป็น Linux อภิปราย Unix ได้รับการครอบคลุมที่นี่แล้ว โปรดดูกระทู้นี้: unix.stackexchange.com/questions/4091/is-linux-a-unix ฉันพบว่าการโต้แย้งนั้นน่าเบื่อหน่าย มันเหมือนกับการโต้เถียงกันว่าจะออกเสียงมะเขือเทศอย่างไร
slm

@Gilles อะไรคือสิ่งที่ฉันพูดไม่เป็นความจริง? ทำไมคุณถึงรู้สึกว่าจำเป็นต้องแสดงความคิดเห็นเกี่ยวกับเรื่องนี้?
Rob

@slm ฉันตอบกลับความคิดเห็นของคุณว่า "ไม่ใช่ทุก Unixes เป็นโอเพ่นซอร์ส" และความจริงก็คือไม่มี Unixes เป็นโอเพนซอร์ส UNIX เป็นชื่อทางการค้าการตรวจสอบและรับรอง นอกจากนี้ยังหมายความว่ามีการปฏิบัติตาม POSIX ในระดับ Linux และระบบอื่น ๆ ไม่สามารถตรวจสอบได้ (แต่ OSX สามารถทำได้) ฉันไม่ได้โต้แย้งอะไรเลยยกเว้น UNIX คือ UNIX และ Linux ไม่ใช่ UNIX ซึ่งโพสต์ของคุณดูเหมือนจะพูดว่า iirc (ฉันไม่ได้ตระหนักถึงหัวข้อก่อนหน้าหรืออื่น ๆ
Rob

3

โดยทั่วไปสิ่งที่เรามักเรียกว่าระบบปฏิบัติการคือการรวมกันของซอฟต์แวร์ที่เกี่ยวข้องกับเคอร์เนลซึ่งมีหน้าที่ในการจัดการทรัพยากรของเครื่องและแอพพลิเคชั่นบางตัวที่ทำงานบนเคอร์เนลเรียกว่าuserland (ประกอบด้วยเบราว์เซอร์คอมไพเลอร์ โปรแกรมอ่าน PDF สิ่งที่ไม่ใช่เคอร์เนลหรือไดรเวอร์หรืออาจเป็น vm hypervisor)

คำถามที่เหลือไม่สามารถตอบได้หากไม่มีบริบททางประวัติศาสตร์ ริชาร์ดสตอลแมน anounced โครงการ GNUเมื่อวันที่ 27 กันยายน 1983 มีจุดมุ่งหมายเพื่อให้ซอฟต์แวร์ที่จำเป็นในการพัฒนาระบบปฏิบัติการยูนิกซ์เช่นระบบปฏิบัติการ (และ userland ประกอบ) เป็นซอฟต์แวร์ฟรี ภายในปี 1992 โครงการ GNU เสร็จสมบูรณ์เกือบทุกส่วนที่จำเป็นสำหรับซอฟต์แวร์ของพวกเขา - ยกเว้นหนึ่ง: เคอร์เนล โดยในเวลาเดียวกัน Linus Torvalds ปล่อยเคอร์เนลลินุกซ์ (เวอร์ชั่น 0.12) เป็นซอฟต์แวร์เสรีใบอนุญาตภายใต้ใบอนุญาต GPL ดังนั้นเป็นครั้งแรกที่มีความเป็นไปได้ที่จะใช้งานคอมพิวเตอร์ซึ่งประกอบด้วยซอฟต์แวร์ฟรีเกือบทั้งหมด

Linux (ดังกล่าว) เป็นเคอร์เนลและแม้ว่าจะเป็นซอฟต์แวร์ขั้นพื้นฐานที่อนุญาตให้คุณใช้คอมพิวเตอร์ของคุณได้ แต่ก็ไม่ได้มีประโยชน์อะไรมากมายเพียงอย่างเดียว คุณควรจับคู่กับแอพพลิเคชั่นบางประเภท (userland) เพื่อให้มันทำงานได้ นั่นคือการแจกแจง GNU / Linux เช่น Debian หรือ Ubuntu และสิ่งที่ต้องทำ

เป็นมูลค่าการกล่าวขวัญว่าเคอร์เนลทั้งสำคัญและไม่สำคัญในเวลาเดียวกัน ให้ฉันอธิบาย คนส่วนใหญ่ที่ใช้คอมพิวเตอร์มักคุ้นเคยกับ userland มากกว่าเคอร์เนล เคอร์เนลมีความโปร่งใสเป็นส่วนใหญ่และคนส่วนใหญ่จะใช้เคอร์เนลอื่นที่มี userland เดียวกันและอาจไม่ได้สังเกตเห็นความแตกต่าง

ดังนั้นเมื่อคุณใช้Linuxคุณจะใช้งานระบบปฏิบัติการ GNU อย่างจริงจัง นั่นคือเคอร์เนลLinuxและGNU userland (GNOME, GNU คอมไพเลอร์คอลเลคชั่น, ดีบัก GNU, GNU Coreutils, GNU binutils, ฯลฯ ) นั่นเป็นเหตุผลที่ FSF ยืนยันว่าจะเรียกมันว่าGNU / Linux (ในความคิดของฉันคำขอที่เป็นธรรม)

แน่นอนคุณสามารถใช้ Linux โดยไม่ต้องมี userland GNU (คำใบ้: Android, Busybox ) และ ofcourse ใช้ GNU userland ที่ด้านบนของเมล็ดอื่น (kfreebsd, hurd ฯลฯ )

สำหรับ Unix นั้นเป็นโอเพ่นซอร์สและไม่ชอบนั่นเป็นคำถามที่เกี่ยวข้องกับการโต้เถียงกันบ้าง อย่างไรก็ตามคุณอาจพบข้อมูลที่เป็นประโยชน์ที่นี่


2

เคอร์เนล linux เป็นโปรแกรมที่สนับสนุนฟังก์ชั่นต่อไปนี้กับระบบปฏิบัติการ:

   รูปภาพแผนที่เคอร์เนล linux

ลิงค์เดิมไปยังรูปภาพ: http://www.makelinux.net/kernel_map/

เคอร์เนลมีความสำคัญและเหนือสิ่งอื่นใดคุณมีสาธารณูปโภคและซอฟต์แวร์ที่เหลือทั้งหมด ความแตกต่างระหว่างระบบปฏิบัติการแบบเต็มและเคอร์เนลเท่ากับส่วนที่เหลือของซอฟต์แวร์และวิธีการรวมตัวกันของผู้ดูแลการแจกจ่าย

ผู้บำรุงรักษาเหล่านั้นไม่จำเป็นต้องทำซอฟต์แวร์พิเศษทั้งหมดพวกเขารวบรวมและแก้ไขมันบางครั้งและรวมเข้าด้วยกันเพื่อมอบสิ่งที่ประสบการณ์เกี่ยวกับลีนุกซ์สำหรับคนส่วนใหญ่ในวันนี้ - พวกเขาเพิ่ม "รสชาติ" เพื่อพูดและมีเชื้อสาย สำหรับการแจกแจงที่ได้รับการยอมรับอย่างมากเช่น Debian และ Redhat เป็นต้นสิ่งสำคัญคือสัดส่วนสำคัญของยูทิลิตี้เริ่มต้นและซอฟต์แวร์ที่จัดทำแพคเกจในการแจกแจงลินุกซ์ ได้แก่ ซอฟต์แวร์ที่ดัดแปลงจากโครงการ GNU. ซอฟต์แวร์จำนวนมากนั้นถูกรวมเข้าด้วยกันโดยโครงการ GNU โดยใช้ทรัพยากรของพวกเขาก่อนที่เคอร์เนล linux จะถูกคิดค้นขึ้นมา และมันฟรีและซอฟต์แวร์จำนวนมากช่วยสร้างความนิยมของ linux เนื่องจากทั้งคู่เป็นซอฟต์แวร์โอเพนซอร์ซฟรีและโอเพ่นซอร์สที่เชื่อมโยงกับใบอนุญาต GPL libc framwework, Gnome Desktop และคอมไพเลอร์ gcc เป็นตัวอย่างของซอฟต์แวร์ GNU ที่ปรับปรุงแล้ว

แน่นอนว่ามันไม่สำคัญและยอมรับว่ามันไม่ควรเป็นเรื่องการเมือง แต่มีคนร้องทั้งสองด้านและมีการถกเถียงกัน แอพพลิเคชั่นที่ใช้งานได้จริง, รู้เพิ่มเติมเกี่ยวกับประวัติของซอฟต์แวร์ในการแจกแจงที่เราใช้และผู้สร้างมันเป็นความพยายามที่ถูกต้อง


คุณสามารถให้ลิงค์ไปยังภาพต้นฉบับได้หรือไม่?
heinrich5991

1
@ heinrich5991 - ฉันเพิ่มลิงค์ไปยังต้นฉบับ
slm
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.