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