שחרור גרסת 0.19 של ליבת Asterinas, שנכתבה ב-Rust ותואמת ל- Linux

פרויקט Asterinas הוציא את גרסה 0.19, ליבה שנכתבה ב-Rust ותוכננה לשימוש במערכות הפעלה כלליות. הליבה מספקת ABI (ממשק בינארי יישומים) התואם לליבה. Linux וניתן להשתמש בו במקום זאת. הפצת Asterinas NixOS, המשלבת את ליבת Asterinas עם סביבת המערכת NixOS, מפותחת במקביל. קוד הפרויקט נמצא בפיתוח מאז 2022 והוא מופץ תחת MPL (רישיון מוזילה ציבורי).

נכון לעכשיו, יש יותר מ-240 קריאות מערכת המיושמות בליבת הגרעין. Linuxהפצת Asterinas NixOS מאומתת לפעולה על גבי ליבת Asterinas עם למעלה מ-100 חבילות NixOS. החבילות הנתמכות כוללות: Xfce, Firefox, bash, systemd, Podman, QEMU, rsync, Apache httpd, nginx, SQLite, Redis, Clang, GCC, Go, Lua, Node.js, OpenJDK, Perl, PHP, Python, Ruby, Rust, Git, FFmpeg, PyTorch, TensorFlow, Ollama, ו-Codex.

הליבה מספקת תמיכה מלאה בארכיטקטורת x86-64, תמיכה חלקית ב-ARM64, RISC-V 64 ו-x86-64 עם בידוד המבוסס על Intel TDX, וכן תמיכה ראשונית בארכיטקטורת LoongArch 64. תחומי יישום בעלי עדיפות כוללים מערכות המבוססות על Linux ABI, אך דורשים רמת אבטחה גבוהה יותר. לדוגמה, Asterinas מוצע לשימוש ביצירת סביבת מערכת מאובטחת. מכונות וירטואליות, לבידוד של טכנולוגיות כגון ARM CCA, AMD SEV ו-Intel TDX, וכן בצד מערכת המארח, מה שמבטיח את השקת הקונטיינרים.

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

רכיבי הליבה ב-Asterinas ממוקמים במרחב כתובות משותף, ואבטחה מושגת באמצעות הפרדה לוגית של קוד מאובטח מקוד שעלול להיות פגיע. הליבה מחולקת לשני חלקים, שניהם כתובים ב-Rust: OS Framework ו-OS Services. OS Services אוסרים על שימוש בבלוקים לא בטוחים, וכל הפעולות ברמה נמוכה הדורשות ביצוע קוד בבלוקים לא בטוחים מועברות ל-OS Framework ונגישות רק דרך API ברמה גבוהה. כל קריאות המערכת, מערכות הקבצים ומנהלי ההתקנים מיושמות ברמת OS Services ואינן יכולות לכלול בלוקים לא בטוחים.

לפיתוח שירותי מערכת ומודולי ליבה, מסופקת ערכת פיתוח מערכת הפעלה (OSDK), המספקת את כלי השירות cargo-osdk ליצירה, בנייה, בדיקה והפעלת רכיבי מערכת הפעלה. מפתחים יכולים גם לגשת לערכת OSTD (ספריית תקנים של מערכת הפעלה), הכוללת מהדורה של ספריות התקן של Rust (crate std) המותאמות לשימוש ברכיבי מערכת הפעלה.

בין השינויים ב-Asterinas 0.19:

  • מערכת המשנה DRM (מנהל רינדור ישיר), התקן /dev/dri, ממשק KMS (הגדרת מצב ליבה) ומנהל ההתקן "modesetting" יושמו, מה שמאפשר השקה של מחסנית גרפיקה סטנדרטית המבוססת על שרת X.Org ו-Mesa, במקום מנהל ההתקן fbdev שהיה בשימוש בעבר, המשתמש במאגר framebuffer.


  • נוספה תמיכה בארכיטקטורת AArch64 (ARM64), המשמשת כעת כארכיטקטורת הפיתוח העיקרית לצד x86-64. רמת תמיכה שנייה יושמה עבור AArch64, המבטיחה פונקציונליות בסיסית, בדיקות אינטגרציה רציפה וכיסוי חלקי של בדיקות.
  • העבודה על התאמת Asterinas להפעלה כמערכת אורחת במכולות Kata ובמכולות סודיות נמשכה. הוצע יישום חדש של Overlayfs שעובר בהצלחה חבילות בדיקה סטנדרטיות של מערכת קבצי ליבה. Linux ו-xfstests. יושם ממשק API חדש להרכבה. קוד virtio-fs התייצב. נוספה תמיכה בפרוטוקולים.
    אתחול ישיר, המשמש ב-QEMU, Cloud Hypervisor ו-Firecracker. זמני האתחול הואצו. מכונות וירטואליות, אשר הזיכרון שלו מוצפן באמצעות טכנולוגיית TDX של אינטל.
  • מסגרת OSTD (ספריית סטנדרטים של מערכת הפעלה) מיישמת API בסיסי ליצירת היפר-ויזורים מינימליסטיים המבוססים על Intel VMX.
  • נוספה תמיכה במודל פיתוח הדרייברים של Rust. נוסף רכיב aster-device עם פונקציונליות המזכירה רכיבי ליבה. Linux עם פרימיטיבים והפשטות בסיסיות לפיתוח דרייברים, אך כתוב ב-Rust ללא קוד לא בטוח.
  • אירוח עצמי אפשרי כעת - כעת ניתן לבנות את ליבת Asterinas מסביבה עם ליבת Asterinas וחבילות NixOS.

מקור: OpenNet.ru

קנה אירוח אמין לאתרים עם הגנת DDoS, שרתי VPS VDS 🔥 קנה אחסון אתרים אמין עם הגנת DDoS, שרתי VPS VDS | ProHoster