ไมโครเคอร์เนลใน Operaระบบติ้ง: Archiเทคเจอร์ข้อดี

ก่อนที่เราจะเรียนรู้ MicroKernel มาทำความเข้าใจกันก่อน:

เคอร์เนลคืออะไร?

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

ไมโครเคอร์เนลคืออะไร?

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

ไมโครเคอร์เนลและสภาพแวดล้อมของผู้ใช้มักจะถูกนำมาใช้ใน C++ or ภาษาการเขียนโปรแกรมซี ด้วยการประกอบเพียงเล็กน้อย อย่างไรก็ตาม ภาษาการใช้งานอื่น ๆ ก็สามารถทำได้ด้วยการเขียนโค้ดระดับสูง

เคอร์เนลเสาหินคืออะไร?

Monolithic Kernel รันบริการระบบพื้นฐานทั้งหมดเช่น การจัดการกระบวนการ, การจัดการหน่วยความจำ, การสื่อสาร I/O และการจัดการการขัดจังหวะ, ระบบไฟล์ ฯลฯ ในพื้นที่เคอร์เนล

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

ไมโครเคอร์เนล Archiเทคเจอร์

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

ไมโครเคอร์เนล Archiเทคเจอร์
อิงจากไมโครเคอร์เนล Operaระบบ ting

Microkernel เป็นซอฟต์แวร์เดียวที่ทำงานในระดับสิทธิพิเศษ ฟังก์ชันที่สำคัญอื่นๆ ของระบบปฏิบัติการจะถูกลบออกจากโหมดเคอร์เนลและทำงานในโหมดผู้ใช้ ฟังก์ชันเหล่านี้อาจเป็นไดรเวอร์อุปกรณ์ แอปพลิเคชัน ไฟล์เซิร์ฟเวอร์ การสื่อสารระหว่างกระบวนการ ฯลฯ

ส่วนประกอบของไมโครเคอร์เนล

ไมโครเคอร์เนลประกอบด้วยฟังก์ชันหลักของระบบเท่านั้น ส่วนประกอบจะรวมอยู่ใน Microkernel เฉพาะในกรณีที่การวางไว้ด้านนอกจะขัดขวางการทำงานของระบบ ส่วนประกอบที่ไม่จำเป็นอื่นๆ ทั้งหมดควรอยู่ในโหมดผู้ใช้

ฟังก์ชันขั้นต่ำที่จำเป็นใน Microkernel คือ:

  • การจัดการหน่วยความจำ กลไกเช่นช่องว่างที่อยู่ควรรวมอยู่ใน Microkernel นอกจากนี้ยังมีคุณสมบัติการป้องกันหน่วยความจำ
  • กลไกการกำหนดเวลาตัวประมวลผลควรมีตัวกำหนดเวลากระบวนการและเธรด
  • การสื่อสารระหว่างกระบวนการจัดการเซิร์ฟเวอร์ที่ใช้พื้นที่ที่อยู่ของตนเอง

ความแตกต่างระหว่างไมโครเคอร์เนลและเคอร์เนลเสาหิน

พารามิเตอร์ เคอร์เนลเสาหิน ไมโครเคอร์เนล
ขั้นพื้นฐาน เป็นกระบวนการขนาดใหญ่ที่ทำงานในพื้นที่ที่อยู่เดียว สามารถแบ่งออกเป็นกระบวนการแยกกันที่เรียกว่าเซิร์ฟเวอร์
รหัส ในการเขียนเคอร์เนลเสาหิน จำเป็นต้องใช้โค้ดน้อยลง ในการเขียนไมโครเคอร์เนล จำเป็นต้องมีโค้ดเพิ่มเติม
⁠ความปลอดภัย หากบริการขัดข้อง ระบบทั้งหมดจะพังในเคอร์เนลเสาหิน หากบริการขัดข้อง จะไม่ส่งผลกระทบต่อการทำงานของไมโครเคอร์เนล
การสื่อสาร เป็นไฟล์ไบนารีแบบสแตติกไฟล์เดียว เซิร์ฟเวอร์สื่อสารผ่าน IPC
ตัวอย่าง Linux, BSD, Microsoft Windows (95,98 ฉัน) Solaris, OS-9, AIX, DOS, XTS-400 ฯลฯ L4Linux, QNX, SymbianK42, Mac OS X, Integrityฯลฯ

ข้อดีของไมโครเคอร์เนล

นี่คือข้อดี/ประโยชน์ของการใช้ Microkernel

  • สถาปัตยกรรมไมโครเคอร์เนลมีขนาดเล็กและแยกตัวออกจากกัน ดังนั้นจึงสามารถทำงานได้ดีขึ้น
  • ไมโครเคอร์เนลมีความปลอดภัย เนื่องจากมีเพียงส่วนประกอบที่รวมอยู่ซึ่งจะรบกวนการทำงานของระบบเท่านั้น
  • การขยายระบบสามารถเข้าถึงได้มากขึ้น จึงสามารถเพิ่มลงในแอปพลิเคชันระบบได้โดยไม่รบกวนเคอร์เนล
  • ไมโครเคอร์เนลเป็นแบบแยกส่วน และโมดูลต่างๆ สามารถเปลี่ยน โหลดใหม่ และแก้ไขได้โดยไม่ต้องสัมผัสเคอร์เนลด้วยซ้ำ
  • ระบบล่มน้อยลงเมื่อเปรียบเทียบกับระบบเสาหิน
  • อินเทอร์เฟซ Microkernel ช่วยให้คุณสามารถบังคับใช้โครงสร้างระบบแบบแยกส่วนได้มากขึ้น
  • เพิ่มคุณสมบัติใหม่โดยไม่ต้องคอมไพล์ใหม่
  • ความผิดปกติของเซิร์ฟเวอร์ยังถูกแยกออกจากการทำงานผิดปกติของโปรแกรมผู้ใช้อื่นๆ
  • ระบบไมโครเคอร์เนลมีความยืดหยุ่น ดังนั้นกลยุทธ์และ API ที่แตกต่างกันจึงถูกนำไปใช้โดยเซิร์ฟเวอร์ที่แตกต่างกัน ซึ่งสามารถอยู่ร่วมกันในระบบได้
  • ความปลอดภัยและความเสถียรที่เพิ่มขึ้นจะส่งผลให้จำนวนโค้ดที่ทำงานในโหมดเคอร์เนลลดลง

ข้อเสียของไมโครเคอร์เนล

นี่คือข้อเสียเปรียบ/ข้อเสียของการใช้ Microkernel:

  • การให้บริการในระบบไมโครเคอร์เนลมีราคาแพงเมื่อเทียบกับระบบเสาหินปกติ
  • สวิตช์บริบทหรือการเรียกใช้ฟังก์ชันที่จำเป็นเมื่อมีการใช้ไดรเวอร์เป็นขั้นตอนหรือกระบวนการตามลำดับ
  • ประสิทธิภาพของระบบไมโครเคอร์เนลอาจไม่แยแสและอาจนำไปสู่ปัญหาบางอย่าง

สรุป

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