Dynamic Kernel Module Support
ถ้าให้เล่าย้อนความเกี่ยวกับเจ้า DKMS ก็หลายปีมากเลยละ แต่จะสรุปให้ผู้อ่านดังนี้ คือ สมัยก่อนสำหรับคนเล่นลีนุกส์เวลาที่เราจะเพิ่มเติม ความสามารถ (feature) ให้กับ kernel นั้น เราจะต้อง patch kernel แล้วทำการคอมไพล์ Kernel ใหม่ทำการดาวน์โหลดไฟล์ kernel ที่ต้องการใช้ได้จาก https://www.kernel.org/ ซึ่ง kernel จากเว็บนี้เราจะเรียกกันว่า Vanilla Kernel
ถ้าไม่เกริ่นเกี่ยวกับ Vanilla Kernel เดี่ยวจะงงสรุปสั้นคือ กลุ่มโปรแกรมเมอร์ที่พัฒนา kernel ให้เราใช้นี้และ โดยมีคุณไลนัส ทอร์วัลด์ส (Linus Benedict Torvalds) เป็นแกนนำ แล้วมันแตกต่างกับ Kernel ที่เราใช้บนระบบปฏิบัติการอื่นอย่างไร เช่น Debian, Redhat ฯลฯ
ความแตกต่างง่ายๆ ดังนี้
- การเลือก Vanilla Kernel มาใช้นั้น แต่ละระบบปฏิบัติการมีแนวคิดต่างกัน ในการเลือกนำมาใช้โดยดูการ support ของแต่ละเวอร์ชั่น
- โดยพวกระบบปฏิบัติการต่างๆ จะมีการวิธีการเลือกต่างๆ กัน เช่น เน้นรองรับความสามารถใหม่, รองรับฮาวด์แวร์ใหม่ ก็จะเลือกใช้ Kernel เวอร์ชั่นใหม่, เน้นความเสถียร ก็จะเลือก Kernel เวอร์ชั่นเก่า
- พวกระบบปฏิบัติการต่างๆ ก็จะเอา Vanilla Kernel นี้และมาดูแลต่อเอง ไม่ว่าจะเป็นเรื่องรองรับอุปกรณ์ (Hardware), รองรับเรื่องความปลอดภัย (Security), รองรับเรื่องความสามารถใหม่ๆ (Feature)
- โดยแต่ระบบปฏิบัติการการเอามารองรับนานแค่ไหน เราก็ต้องทำการดูแต่ระบบปฏิบัติการและเลือกเอาเอง
สรุปปิดท้าย เพื่อไม่ให้บทความยาวไปแล้วค่อยไปอ่านภาค 2 กันต่อ ที่ได้กล่าวมาตอนต้น การที่เราจะเอา vanilla kernel มาเพิ่มความสามารถ หรือปรับแก้ไขตามความต้องการของเรานั้น มันมีข้อเสียดังนี้ เวลาที่ใช้คอมไพล์นาน, การดูแลในด้านความปลอดภัยทั้งบักหรือช่องโหว่ โดยถ้าเราไม่มีทีมดูแลเฉพาะทางด้วยแล้ว ไม่ควรอย่างยิ่งที่จะทำ ฯลฯ ทำให้มีแนวคิดว่า ทำไมไม่ทำให้มัน dynamic kernel module ได้ละ คือ โหลดตอนที่ต้องการเรียกใช้งาน หรือ คอมไพล์ในส่วนที่เราต้องการเพิ่มใช้พอ โดยไม่ต้องทำการคอมไพล์ทั้ง kernel ใหม่ทั้งหมด
ความคิดเห็น
แสดงความคิดเห็น