מהי אדריכלות מיקרונל?

מערכות הפעלה Embedd יוצרות את עמוד השדרה של אינספור מכשירים, החל מבקרים תעשייתיים ו-ECUs לרכבים רפואיים ורכיבי צריכה.האדריכלות שנבחרה עבור מערכות אלה משפיעות ישירות על אבטחה, אמינות ותחזוקת לטווח ארוך. בין פרדיגמות העיצוב הזמינות, אדריכלות מיקרונל עומדת על הגישה המינימליסטית והתכונות בידוד החזקות שלה.

הרעיון חוזר לשלהי שנות ה-80 והבתחילת שנות ה-90, עם עבודה חלוצת על מאך, L4 ו-MINX. מאז, מיקרו-קרנלים התפתחו באופן משמעותי, שילוב לקחים שנלמדו על ביצועים מעל הראש והפריסה מעשית.מיקרו-קרבים מודרניים כמו sL4, L4/Fiasco, ו- QNX השיגו רמות ביצועים יעילות מבחינה מסחרית תוך שמירה על תכונות אבטחה מוכחות מתמטיות במיוחד.

היתרונות העיקריים של ארכיטקטורת מיקרונל

אבטחה מוגברת באמצעות בידוד

היתרון המיידי ביותר של מיקרונל הוא היציבה הביטחונית שלו.בגלל נהגים, ערימות רשת, ומטפלים במערכת הקבצים לרוץ כמו תהליכי משתמש לא-פרטיים, פגיעת כל אחד מהם אינה יכולה להתפשר ישירות על הקרנל או שירותים אחרים.הגרעין האשפה גישה קפדנית באמצעות מנגנוני IPC, כך שנהג נפגע אינו יכול לחדור זיכרון גרעין או תהליך אחר ללא אישורים רפואיים, הוא אפילו סודיות, במיוחד, אם יש צורך בהתקפות אבטחה או שימוש מרחוק, או במנגנוני חומצה פיזית, או חסימתינה, כמו גם כן, או חסומים, או חסומים, או חסימתם, או שימוש.

יתר על כן, פני השטח התוקפים שנחשפו על ידי מיקרונל קטן באופן דרמטי מזו של גרעין מונוליטי.מכיוון שהגרעין עצמו מכיל רק כמה אלפי שורות קוד (לעומת מיליונים בלינוקס או ב- Windows), מספר באגים פוטנציאליים או אחוריים הוא מופחת מאוד.זה הופך את מערכות מיקרו-קרב מבוססות בחירה מצוינת עבור יישומים הדורשים הסמכה כנגד 26262au (ל-) או קוד (pa) שבו יש צורך לשמור על קוד ביקורת (C-17C).

שיפור יציבות וגמישות

יציבות היא עוד יתרון בולט.במערכת מונוליטית משובצת, נהג התקן פגומים יכול לקרוס את המערכת כולה כי היא פועלת בחלל הקרנל.עם מיקרו-קרבנל, התרסקות נהג רק מסתיימת כי תהליך שירות ספציפי.הגרעין יכול לאחר מכן לחדש את המנוע באופן אוטומטי, או המערכת יכולה להמשיך לפעול במצב מלוטש אך פונקציונלי.

העיצוב המודולארי מפשט עוד ועוד בדיקות תגמול ובדיקה.מפתחים יכולים לבדוק כל שירות בבידוד עם כלי טיהור של משתמשים, ובדיקות רגרסיה יכולות לפעול באופן עצמאי.זה מוביל לאמינות כללית גבוהה יותר, כי כל רכיב הוא אימות קפדני לפני שילוב.עבור מערכות משובצות עם מחזורי חיים ארוכים (למשל, לווייני או שתלים רפואיים), היכולת להחליף תקלה ללא שינוי משמעותי של שירות תחזוקה.

גמישות ו Scalability

ארכיטקטורות מיקרונל מצטיינים בתרחישים שבהם מערכת ההפעלה חייבת להיות מותאמת לדרישות חומרה ויישומים מגוונים.כי שירותים המנוהלים כתהליכים עצמאיים, מפתחים יכולים לערבב ולתאיב רכיבים: לוח זמנים בזמן אמת של ספק אחד, מערכת קבצים מותאמת אישית של אחר, או ערימה רשת קניינית. זה תאימות מאפשר למערכות משובצות כדי להתאים את המיקרובקרים זעירים עם קילויטים של RAM למעבדים רבי עוצמה.

