ความแตกต่างระหว่างเคอร์เนล Microkernel และ Monolithic Kernel

ผู้เขียน: Laura McKinney
วันที่สร้าง: 1 เมษายน 2021
วันที่อัปเดต: 10 พฤษภาคม 2024
Anonim
Monolithic Kernel v/s Micro kernel
วิดีโอ: Monolithic Kernel v/s Micro kernel

เนื้อหา


เคอร์เนลเป็นส่วนหลักของระบบปฏิบัติการ มันจัดการทรัพยากรระบบ เคอร์เนลเปรียบเสมือนสะพานเชื่อมระหว่างแอพพลิเคชันและฮาร์ดแวร์ของคอมพิวเตอร์ เคอร์เนลสามารถจำแนกได้อีกสองประเภทคือ Microkernel และ Monolithic Kernel Microkernel เป็นบริการที่ผู้ใช้และบริการเคอร์เนลจะถูกเก็บไว้ในพื้นที่ที่อยู่แยกต่างหาก อย่างไรก็ตามในบริการผู้ใช้เคอร์เนลเสาหินและบริการเคอร์เนลทั้งสองจะถูกเก็บไว้ในพื้นที่ที่อยู่เดียวกัน ให้เราคุยกันถึงความแตกต่างระหว่าง Microkernel และ Monolithic kernel ด้วยความช่วยเหลือของแผนภูมิเปรียบเทียบที่แสดงด้านล่าง

  1. แผนภูมิเปรียบเทียบ
  2. คำนิยาม
  3. ความแตกต่างที่สำคัญ
  4. ข้อสรุป

แผนภูมิเปรียบเทียบ

พื้นฐานสำหรับการเปรียบเทียบmicrokernelเคอร์เนลเสาหิน
ขั้นพื้นฐานในบริการผู้ใช้ microkernel และเคอร์เนลบริการจะถูกเก็บไว้ในพื้นที่ที่อยู่แยกต่างหากในเคอร์เนลเสาหินทั้งบริการผู้ใช้และบริการเคอร์เนลจะถูกเก็บไว้ในพื้นที่ที่อยู่เดียวกัน
ขนาดMicrokernel มีขนาดเล็กกว่าเคอร์เนลเสาหินมีขนาดใหญ่กว่า microkernel
การกระทำการดำเนินการช้าดำเนินการอย่างรวดเร็ว
ที่กางออกได้เคอร์เนลสามารถขยายได้อย่างง่ายดายเคอร์เนลเสาหินนั้นยืดออกยาก
ความปลอดภัยหากบริการขัดข้องจะมีผลกับการทำงานของ microkernelหากบริการขัดข้องทั้งระบบขัดข้องในเคอร์เนลเสาหิน
รหัสในการเขียน microkernel จำเป็นต้องใช้รหัสเพิ่มเติมในการเขียนเคอร์เนลเสาหินจำเป็นต้องใช้รหัสน้อย
ตัวอย่างQNX, Symbian, L4Linux, Singularity, K42, Mac OS X, ความสมบูรณ์, PikeOS, HURD, Minix และ Coyotos Linux, BSDs (FreeBSD, OpenBSD, NetBSD), Microsoft Windows (95,98, Me), Solaris, OS-9, AIX, HP-UX, DOS, OpenVMS, XTS-400 เป็นต้น


คำจำกัดความของ Microkernel

Microkernel เป็นเคอร์เนลจัดการทรัพยากรระบบทั้งหมด แต่ใน microkernel นั้น บริการผู้ใช้ และ บริการเคอร์เนล ถูกนำไปใช้ในพื้นที่ที่แตกต่างกัน บริการผู้ใช้จะถูกเก็บไว้ใน พื้นที่ที่อยู่ผู้ใช้และบริการเคอร์เนลจะถูกเก็บไว้ภายใต้ พื้นที่แอดเดรสเคอร์เนล. นี้ ช่วยลด ขนาดของเคอร์เนลและลดขนาดของระบบปฏิบัติการต่อไป

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

ใน microkernel บริการผู้ใช้จะถูกแยกออกจากบริการเคอร์เนลดังนั้นหากผู้ใช้บริการล้มเหลวจะไม่มีผลต่อบริการเคอร์เนลและด้วยเหตุนี้ระบบปฏิบัติการ ยังคงได้รับผลกระทบ. นี่เป็นข้อดีอย่างหนึ่งใน microkernel เคอร์เนลเป็นเรื่องง่าย ขยาย. หากจะเพิ่มบริการใหม่บริการเหล่านั้นจะถูกเพิ่มลงในพื้นที่ที่อยู่ของผู้ใช้และด้วยเหตุนี้พื้นที่เคอร์เนลไม่จำเป็นต้องแก้ไขใด ๆ ไมโครเคอร์เนลยังพกพาได้ง่ายปลอดภัยและเชื่อถือได้


