Tilck Project, ליבה מפושטת התואמת ללינוקס

תִקתוּק

Tilck הוא גרעין x86 מונוליטי חינוכי שנועד להיות תואם ללינוקס ברמה הבינארית.

הידיעה פורסמה על א פיתוח חדש בעל השם «פרויקט Tilck», שבו עובד VMware מפתח ליבה מונוליטית השונה מהותית מ-Linux, אך תוכננה להיות תואמת בינארי עם לינוקס ומסוגל להריץ יישומים שנבנו עבור לינוקס.

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

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

קוד פשוט יותר (ללא ספק)
הגודל הבינארי הקטן ביותר
התנהגות דטרמיניסטית ביותר
חביון נמוך במיוחד
פיתוח ובדיקה קלים יותר
חוסן נוסף

proyecto אל לא מיועד לשימוש בסביבות שרתים מרובות משתמשים או מערכות שולחניות. מבין מערכות הקבצים, FAT16 ו-FAT32 נתמכים במצב קריאה, וכך גם ramfs, devfs ו-sysfs. התקני חסימה עדיין לא יושמו; הכל בזיכרון.

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

הקרנל תומך בריבוי משימות מונע ומיישם כ-100 שיחות בסיסיות. למערכת לינוקס, כגון fork(), waitpid(), read(), write(), select() ו-pol(), אשר מספיקים להפעלת יישומי קונסול כגון BusyBox, Vim, TinyCC, Micropython ו-Lua, כמו גם יישומים גרפיים מבוססי framebuffer כמו המשחק fbDOOM. כדי ליצור תוכניות עבור Tilck, מסופק סט כלים המבוסס על ספריית Musl.

מוזכר ש ערכת הדרייברים המוצעת מאפשרת להפעיל את Tilck הן בסביבת QEMU כמו במערכות קונבנציונליות באתחול מכונן USB. בנוסף לכך, יש לציין גם שיש תמיכה בערכות הוראות מורחבות SSE, AVX ו-AVX2. הוא מציע מעמיס אתחול אינטראקטיבי משלו התומך במערכות BIOS ו-UEFI, אך ניתן גם להשתמש במעמיסי אתחול של צד שלישי כגון GRUB2. כאשר הוא נטען לתוך QEMU, הליבה יכולה לפעול בסביבה עם 3 MB של זיכרון RAM.

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

בעוד Tilck משתמש באופן פנימי במושג של שרשור, ריבוי השרשורים אינו חשוף כעת למרחב המשתמש (קיימים שרשורי ליבה, כמובן). גם fork() וגם vfork() מיושמים בצורה נכונה והעתק-על-כתיבה משמש לתהליכים מפוצלים. קריאת המערכת waitpid() מיושמת במלואה (מה שמרמז על קבוצות תהליכים וכו').

תכונה מעניינת אחת בתחום זה ראויה להתייחסות מיוחדת: למרות היעדר ריבוי הליכי שרשורים של מרחבי המשתמש, ל-Tilck יש תמיכה מלאה ב-TLS.

זה צפוי כי תִקתוּק לגשר על הפער בין פתרונות מבוססי ליבת לינוקס ומערכות הפעלה ייעודיות בזמן אמת, כמו FreeRTOS ו-Zephyr. התוכניות כוללות העברה של Tilck למעבדי ARM ומעבדי יחידת ניהול שאינם זיכרון (MMU), הוספת תת-מערכת רשת, תמיכה בהתקני בלוק ומערכות קבצים נוספות כמו ext2.

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

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


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

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

*

*

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