לדוגמה, חיישן חכם עשוי להפעיל מיקרונל מינימלי עם רק נהג סדרתי וסופרטור זיכרון פשוט, בעוד מערכת מידע רכב יכול להוסיף קודים אודיו, קומפוטורי גרפיקה, וערימה רשת. גמישות זו מקטין זמן לשוק כי מפתחים יכולים להשתמש באותו גרעין על פני משפחות מוצר ופשוט להוסיף שירותים לפי הצורך.

השוואת ארכיטקטורות מיקרונל ומונוליטיות

כדי להעריך את היתרונות של microkernel, זה עוזר להשוות אותו עם הגישה מונוליטית הקרנל השולטת מערכות הפעלה מטרות כלליות. in an monolithic kernel כמו לינוקס, כל נהגי המכשיר, מודולי מערכת הקבצים, וערימות פרוטוקולים לרוץ בחלל הקרנל עם גישה חומרה מלאה.עיצוב זה הציע ביצועים מעולים כי תקשורת בין-מעבד על פני נמנע.

הבורסות מאוזנות באופן שונה בהתאם לדומיינים של היישום. Monolithic kernels לספק ערכות תכונה עשירות ותמיכה חומרה רחבה מתוך הקופסה, אשר מועיל עבור מכשירים לינוקס מוטבע סחורות.אבל עבור אבטחה קריטי, אבטחה גבוהה, או מערכות משובצות אולטרה-מטורפות, באמצעות בידוד של מיקרונל או בסיס מחשוב מינימלי אמין לעתים קרובות עולה על עונש הביצועים הקל.

שיקולים

ביקורת היסטורית אחת על microkernels היא שהם נכנסים IPC מעל פני השטח כי שירותים חייבים לתקשר על פני גבולות תהליך.ביישומים מוקדמים, מתגי ההקשר והנתונים העתקה בין תהליכים של המשתמש יכול להוסיף מיקרו-שניות של עצלות ל invocation - בלתי ניתן להשיג עבור פעולות קידוד גבוה כמו חפיסות קדימה או הזרמת אודיו.

