חלודה לא היה פטור מהביקורת של לינוס טורוואלדס

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

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

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

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

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

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

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

מיפוי כשלים בבקר או בקוד שאינו ליבה, וזה עבור
הגדרה, כל קוד החלודה החדש, לעולם לא יכול לגרום
לבהלה בתוקף. כנ"ל לגבי «אה, בחלק מהמקרים לא ניסיתי להשתמש ב
מספרים שלמים של 128 סיביות או נקודה צפה '.

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

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

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

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

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

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

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

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

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


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

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

*

*

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

  1.   מיגל רודריגס דיג'ו

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

  2.   סאט דיג'ו

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