Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Linux

BSD vs Linux: ความแตกต่างพื้นฐาน

ทั้ง Linux และ BSDs (Berkeley Software Distributions) ต่างๆ เป็นฟรีและโอเพนซอร์ส มีจุดเหมือนกันมากกว่าความแตกต่าง ด้วยข้อเท็จจริงนี้ คุณอาจถามตัวเองว่า "ถ้ามันคล้ายกันขนาดนี้ ทำไมมันจึงมีอยู่ทั้งคู่? จะไม่ดีกว่าถ้ามีระบบปฏิบัติการเพียงระบบเดียวให้เลือก?"

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

Linux vs BSD

Linux ในทางเทคนิคไม่ถือว่าเป็นระบบปฏิบัติการ แต่ในความเป็นจริง มันคือเพียง Kernel (เคอร์เนล) Kernel เป็นแกนกลางของระบบปฏิบัติการใดๆ และอยู่ระหว่างซอฟต์แวร์และฮาร์ดแวร์

สิ่งนี้ช่วยให้ Kernel ช่วยให้ผู้ใช้ใช้ประโยชน์จากทรัพยากรที่มีอยู่ในระบบ ระบบปฏิบัติการเองถูกสร้างขึ้นบน Kernel

Kernel vs ระบบปฏิบัติการ

ทั้ง Linux และ BSDs เป็นระบบปฏิบัติการแบบ Unix-like เมื่อติดตั้ง Linux คุณกำลังติดตั้ง Distribution ที่สร้างขึ้นโดยใช้ Linux Kernel มี Distribution ให้เลือกมากมาย เช่น Ubuntu และ Debian ซึ่งทั้งหมดใช้ Linux Kernel โปรแกรมต่างๆ ถูกฝังเข้าไปใน Kernel ก่อนที่จะทำให้ Distribution พร้อมสำหรับตลาด

BSD ต่างจาก Linux จุดที่ BSD เป็นระบบปฏิบัติการสมบูรณ์ BSD ก็เป็น Kernel เช่นกัน ใช้เป็นแกนกลางของระบบปฏิบัติการ นักพัฒนา BSD จะใช้ Kernel นั้นเพื่อเพิ่มโปรแกรมประเภทต่างๆ ทำให้พวกเขาพร้อมใช้งานสำหรับผู้ใช้เป็น Distribution สมบูรณ์ หมายความว่าระบบปฏิบัติการ BSD เช่น FreeBSD หรือ NetBSD คือ Kernel บวกกับโปรแกรมที่เพิ่มเข้ามาเหนือมันและเผยแพร่เป็นแพ็กเกจเดียวที่ดาวน์โหลดได้

BSDs ใช้สิ่งที่เรียกว่า Ports System ระบบนี้คือสิ่งที่อนุญาตให้ติดตั้งแพ็กเกจซอฟต์แวร์ ซอฟต์แวร์ถูกเก็บในรูปแบบ Source Code หมายความว่าคอมพิวเตอร์ของคุณจะต้องคอมไพล์ข้อมูลทุกครั้งก่อนที่ซอฟต์แวร์จะรันได้

แง่สว่างคือ แพ็กเกจสามารถติดตั้งในสถานะ Pre-compiled Binary ได้ ซึ่งช่วยให้ระบบของคุณข้ามขั้นตอนการคอมไพล์ข้อมูลก่อนรันได้

ความแตกต่างพื้นฐานระหว่างทั้งสองคือ Linux Distributions มาพร้อมกับชุดโปรแกรมและ Repositories ที่ต่างกัน อนุญาตให้ผู้ใช้ดาวน์โหลดโปรแกรมเพิ่มเติมที่แตกต่างกันตามความต้องการของ Distribution

เมื่อคุณติดตั้งระบบปฏิบัติการ BSD คุณจะได้แค่โปรแกรมที่ BSD เสนอ นี่ไม่ใช่กรณีของแพ็กเกจซอฟต์แวร์ เนื่องจากแพ็กเกจซอฟต์แวร์มีให้ทั้งสองระบบ

ความแตกต่างในการออก License (Licensing)

ส่วนใหญ่ของคนอาจไม่สนใจ แตความแตกต่างใน License จริงๆ แล้วสำคัญมาก Linux ใช้ GNU General Public License (GPL) หมายความว่านักพัฒนาสามารถแก้ไขหรือเพิ่มฟีเจอร์ใหม่ให้กับ Linux Kernel ได้ตามที่พวกเขาต้องการ ข้อแม้เพียงอย่างเดียวคือซอร์สโค้ดที่พัฒนาใหม่ทั้งหมดต้องเผยแพร่สู่สาธารณะ ไม่ว่าพวกเขาจะต้องการหรือไม่

