HermiTux: יחידת ייחודי בינארית התואמת ליישומי לינוקס

הרמיטוקס

קבוצת חוקרים מאוניברסיטת פוליטכניקה בווירג'יניה (ארה"ב), האוניברסיטה הטכנית של קוואלקום ואאכן ריין-וסטפאליה (גֶרמָנִיָה) הם מתפתחים הליבה הקלה הרמיטוקס, המקביל לפרדיגמה הייחודית.

HermiTux הוא נועד לאפשר הפעלת יישומים ישירות ב- hypervisor ללא צורך בשכבות נוספות, המספק תאימות בינארית ליישומי לינוקס ברמת ABI.

קוד HermiTux הוא כתוב בשפת התכנות C והוא מופץ ברישיון BSD.

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

עם זה זה מאפשר לך להפעיל במהירות יישומים ב- hypervisor: זמן ההתחלה אינו עולה על 0,1 שניות.

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

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

על HermiTux

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

בשלב הנוכחי של פיתוח HermiTux, זה מיישם 83 שיחות מערכת. בסך הכל, הליבה של לינוקס מספקת יותר מ -350 שיחות מערכת, אך רק חלק קטן מהן משמשות ביישומים אמיתיים (כדי לכסות 90% מתוכניות ההפצות הרגילות, מספיק ליישם 200 שיחות מערכת) .

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

ליישומים הקשורים סטטית, ניתן להחליף הצהרות syscall בקריאות פונקציות בקובץ הפעלה.

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

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

הרמיטוקס

תכונות HermiTux

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

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

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

היישום פועל במרחב כתובות משותף (HermiTux נועד לפעול על גבי יישום יחיד של יישומים).

ניתנת תמיכה בסיסית בהברגה (Pthreads Embedded).

כמערכת קבצים, MiniFS מוצע, בהם קבצים ממוקמים ב- RAM (דיסק RAM) וכמה אלמנטים של מערכות קבצים וירטואליות (/ dev / zero, proc / cpuinfo וכו ') מדומים.

מחסנית TCP / IP מבוססת על פרויקט LWIP, וגרסה שונה של פרויקט Musl משמשת כספריית C רגילה.

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

קישור לפרויקט.


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי לנתונים: מיגל אנחל גטון
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.