← English articles
English · technology · advanced · 184 words · ~1 min

Operating System Kernel Design

การออกแบบเคอร์เนลระบบปฏิบัติการ
Operating System Kernel Design

The kernel is the privileged core of an operating system that manages hardware resources and enforces isolation between user processes.

, .
เคอร์เนลคือชั้นต่ำสุดของระบบปฏิบัติการ ทำงานด้วยสิทธิ์ฮาร์ดแวร์เต็มรูปแบบ
, , , .
มันเป็นตัวกลางในการเข้าถึง CPU หน่วยความจำ และอุปกรณ์ต่อพ่วง รวมทั้งให้ system call เป็นส่วนต่อประสานทางกฎหมายเพียงอย่างเดียวระหว่างโปรแกรมใน user space กับฮาร์ดแวร์
, , , , , .
monolithic kernel เช่นที่ Linux ใช้ รัน service หลักทั้งหมด ได้แก่ scheduler ระบบไฟล์ device driver และ networking stack ในพื้นที่ address เดียวที่มีสิทธิ์
, .
การออกแบบนี้รวดเร็วเพราะ subsystem สื่อสารผ่าน function call โดยตรง แต่บั๊กใน driver ใด ๆ อาจทำให้ระบบทั้งหมดล่มได้
, .
microkernel ย้าย service ส่วนใหญ่ไปไว้ใน server ใน user space โดยสื่อสารผ่านการส่งข้อความ
; .
การแยกส่วนนี้ช่วยเพิ่มความทนทานต่อความผิดพลาดและความปลอดภัย แต่แลกกับค่าใช้จ่ายในการสื่อสารระหว่างกระบวนการ Minix 3 และ seL4 ใช้แนวทางนี้
.
subsystem หน่วยความจำเสมือนจับคู่แต่ละกระบวนการกับ address space ของตัวเองโดยใช้ page table
, , .
MMU บังคับใช้การจับคู่เหล่านี้ในฮาร์ดแวร์ ดังนั้นกระบวนการหนึ่งจึงไม่สามารถอ่านหรือเขียนทับหน่วยความจำของอีกกระบวนการได้ ซึ่งเป็นรากฐานของการแยกกระบวนการ
, , , .
ตัวกำหนดตารางงานตัดสินใจว่าเธรดใดทำงานบนคอร์ CPU ใดในแต่ละขณะ โดยสร้างสมดุลระหว่างปริมาณงาน เวลาแฝง และการใช้พลังงาน ด้วยอัลกอริทึมเช่น Completely Fair Scheduler ใน Linux
colour key NounVerbAdjectiveAdverbPronounParticleConjunctionDeterminer