ทุกระบบปฏิบัติการ ไม่ว่าจะเป็น Windows, Mac, Linux หรือ Android มีโปรแกรมหลักที่เรียกว่า เคอร์เนล ซึ่งทำหน้าที่เป็น 'เจ้านาย' ของทั้งระบบ มันคือหัวใจของ OS! Kernel เป็นเพียงโปรแกรมคอมพิวเตอร์ที่ควบคุมทุกสิ่งทุกอย่าง อะไรก็ตามที่เกิดขึ้นบนคอมพิวเตอร์จะต้องผ่านมันไป ในโพสต์นี้ เราจะพูดถึงเคอร์เนลในระบบปฏิบัติการคืออะไร และเคอร์เนลประเภทต่าง ๆ คืออะไร
เคอร์เนลใน OS คืออะไร
ตอนนี้เรารู้แล้วว่ามันเป็นโปรแกรมหลักในระบบปฏิบัติการ เราควรรู้ว่ามันเป็นโปรแกรมแรกที่โหลดหลังจาก bootloader ด้วย จากนั้นจะเป็นการพูดคุยระหว่างฮาร์ดแวร์กับซอฟต์แวร์หรือแอปพลิเคชัน ดังนั้น หากคุณเปิดโปรแกรม อินเทอร์เฟซผู้ใช้จะส่งคำขอไปยังเคอร์เนล จากนั้นเคอร์เนลจะส่งคำขอไปยัง CPU หน่วยความจำเพื่อกำหนดพลังการประมวลผล หน่วยความจำ และสิ่งอื่น ๆ เพื่อให้แอปพลิเคชันทำงานได้อย่างราบรื่นในส่วนหน้า
คุณสามารถจินตนาการว่าเคอร์เนลเป็นนักแปลได้ มันแปลงคำขออินพุต/เอาต์พุตจากซอฟต์แวร์เป็นชุดคำสั่งสำหรับ CPU และ GPU พูดง่ายๆ คือ เป็นเลเยอร์ระหว่างซอฟต์แวร์และฮาร์ดแวร์ที่ทำให้ทุกอย่างเป็นไปได้ เคอร์เนลจัดการสิ่งต่อไปนี้:
- ซีพียู/GPU
- หน่วยความจำ
- อุปกรณ์อินพุต/เอาต์พุต หรือ IO
- การจัดการทรัพยากร
- การจัดการหน่วยความจำ
- การจัดการอุปกรณ์
- เรียกระบบ
กระบวนการของผู้ใช้สามารถเข้าถึงพื้นที่เคอร์เนลผ่านการใช้การเรียกของระบบเท่านั้น หากโปรแกรมพยายามเข้าถึงโดยตรง จะส่งผลให้เกิดข้อผิดพลาด
อ่าน :ความแตกต่างระหว่างโหมดเคอร์เนลและโหมดผู้ใช้
การรักษาความปลอดภัยและการป้องกันเคอร์เนล
เคอร์เนลยังปกป้องฮาร์ดแวร์อีกด้วย หากไม่มีการป้องกัน โปรแกรมใดๆ ก็สามารถทำงานบนคอมพิวเตอร์ได้ รวมถึงการหยุดทำงานของคอมพิวเตอร์ ทำให้ข้อมูลเสียหาย ฯลฯ
ในคอมพิวเตอร์สมัยใหม่ การรักษาความปลอดภัยถูกนำมาใช้ในระดับฮาร์ดแวร์ ตัวอย่างเช่น Windows จะไม่โหลดไดรเวอร์ที่ไม่ได้มาจากแหล่งที่เชื่อถือได้และได้รับการรับรองโดยใช้ลายเซ็น Secure Boot และ Trusted Boot คือตัวอย่างคลาสสิก
การบูตที่ปลอดภัย: เป็นมาตรฐานความปลอดภัยที่พัฒนาโดยสมาชิกของอุตสาหกรรมพีซี ช่วยปกป้องระบบของคุณจากโปรแกรมที่เป็นอันตรายโดยไม่อนุญาตให้แอปพลิเคชันที่ไม่ได้รับอนุญาตทำงานในระหว่างกระบวนการเริ่มต้นระบบ คุณสมบัตินี้ทำให้แน่ใจว่าพีซีของคุณบูทโดยใช้ซอฟต์แวร์ที่ผู้ผลิตพีซีเชื่อถือเท่านั้น ดังนั้น เมื่อใดก็ตามที่พีซีของคุณเริ่มทำงาน เฟิร์มแวร์จะตรวจสอบลายเซ็นของซอฟต์แวร์สำหรับบู๊ตแต่ละชิ้น รวมถึงไดรเวอร์เฟิร์มแวร์ (Option ROM) และระบบปฏิบัติการ หากตรวจสอบลายเซ็นแล้ว พีซีจะบู๊ตและเฟิร์มแวร์ให้การควบคุมระบบปฏิบัติการ
การบูตที่เชื่อถือได้: ใช้ Virtual Trusted Platform Module (VTPM) เพื่อตรวจสอบลายเซ็นดิจิทัลของเคอร์เนล Windows 10 ก่อนโหลด ในทางกลับกัน มันจะยืนยันทุกองค์ประกอบอื่น ๆ ของกระบวนการเริ่มต้น Windows รวมถึงไดรเวอร์สำหรับบูต ไฟล์เริ่มต้น และ ELAM หากไฟล์มีการเปลี่ยนแปลงหรือเปลี่ยนแปลงในระดับใดก็ตาม bootloader จะตรวจพบไฟล์ดังกล่าวและปฏิเสธที่จะโหลดไฟล์โดยมองว่าเป็นส่วนประกอบที่เสียหาย กล่าวโดยสรุปก็คือ มันมอบความไว้วางใจให้กับองค์ประกอบทั้งหมดในระหว่างการบู๊ต
เคอร์เนลมีกี่ประเภท
เคอร์เนลยังสามารถพูดคุยกับฮาร์ดแวร์บนสายที่ปลอดภัย ดังนั้นบริษัทต่างๆ จึงสามารถพัฒนา Kernel ซึ่งสามารถพูดคุยกับฮาร์ดแวร์ของตนผ่านชุดปุ่มต่างๆ ได้ ยกตัวอย่างเครื่องซักผ้า ขึ้นอยู่กับลูกบิดที่คุณขยับและเวลาที่คุณตั้งไว้ – ระดับพื้นฐานของเคอร์เนลน่าจะเพียงพอแล้ว ที่กล่าวว่าเคอร์เนลเองนั้นซับซ้อนไปตามกาลเวลาซึ่งส่งผลให้เกิดประเภทของเคอร์เนล
- เคอร์เนลเสาหิน: ที่นี่ ทั้ง OS และ Kernel ทำงานในพื้นที่หน่วยความจำเดียวกันและเหมาะสมในกรณีที่ความปลอดภัยไม่ใช่ประเด็นสำคัญ ส่งผลให้เข้าถึงได้เร็วขึ้น แต่ถ้ามีข้อบกพร่องในไดรเวอร์อุปกรณ์ ทั้งระบบก็จะล่ม
- ไมโครเคอร์เนล: มันเป็นเวอร์ชันที่แยกย่อยของเคอร์เนลเสาหินซึ่งเคอร์เนลสามารถทำงานส่วนใหญ่ให้เสร็จ และไม่จำเป็นต้องมี GUI เพิ่มเติม ควรใช้ในกรณีที่ระบบรักษาความปลอดภัยและระบบขัดข้องไม่เกิดขึ้นหรือจะไม่เกิดขึ้น
- เคอร์เนลไฮบริด: เคอร์เนลนี้เป็นสิ่งที่เราเห็นมากที่สุด Windows, macOS ของ Apple เป็นส่วนผสมของเคอร์เนลเสาหินและไมโครเคอร์เนล โดยจะย้ายไดรเวอร์ออกแต่คงบริการของระบบไว้ภายในเคอร์เนล ซึ่งคล้ายกับการโหลดไดรเวอร์เมื่อ Windows เริ่มกระบวนการบูทเครื่อง
- นาโนเคอร์เนล: หากคุณต้องการมีเคอร์เนล แต่ฟังก์ชันส่วนใหญ่ได้รับการตั้งค่าภายนอก สิ่งนี้จะรวมอยู่ในรูปภาพ
- Exo Kernel: เคอร์เนลนี้เสนอการป้องกันกระบวนการและการจัดการทรัพยากรเท่านั้น อย่างไรก็ตาม ส่วนใหญ่จะใช้เมื่อคุณกำลังทดสอบโปรเจ็กต์ภายใน และคุณอัปเกรดเป็นประเภทเคอร์เนลที่ดีกว่า
Kernel มีอะไรมากกว่าที่เราพูดถึง เมื่อคุณเจาะลึกลงไป คำจำกัดความของเคอร์เนลจะกว้างและลึกซึ้งยิ่งขึ้น
เราหวังว่าโพสต์นี้จะเข้าใจง่ายและช่วยให้คุณเข้าใจถึงพื้นฐาน
อ่านต่อ :แผนที่เชิงโต้ตอบของเคอร์เนล Linux