BSDs ใช้ BSD License ของตัวเองซึ่งเป็นเอกลักษณ์ อนุญาตให้นักพัฒนาแก้ไขและเพิ่มฟีเจอร์ใหม่ให้กับ Kernel หรือ Distribution ของ BSD โดยไม่ต้อง เผยแพร่ซอร์สโค้ด หมายความว่า BSD โอเพนซอร์สสามารถประกาศเป็น Closed-source ได้ หากนักพัฒนาเลือก พวกเขาไม่มีภาระบังคับที่จะเผยแพร่ซอร์สโค้ดให้ใคร

ความพร้อมใช้งานและความเข้ากันได้ของซอฟต์แวร์

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

เกี่ยวกับ Linux นักพัฒนาง่ายกว่าในการเขียนโค้ดที่สามารถทำให้มีแพ็กเกจ Binary สำเร็จรูปสำหรับผู้ใช้ติดตั้ง แพ็กเกจสามารถติดตั้งได้โดยใช้ apt, yum และตัวจัดการแพ็กเกจอื่นๆ ลักษณะโอเพนซอร์สของ Linux คือสิ่งที่ทำให้ความเป็นไปได้นี้ง่ายขึ้น

สำหรับผู้ใช้ BSD งานไม่ได้ง่ายขนาดนั้น ผู้ใช้จะต้องดาวน์โหลดซอร์สโค้ดสำหรับโปรแกรมจากพอร์ตพันรายที่มีให้ จากนั้นหลังจากดาวน์โหลดซอร์สโค้ดแล้ว พวกเขาจะต้องคอมไพล์บนระบบของพวกเขา

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

การเลือก

Linux ไม่มีข้อสงสัยว่าเป็นตัวเลือกที่นิยมกว่าสำหรับระบบปฏิบัติการแบบ Unix-based โอเพนซอร์ส มันมักจะได้รับการสนับสนุนฮาร์ดแวร์เร็วกว่า BSD และสำหรับวัตถุประสงค์ทั่วไป ทั้งสองระบบคล้ายกันมากจนไม่สำคัญ

ทั้งสองระบบมีชุดข้อได้เปรียบของตัวเอง การมองที่ FreeBSD ทีมพัฒนารักษาเวอร์ชันของตัวเองสำหรับเครื่องมือทั่วไปจำนวนมาก ซึ่งช่วยให้นักพัฒนาสร้างตัวแปรเครื่องมือของตัวเองสำหรับใช้กับระบบของพวกเขา เครื่องมือของระบบ Linux มาจาก GNU Suite เป็นหลัก ดังนั้น Variation จึงน้อยกว่า

BSD มีความขาดแอปพลิเคชันอย่างรุนแรง สิ่งนี้นำนักพัฒนาไปสู่การพยายามควบคุมสถานการณ์โดยการสร้าง Linux Compatibility Package อนุญาตให้แอปพลิเคชัน Linux รันบน BSD Linux Distributions ไม่มีปัญหาจริงๆ กับแอปพลิเคชัน เนื่องจากมีมากมายให้สาธารณะ

ความซับซ้อนจริงคืออักขระของฟรีซอร์ส

นักพัฒนาและผู้ใช้ vs การจำกัด

License GPL ของ Linux มักจะเข้มงวดกับนักพัฒนา บังคับให้เผยแพร่ซอร์สโค้ดที่แก้ไขทั้งหมด นักพัฒนา BSD ในทางกลับกัน ไม่มีข้อจำกัดเช่นนั้น สิ่งที่ต้องจดจำคือสาธารณะที่ไม่ได้พัฒนาได้รับอะไรจากทั้งหมดนี้

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

ข้อจำกัดที่ตั้งไว้บน Linux โดย License ของพวกเขา ให้การรับรองแก่ผู้ที่มองหาแอปพลิเคชันสำหรับระบบว่าหากมีการสร้างขึ้น พวกเขาจะมีสิทธิ์เข้าถึง License BSD อนุญาตให้นักพัฒนาของมันเลือกที่จะเก็บ Kernel และการแก้ไขระบบไว้เอง หมายความว่าแม้จะมีบางอย่างถูกสร้างขึ้น สาธารณะทั่วไปอาจไม่รู้จักถึงความมีอยู่ของมัน

ระบบ BSD ได้รับชื่อเสียงด้านความน่าเชื่อถือมากกว่าคู่แข่ง Linux นี่คือคะแนนบนกระดานคะแนนสำหรับ BSD มันยังสามารถ Execute Linux Binaries ได้และอ้างว่ามี Central Repository ทั้งสองสิ่งที่ Linux ไม่คุ้นเคย

ทั้งสองเป็นตัวเลือกที่เป็นไปได้สำหรับทุกคนที่ต้องการ Unix-based OS เนื่องจากความคล้ายคลึงของพวกเขา จึงยากที่จะโปรโมทหนึ่งมากกว่าอีกตัว การเลือกจริงๆ อยู่ที่ นักพัฒนาต่อผู้ใช้ และความต้องการในโอเพนซอร์ส OS ที่ผู้ใช้กำลังมองหา