הבנת הגישה המיקרו-קרב

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

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

« הקשר היסטורי ואבולוציה

הרעיון של microkernels הופיע בשנות ה-80, כמו חוקרים להתמודד עם המורכבות הגוברת של מערכות הפעלה.ה- Mach kernel באוניברסיטת קרנגי מללון היה אחד הפרויקטים המיקרו-גרעין הקדום והמשפיעים ביותר, המציג רעיונות כגון תקשורת בין-מעבד מבוסס הודעות (IPC) והפרדה של שירותי גרעין למשימות של סביבת המשתמש.

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

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

עקרונות אדריכליים

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

  • (FLT:0) תקשורת בין-מעבד (IPC)FLT:1 כמנגנון העיקרי של רכיבים לאינטראקציה
  • (ב) ,0) ,בייט ותזמון תזמון 1 (FLT:1) כדי לנהל זמן CPU בין משימות ריצה
  • (FLT:0) ניהול זיכרון מינימלי 1 (FLT) בדרך כלל מוגבל לטיפול בחלל וניהול דף
  • (ב) ,0) שלח בין-טרפאט (ב) את מספר 1 של אירועים בחומרה כדי לספק את האירועים המתאימים למטפלים של סביבת המשתמש.

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

תפקיד התקשורת הבין-מעבד

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

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

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

רובוסטנס ו Fault Isolation

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

אבטחה וצמצום התקפת הפנים

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

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

גמישות ושמירה

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

מפתחים יכולים גם ליישם מקרים רבים של אותו שירות עם מדיניות או תכונות ביצועים שונות.לדוגמה, מערכת קבצים בזמן אמת ומערכת קובץ הטוב ביותר של מאמץ יכול להיות coexist, כל אחד מהם משרת דרישות יישום שונות. גמישות זו קשה להשיג בלי kernels מונוליטי ללא מנגנונים מורכבים וטעייה-pro-ne מנגנונים.

אפשרויות ל-Hardware summary

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

אתגרים ומגבלות

ביצועים Overhead

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

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

מורכבות עיצוב ופיתוח מאמץ

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

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

IPC Bottlenecks ו-תכנים

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

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

מונוליטי קרנלים

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

כריות היברידיות

הקרנלים ההיברידיים מנסים לשלב את הטוב ביותר של שני העולמות על ידי שמירה על שירותים מסוימים בחלל הקרנל לביצועים תוך העברת אחרים לחלל המשתמש עבור בידוד. Windows NT, macOS (XNU), ו DragonFly BSD הם דוגמאות של גישה זו. בפועל, הקרנלים היברידיים לעתים קרובות נשענים מאוד לכיוון הצד המונוליטי, עם רוב הנהגים והמערכות שנותרו בחלל הקרנל.

Exokernels ו-Unkernels

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

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

מערכות זמן אמת ומציאות

מיקרונלים מצטיינים בסביבות שבהן אמינות, קביעה ובטיחות הם מכריעים.QNX הוא RTOS מבוסס מיקרונל בתעשיית הרכב, מערכות מידע, מערכות סיוע מתקדמות (ADAS), ויחידות טלמטיות. תכונות בידודו של ה-microkernel הדומיננטיות מבטיח כי התרסקות במערכת הבידור אינה משפיעה על בקרה או ניהול של מכשירים רפואיים, בקרים אוטומציה תעשייתית, ומערכות avionics מסתמכות באופן דומה על תקני מיקרו-קולאריות כדי לעמוד בסטנדרטים קפדניים.

ביטחון גבוה

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

מחקר וחינוך

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

רלוונטיות ודרכים עתידיות

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

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

בחלל הנייד, הקרנל XNU של אפל (היברידי) ו- לינוקס מבוססי לינוקס של גוגל לינוקס מבוססי kernel משלבים תכונות בהשראת מיקרו-קרב כגון נהגים מרחבי משתמשים ושירותים חולפים.The FLT:0MINIX 3FLT:1 ממשיך לפתח כפלטפורמת מחקר עבור מערכות אמין, עצמי מציע מגמות אלה כי הוא מוסיף כי תמשיך לפעול מיקרו-חלל כדי להמשיך לפתח מערכת מחשוב טהורה.

הקרנל הלינוקס עצמו אימצה בהדרגה מושגים דמויי מיקרונל, כולל נהגי חלל משתמשים באמצעות מסגרת המשתמש I / O (UIO), בידוד מכולות באמצעות שמות וקבוצות, ואת המאמץ המתמשך להעביר מערכת קבצים וקוד הנהג לחלל המשתמש. התכנסות זו מעידה כי שיעורי הפרגמטיים של עיצוב מיקרונל נספגים לתוך פיתוח מערכת ההפעלה הזרם המרכזי, אפילו שבו הארכיטקטורה עצמה אינה מאומצת.

המונחים: pragmatic Verdict

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

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