เคอร์เนลลินุกซ์คืออะไร?
สำหรับผู้ใช้ทั่วไปและแฟน ๆ ที่ไม่ค่อยฮาร์ดคอร์ ลินุกซ์ เป็นระบบปฏิบัติการ อย่างไรก็ตามสำหรับนักบวชชื่อ ลินุกซ์ สงวนไว้สำหรับเคอร์เนลที่ขับเคลื่อนระบบปฏิบัติการ
โหมด
ก่อนที่เราจะอธิบายว่าเคอร์เนลคืออะไร จำเป็นต้องเข้าใจเงื่อนไขก่อน โหมดผู้ใช้ และ โหมดเคอร์เนล. โหมดผู้ใช้คือเมื่อการรันโค้ดไม่มีความสามารถในการเข้าถึงฮาร์ดแวร์หรือหน่วยความจำอ้างอิงโดยตรง ในการเข้าถึงฮาร์ดแวร์และหน่วยความจำ โค้ดที่ทำงานในโหมดผู้ใช้ต้องมอบคำแนะนำให้กับระบบ Application Programming Interfaces โหมดเคอร์เนลคือเวลาที่การเรียกใช้โค้ดมีการเข้าถึงฮาร์ดแวร์ทั้งหมดได้ไม่จำกัด—ซึ่งสงวนไว้สำหรับฟังก์ชันที่น่าเชื่อถือที่สุดของระบบปฏิบัติการ

เคอร์เนลคืออะไร?
ทุกระบบปฏิบัติการมีเคอร์เนล หน้าต่าง, macOS, iOS, Android, Chrome OSและ Linux ต่างก็มีระบบระดับต่ำที่รับผิดชอบในการเชื่อมต่อแอปพลิเคชันทั้งหมดกับฮาร์ดแวร์จริงของคอมพิวเตอร์ หากไม่มีเคอร์เนล แอปพลิเคชันใดๆ ของคุณจะไม่สามารถใช้คอมพิวเตอร์ที่มีอยู่จริงได้ แอปอย่าง Firefox, Chrome, LibreOffice หรือ Outlook จะไม่ทำงาน เคอร์เนลยังรับผิดชอบในการอนุญาตให้กระบวนการแลกเปลี่ยนข้อมูลโดยใช้สิ่งที่เรียกว่าการสื่อสารระหว่างกระบวนการ
มี (โดยทั่วไป) สามประเภทของเมล็ด:
- เมล็ดเสาหิน: เมล็ดเหล่านี้รวมถึง ซีพียู, หน่วยความจำ, IPC, ไดรเวอร์อุปกรณ์, การจัดการระบบไฟล์ และการเรียกเซิร์ฟเวอร์ระบบ นอกจากนี้ยังรับผิดชอบในการมอบหน่วยความจำระบบฟรีให้กับแอปพลิเคชัน เมล็ดประเภทนี้มักจะเข้าถึงฮาร์ดแวร์และมัลติทาสกิ้งได้ดีกว่า
- ไมโครเคอร์เนล: Microkernels ใช้แนวทางที่เรียบง่ายและจัดการเฉพาะ CPU, หน่วยความจำ และ IPC เท่านั้น
- เมล็ดลูกผสม: Hybrid Kernels มีความสามารถในการตัดสินใจว่าจะเรียกใช้อะไรในโหมดผู้ใช้หรือโหมดเคอร์เนล แม้ว่าสิ่งนี้จะมอบสิ่งที่ดีที่สุดของทั้งสองโลก แต่ก็ต้องการมากขึ้นจากผู้ผลิตฮาร์ดแวร์เพื่อสร้างไดรเวอร์ที่ทำหน้าที่เชื่อมต่อระหว่างรหัสที่ใช้งานและฮาร์ดแวร์
Linux ใช้โอเพ่นซอร์ส เคอร์เนลเสาหิน ในขณะที่ macOS และ Windows ใช้ไฮบริดเคอร์เนล เคอร์เนล Linux เกิดขึ้นในปี 1991 โดย Linus Torvalds จนถึงทุกวันนี้ Torvalds ยังคงเป็นผู้พัฒนาหลักบนเคอร์เนล Linux ในขณะที่นักพัฒนาจากทั่วทุกมุมโลกสนับสนุนเคอร์เนล Linux อันที่จริง คาดว่านักพัฒนาเกือบ 10,000 รายจากบริษัทมากกว่า 1,000 แห่ง มีส่วนสนับสนุนเคอร์เนล Linux ตั้งแต่เริ่มติดตามในปี 2548
เคอร์เนลอยู่ที่ไหน
หากคุณเปิดหน้าต่างเทอร์มินัลและออกคำสั่ง ls /bootคุณจะเห็นไฟล์ชื่อ vmlinuz-รุ่น(โดยที่ VERSION คือชื่อหรือหมายเลขเผยแพร่) ไฟล์ vmlinuz เป็นเคอร์เนล Linux ที่สามารถบู๊ตได้จริง และไฟล์ z แสดงว่าเคอร์เนลถูกบีบอัด—ดังนั้นแทนที่จะเป็น vmlinux เรามี vmlinuz.