ความหมายของเคอร์เนลเสาหิน

เคอร์เนลเสาหินจัดการทรัพยากรระบบระหว่างแอปพลิเคชันและฮาร์ดแวร์ของระบบ แต่แตกต่างจาก microkernel บริการผู้ใช้และบริการเคอร์เนลจะดำเนินการภายใต้พื้นที่ที่อยู่เดียวกัน นี่เป็นการเพิ่มขนาดของเคอร์เนลซึ่งจะเป็นการเพิ่มขนาดของระบบปฏิบัติการ

เคอร์เนลเสาหินให้การกำหนดเวลา CPU การจัดการหน่วยความจำการจัดการไฟล์และฟังก์ชั่นระบบปฏิบัติการอื่น ๆ ผ่านการเรียกใช้ระบบ ในฐานะที่เป็นบริการผู้ใช้และบริการเคอร์เนลทั้งสองอยู่ในพื้นที่ที่อยู่เดียวกันนี้ส่งผลให้ระบบปฏิบัติการที่รวดเร็ว

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

ความแตกต่างที่สำคัญระหว่างเคอร์เนล Microkernel และ Monolithic Kernel

  1. จุดพื้นฐานที่ microkernel และ monolithic kernel แตกต่างก็คือ microkernel ใช้บริการผู้ใช้และบริการเคอร์เนลใน พื้นที่ที่อยู่ที่แตกต่างกัน และ เคอร์เนลเสาหิน ใช้บริการผู้ใช้และบริการเคอร์เนลภายใต้ พื้นที่ที่อยู่เดียวกัน.
  2. ขนาดของเคอร์เนลคือ เล็ก บริการเคอร์เนลเพียงอย่างเดียวอยู่ในพื้นที่ที่อยู่เคอร์เนล อย่างไรก็ตามขนาดของเคอร์เนลเสาหินเทียบได้ ที่มีขนาดใหญ่ กว่า microkernel เพราะทั้งเคอร์เนลเซอร์วิสและผู้ใช้บริการอยู่ในพื้นที่ที่อยู่เดียวกัน
  3. การดำเนินการของเคอร์เนลเสาหินคือ ได้เร็วขึ้น เนื่องจากการสื่อสารระหว่างแอปพลิเคชันและฮาร์ดแวร์ถูกสร้างขึ้นโดยใช้ การเรียกระบบ. ในทางตรงกันข้ามการดำเนินการของ microkernel คือ ช้า เนื่องจากการสื่อสารระหว่างแอ็พพลิเคชันและฮาร์ดแวร์ของระบบนั้นถูกสร้างขึ้นผ่าน ที่ผ่านไป.
  4. มันง่ายที่จะขยาย microkernel เพราะบริการใหม่จะถูกเพิ่มในพื้นที่ที่อยู่ของผู้ใช้ที่แยกได้จากพื้นที่เคอร์เนลดังนั้นเคอร์เนลไม่จำเป็นต้องมีการแก้ไข ฝั่งตรงข้ามเป็นกรณีที่มีเคอร์เนลเสาหินถ้าบริการใหม่จะถูกเพิ่มในเคอร์เนลเสาหินแล้วเคอร์เนลทั้งหมดจะต้องมีการแก้ไข
  5. Microkernel เป็นมากกว่า ปลอดภัย กว่าเคอร์เนลเสาหินราวกับว่าบริการล้มเหลวใน microkernel ระบบปฏิบัติการยังคงไม่ได้รับผลกระทบ ในทางตรงกันข้ามถ้าบริการล้มเหลวในเคอร์เนลเสาหินทั้งระบบล้มเหลว
  6. ต้องการการออกแบบเคอร์เนลเสาหิน รหัสน้อยซึ่งจะนำไปสู่ข้อผิดพลาดน้อยลง ในอีกทางหนึ่งการออกแบบ microkernel ต้องการรหัสเพิ่มเติมซึ่ง Furher นำไปสู่ข้อบกพร่องมากขึ้น

สรุป:

Microkernel ช้าลง แต่มีความปลอดภัยและเชื่อถือได้มากกว่าเคอร์เนลเสาหิน เคอร์เนลเสาหินมีความรวดเร็ว แต่ความปลอดภัยน้อยลงเนื่องจากความล้มเหลวในการให้บริการใด ๆ อาจทำให้ระบบล่มได้