ไมโครเคอร์เนลใน Operaระบบติ้ง: Archiเทคเจอร์ข้อดี
ก่อนที่เราจะเรียนรู้ MicroKernel มาทำความเข้าใจกันก่อน:
เคอร์เนลคืออะไร?
เคอร์เนลเป็นส่วนสำคัญของระบบปฏิบัติการที่จัดการทรัพยากรระบบ นอกจากนี้ยังทำหน้าที่เป็นสะพานเชื่อมระหว่างซอฟต์แวร์และฮาร์ดแวร์ของคอมพิวเตอร์ เป็นหนึ่งในโปรแกรมแรกๆ ที่ถูกโหลดเมื่อเริ่มต้นระบบหลังจากบูตโหลดเดอร์ เคอร์เนลยังรับผิดชอบในการเสนอการเข้าถึงฮาร์ดแวร์ของเครื่องอย่างปลอดภัยสำหรับโปรแกรมต่างๆ นอกจากนี้ยังตัดสินใจว่าแอปพลิเคชันบางตัวจะใช้ฮาร์ดแวร์เฉพาะเมื่อใดและนานแค่ไหน
ไมโครเคอร์เนลคืออะไร?
ไมโครเคอร์เนล คือซอฟต์แวร์หรือโค้ดที่มีฟังก์ชัน ข้อมูล และคุณลักษณะที่จำเป็นขั้นต่ำเพื่อใช้งานระบบปฏิบัติการ ซอฟต์แวร์มีกลไกจำนวนน้อยซึ่งเพียงพอสำหรับใช้งานฟังก์ชันพื้นฐานที่สุดของระบบปฏิบัติการ ซอฟต์แวร์อนุญาตให้นำส่วนอื่นๆ ของระบบปฏิบัติการไปใช้งานได้ เนื่องจากซอฟต์แวร์ไม่มีนโยบายมากมาย
ไมโครเคอร์เนลและสภาพแวดล้อมของผู้ใช้มักจะถูกนำมาใช้ใน C++ or ภาษาการเขียนโปรแกรมซี ด้วยการประกอบเพียงเล็กน้อย อย่างไรก็ตาม ภาษาการใช้งานอื่น ๆ ก็สามารถทำได้ด้วยการเขียนโค้ดระดับสูง
เคอร์เนลเสาหินคืออะไร?
Monolithic Kernel รันบริการระบบพื้นฐานทั้งหมดเช่น การจัดการกระบวนการ, การจัดการหน่วยความจำ, การสื่อสาร I/O และการจัดการการขัดจังหวะ, ระบบไฟล์ ฯลฯ ในพื้นที่เคอร์เนล
ในแนวทางเคอร์เนลประเภทนี้ ระบบปฏิบัติการทั้งหมดจะทำงานเป็นโปรแกรมเดียวในโหมดเคอร์เนล ระบบปฏิบัติการเขียนขึ้นเป็นชุดของขั้นตอนที่เชื่อมโยงกันเป็นโปรแกรมไบนารีที่สามารถทำงานได้ขนาดใหญ่
ไมโครเคอร์เนล Archiเทคเจอร์
ไมโครเคอร์เนลเป็นส่วนที่สำคัญที่สุดสำหรับการนำระบบปฏิบัติการไปใช้อย่างถูกต้อง คุณจะเห็นได้จากแผนภาพด้านล่างว่าไมโครเคอร์เนลทำหน้าที่พื้นฐาน เช่น หน่วยความจำ กลไกการจัดตารางกระบวนการ และการสื่อสารระหว่างกระบวนการ
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:
- การให้บริการในระบบไมโครเคอร์เนลมีราคาแพงเมื่อเทียบกับระบบเสาหินปกติ
- สวิตช์บริบทหรือการเรียกใช้ฟังก์ชันที่จำเป็นเมื่อมีการใช้ไดรเวอร์เป็นขั้นตอนหรือกระบวนการตามลำดับ
- ประสิทธิภาพของระบบไมโครเคอร์เนลอาจไม่แยแสและอาจนำไปสู่ปัญหาบางอย่าง
สรุป
- เคอร์เนลเป็นส่วนสำคัญของระบบปฏิบัติการที่จัดการทรัพยากรระบบ
- ไมโครเคอร์เนลคือซอฟต์แวร์หรือโค้ดที่ประกอบด้วยฟังก์ชัน ข้อมูล และคุณลักษณะขั้นต่ำที่จำเป็นในการใช้งานระบบปฏิบัติการ
- ในแนวทางเคอร์เนลโมโนลิธิก ระบบปฏิบัติการทั้งหมดจะทำงานเป็นโปรแกรมเดียวในโหมดเคอร์เนล
- ไมโครเคอร์เนลเป็นส่วนที่สำคัญที่สุดสำหรับการใช้งานระบบปฏิบัติการอย่างถูกต้อง
- ไมโครเคอร์เนลประกอบด้วยฟังก์ชันหลักของระบบเท่านั้น
- เคอร์เนลเสาหินเป็นกระบวนการขนาดใหญ่ที่ทำงานในพื้นที่ที่อยู่เดียว ในขณะที่ไมโครเคอร์เนลสามารถแบ่งออกเป็นกระบวนการที่แยกจากกันที่เรียกว่าเซิร์ฟเวอร์
- สถาปัตยกรรมไมโครเคอร์เนลมีขนาดเล็กและแยกตัวออกจากกัน จึงสามารถทำงานได้ดีกว่า
- การให้บริการในระบบไมโครเคอร์เนลมีราคาแพงเมื่อเทียบกับระบบเสาหินปกติ