לדוגמה, משפחת L4 microkernel השיגה את ה- IPC תחת 20 ננו-שניות על חומרה מודרנית על ידי אופטימיזציה של מעבר הקשר ושימוש מתג תהליך ישיר נתמך על ידי הדבקה מינימלית של cache.בנוסף, הביצועים יכולים להיות משופרים על ידי שילוב שירותים שיתופיים באותו מרחב הכתובת (בזמן עדיין לשמור אותם בנפרד מהגרעין המוטבע למעשה ממערכות מיקרונלים חד-תמיים רבים של קודמים בזמן אמתיות, כי הם יכולים למנוע את המסלולים מורכבים יותר מאשר מסלולים מורכבים יותר של תרחישים מורכבים של תרחישים מורכבים יותר.

Benchmarks על חומרה מוטבעת טיפוסית (ARM Cortex-A, RISC-V, או אפילו MCU-class מכשירים) מראה כי ההבדל בין microkernel מאויש היטב לבין גרעין מונוליטי הוא רשלני עבור רוב עומסי העבודה.הגבול המעשי הוא לעתים קרובות I / או לוח רוחב פס זיכרון ולא לינל IPC עבור מערכות הגלום שבו הם מיקרו-אוויריים חשובים יותר, כלומר, באמצעות מחשביקטים, הם הרבה יותר, כלומר, הם מחשבים רפואיים, הם לעתים קרובות יותר אמין, מאשר מחשביקטים, מאשר מחשביקטים, מאשר מחשביקטים, וצפוניים, מאשר מחשביקטים חשובים יותר, מאשר מחשבי תיבות של אלקטרו-אורטיים חשובים יותר, מאשר מחשביטיסטיים, מאשר מחשביטיסים חשובים, מאשר לוח זמנים, מאשר לוח זמנים, מאשר לוח זמנים, מאשר רוחב פס זיכרון גבוה יותר, מאשר דרך רוחב פס זיכרון גבוה יותר, מאשר I.

אתגרים ומסחר

למרות היתרונות שלהם, microkernels הם לא הפניה אוניברסלית. הם מציגים מורכבות בצורה של ניהול שירות של משתמשים-space: מפתחים חייבים ליישם שרתים עבור נהגים למכשירים, מערכות קבצים ושירותים אחרים, אשר יכול להגדיל את מאמצי הפיתוח הראשוניים.מנגנון IPC עצמו חייב להיות מתוכנן בקפידה כדי למנוע ממלכודות מתות, עדיפות בהסחות, או הכחשה של התקפות שירות בין שירותים נוספים, ובכך לפענוח מערכת הפעלה של חלל חד-פעמי של כל אחד של תהליכים חד-פעמיים מאתגרים יותר מאשר פתרון אחד של מערכת הפעלה.

אתגר נוסף הוא זמינות נהיגה. Mainstream מוטבע מערכת אקולוגית כמו לינוקס יש ספריות עצומות של נהגים נבדקים.עבור מיקרו-קרבנים, במיוחד נישה, בריכת הנהג היא קטנה יותר, לעתים קרובות הדורשת פיתוח מותאם אישית או יציאה.זה יכול להגדיל את העלות ההנדסית לפרויקטים שמבוססים על חומרים אקזוטיים.עם זאת, פרויקטים מיקרו-קרב כמו Genode ו-SilL4 פיתחו מסגרות המאפשרות לא לינוקס בפלטפורמות של משתמשים, ממריצים.

לבסוף, ערבויות בזמן אמת דורשות תכנון זהיר של מדיניות ה- IPC ותזמון.בעוד מיקרו-קרנלים יכולים להשיג ביצועים מצוינים בזמן אמת, הם דורשים שמעצבי המערכת עונים על סמך עדיפות על פני גבולות השירות.טכניקות כגון ירושה עדיפות ב- IPC והשימוש בכיתות תזמון בזמן אמת עבור שירותים קריטיים הם הכרחיים כדי למנוע חסימתם ללא מענה.

יישומים אמיתיים ומקריות

ארכיטקטורות מיקרונל כבר הוכיחו את עצמם בסביבות מוטבעות תובעניות.הדוגמאות הבאות ממחישות את רוחב הפריסה שלהם:

  • (FLT:0)Automotive Systems:FLT:1 QNX Neutrino, מיקרו-קרב RTOS, משמש במערכות מתקדמות של ניהול נהגים (ADAS) וקבצי מכשירים מיצרנים גדולים.הבידוד שלו מבטיח כי כשל במערכת המידע אינו משפיע על מודולים מתקדמים של סטרימינג או מנוע בקרה.
  • (FLT:0) מרחב והגנה: FLT:1 , המיקרו-גרעין של ה-SL4 אומד באופן רשמי לאכוף את תכונות האבטחה, מה שהופך אותו מתאים עבור מערכות צבאיות מסווגות, avionics עופות על ידי זבובים, וטלמטארי לוויין.
  • (FLT:0) מכשירים רפואיים: FLT:1 משאבות אינפוזיה ניתנות לתוכנת, אוורורים, ופריבריטורים מסתמכים על מיקרונל OSes עבור תפעול והתנגדות לפגיעות נתונים של המטופל.הבידוד בין שירותי רשת לווילאות בקרה מונע תוקף מרחוק מטלפן עם פרמטרים.
  • (FLT:0)Industrial IoT:FLT:1 Edge שערי חיישן מצטברים נתונים ומבצעים לוגיקה שליטה לעתים קרובות משתמשים במערכות מבוססות מיקרו-קרב כדי להבטיח זמן רב.אם נהג אלחוטי, שאר השער ממשיך לתפקד, והנהג יכול להיות מופעל מחדש ללא התערבות אנושית.
  • (FLT:0)Consumer Electronicseur: 1FLT:1 כמה טלפונים חכמים וטאבלטים מתקדמים השתמשו ב ⁇ מאובטחים מבוססי מיקרונל כדי להגן על נתונים ביומטריים ומפתחי הצפנה.ההפרדה דמוית TrustZone מבוצעת באמצעות מיקרונל קטן שפועל במצב מיוחס.

מגמות עתידיות ופיתוח

הגישה המיקרו-גרעין צוברת מתחווצות כדרישות אבטחה ובטיחות מתדקות בכל התחומים המוטבעים.מגמות מסוימות מאיצות אימוץ:

  • (FLT:0) הגשמה פורמאלית כתושב: ההרחבה: (FLT:1) כלים כמו מוכיח משפט איזבל /HOL עשו את זה מעשי כדי לאמת לא רק את הקרנל אלא גם את שירותי החלל הקריטיים של המשתמש.
  • (FLT:0) Hybrid וירטואליזציה:FLT:1 מיקרו הקרנלים משמשים יותר ויותר כמו Hypervisor מסוג-1, אירוח מספר מערכות הפעלה (למשל, לינוקס, RTOS) כמחלקי אורח.זה מאפשר לחברות לגבש עומסי עבודה מעורבים על פלטפורמת חומרה אחת תוך שמירה על בידוד חזק.
  • (FLT:0RISC-V ו- Open Hardware:BuildFLT:1) ארכיטקטורת Open RISC-V היא התאמה טבעית למיקרו-קרבים מכיוון שהיא מאפשרת חומרה-תוכנות אבטחה כמו הגנה על זיכרון ופרימי תקשורת בין-core.פרויקטים כמו נמל ה- RISC-V מבוסס SL4 הם חקרו תמיכה עמוקה יותר לבידוד.
  • שפות בטיחות מזכרות: עלייתו של ראט ושפות בטוחות זיכרון אחרות מאפשרת למפתחים לכתוב שירותים של משתמשים עם פחות באגים.שלבים את הרקט עם בידוד של מיקרונל לייצר מערכת עם הגנה לעומק נגד ניצולי זיכרון.
  • (FLT:0)Edge AI ו- Real-Time Inference:cioFLT 1 as משובצ מכשירים לבצע למידת מכונה בהקצאה מקומית, הצורך בעקביות צפויה ובגדילות בידוד מודל מאובטח יכול לחלק מנועי הקצוץ, אחסון נתונים, ולופות בקרה כדי לעמוד בדרישות התזמון והפרטיות.

מסקנה

אדריכלות מיקרונל מציעה מערך משכנע של הטבות עבור מערכות הפעלה משובצות: אבטחה משופרת באמצעות בידוד חזק, שיפור יציבות על ידי המכיל תקלות, וגמישות המאפשר התאמה אישית בטווח רחב של פרופילי חומרה ויישום.היישומים המודרניים להתגבר על רבים של האובייקטים ההיסטוריים ביצועים, מה שהופך אותם תחרותי עם גרעין מונוליטי אפילו בתחומים רגישים ביצועים. בעוד הגישה מציגה אתגרים משלה, כגון נהיגה ועיצוב, מורכבות, מיקרו-L4 לינוקס, כולל תוכניות מתקדמות יותר ויותר.

ככל שמערכות משובצות הופכות יותר מחוברות, אוטונומיות, קריטיות בטיחותיות, היכולת להבטיח את הנכונות, למנוע כשלים מתקפלים, ולשמור על יכולת שמירה לטווח ארוך רק תגדל בחשיבותן.אדריכלות מיקרונל אינן פתרון בגודל אחד לכל פתרון, אבל עבור יישומים שבהם אבטחה, אמינות, הסתגלות הן חששות ראשוניים, הן מייצגות בחירה מוכחת ועתידית של צוות המומחים שלהם, במיוחד, אם הם צריכים לשקול את האפשרויות של המוצר, במיוחד, אם הם מתאימים, כמו גם לחיקוי חזק, או לחיקוי, במיוחד, אם הם, כמו גם לחיקוי, כמו גם מערכות עבודה ממוקדת, או לחיקוי, כמו גם, כמו גם, אם הם, כמו גם, כמו גם, כמו גם על בסיס קבוע, כמו גם על בסיס קבוע, תכונות, תכונות, אם הן, תכונות מורכבות, או יכולת עבודה, כמו גם על בסיס אחריות, תכונות, כמו גם, אם הן, תכונות מורכבות, תכונות מורכבות, כמו גם על בסיס קבועות, כמו גם, תכונות מורכבות, כמו גם, כמו גם לגבי אבטחה, כמו גם לגבי מערכות עבודה, תכונות מורכבות, תכונות מורכבות, כמו גם, כמו גם על בסיס קבועות, כמו גם, כמו גם, תכונות מורכבות, כמו גם, כמו גם על בסיס קבועות, אם הן, תכונות מורכבות