ภายในไดเร็กทอรี /boot นั้นเป็นไฟล์เคอร์เนลที่สำคัญอื่น ๆ เช่น initrd.img-VERSION, system.map-VERSION และ config-VERSION (โดยที่ VERSION เป็นชื่อหรือหมายเลขเผยแพร่) ไฟล์อื่นๆ เหล่านี้มีจุดประสงค์ดังต่อไปนี้:
- initrd: ใช้เป็น RAMdisk ขนาดเล็กที่แยกและรันไฟล์เคอร์เนลจริง
- system.map: ใช้สำหรับการจัดการหน่วยความจำ ก่อนโหลดเคอร์เนล
- config: สั่งเคอร์เนลเกี่ยวกับตัวเลือกและโมดูลที่จะโหลด
โมดูล
หากไม่มีโมดูล เคอร์เนลจะไม่มีประโยชน์อะไรมากนัก โมดูลเปิดใช้งานไดรเวอร์ที่จำเป็นในการสื่อสารกับฮาร์ดแวร์อย่างมีประสิทธิภาพโดยไม่ต้องใช้หน่วยความจำระบบทั้งหมดของคุณ โมดูลยังเพิ่มฟังก์ชันการทำงานให้กับเคอร์เนล เช่น การสื่อสารกับอุปกรณ์ต่อพ่วง การจัดการระบบไฟล์ ความปลอดภัย ฯลฯ แสดงรายการ เพิ่ม และลบโมดูลไปยังเคอร์เนลด้วยคำสั่งต่อไปนี้:
- lsmod แสดงรายการโมดูลเคอร์เนลที่โหลดอยู่ในปัจจุบันทั้งหมด
- insmod โหลดโมดูลเคอร์เนลลงในเคอร์เนลที่ทำงานอยู่
- rmmod ยกเลิกการโหลดโมดูลจากเคอร์เนลที่ทำงานอยู่
ด้วยความช่วยเหลือของคำสั่งง่ายๆ เคอร์เนล Linux สามารถยืดหยุ่นได้ค่อนข้างมาก
เคอร์เนลปัจจุบัน

เคอร์เนลของลินุกซ์อัพเดตบ่อยๆ แต่บางรุ่นของลินุกซ์จะไม่มีเคอร์เนลล่าสุด
คุณสามารถดาวน์โหลดเคอร์เนล Linux เวอร์ชันต่างๆ ได้ฟรีจาก kernel.org และเรียบเรียงเอง การรวบรวมเคอร์เนล Linux เป็นงานที่ดีที่สุดสำหรับผู้ที่รู้ว่าพวกเขากำลังทำอะไรอยู่ เคอร์เนลที่คอมไพล์อย่างไม่เหมาะสมอาจทำให้ระบบไม่สามารถบู๊ตได้ ดังนั้น เว้นแต่ว่าคุณพร้อมที่จะดำดิ่งสู่งานที่ท้าทายในการรวบรวมโค้ดในระดับนี้ ให้ใช้เคอร์เนลเริ่มต้นที่จัดส่งและอัปเดตเกี่ยวกับการแจกจ่ายตัวเลือกของคุณ
คำถามที่พบบ่อย
-
ฟังก์ชันไฮเปอร์ไวเซอร์ใดบ้างที่รวมอยู่ในเคอร์เนล Linux
เครื่องเสมือนบนเคอร์เนล (KVM) เป็นส่วนในตัวของ Linux ที่เปลี่ยน Linux เป็นซอฟต์แวร์ไฮเปอร์ไวเซอร์ที่สร้างและรัน เครื่องเสมือน. KVM เป็นเทคโนโลยีเวอร์ชวลไลเซชันแบบโอเพนซอร์สที่ช่วยให้โฮสต์ Linux หลักเรียกใช้เครื่องเสมือน ซึ่งเป็นสภาพแวดล้อมเสมือนที่เรียกว่าแขก
-
เคอร์เนล Linux เขียนด้วยภาษาอะไร
เคอร์เนลลินุกซ์เขียนด้วยภาษาซี C ใช้สำหรับความต้องการในการเขียนโปรแกรมเอนกประสงค์จำนวนมาก C แบ่งโปรแกรมออกเป็นโมดูลต่างๆ และแต่ละโมดูลสามารถเขียนแยกกันหรือรวมกันก็ได้
-
ฉันจะตรวจสอบเวอร์ชันเคอร์เนล Linux ได้อย่างไร
หากต้องการทราบว่าคุณกำลังใช้เคอร์เนลลินุกซ์เวอร์ชันใดอยู่ ให้ป้อน hostnamectl ลงในบรรทัดคำสั่ง ถัดไปบรรทัดสุดท้ายจะอ่าน เคอร์เนล: Linux และสตริงตัวเลข หมายเลขแรกคือเวอร์ชันเคอร์เนลหลัก หมายเลขที่สองคือเวอร์ชันหลัก และหมายเลขที่สามคือระดับการแก้ไขเล็กน้อย