מפתח מציע יישום מחדש של GNU Coreutils ב-Rust 

gnu-coreutils-חלודה

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

סילבסטר לדרו התחיל לעבוד על יישום מחדש של GNU Coreutils ב-Rust במהלך מגיפת COVID-19 והציג אותו בשבוע שעבר במהלך מהדורת 2023 של FOSDEM. המאמץ הנקרא uutils ארוז כעת על ידי הפצות לינוקס רבות ומשמש גם על ידי רשת חברתית מפורסמת באמצעות פרויקט Yocto.

להשוואות של שפות Rust ושפות C++ יש חוט משותף: הדגשת העליונות של Rust על פני C++ מבחינת בטיחות הזיכרון. עורך RisingWave מסביר מדוע הוא כתב מחדש את ה-Cloud DBMS המקורי שלו מאפס ב-Rust לאחר שעזב את פרויקט C++.

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

GNU Coreutils היא חבילה מפרויקט גנו המכיל כלים בסיסיים רבים הדרושים למערכות הפעלה דמויות יוניקס: cp (העתק קובץ או ספרייה), mkdir (צור ספרייה) וכו'. מפתח מציע יישום מחדש בשפת Rust.

אחת המטרות: להפוך את החבילה לשימושית במערכות הפעלה אחרות: Windows, macOS, Android, FreeBSD וכו'. המהלך בא להחיות את הדיון בשאלה האם להמשיך להתחיל פרויקטים חדשים ב-C ו-C++ או פשוט לבחור בשפת Rust.

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

עם זאת, Bjarne Stroustrup לא מסכים שהשוואות בין Rust ו-C++ מגבילות את הרעיון של אבטחת תוכנה לזו של אבטחת זיכרון:

"אין הגדרה אחת למושג 'אבטחה' ונוכל להשיג מגוון סוגי אבטחה באמצעות שילוב של סגנונות תכנות, ספריות תמיכה ועל ידי מינוף ניתוח סטטי. Bjarne Stroustrup מציע אם כן שמה שניתן להשיג מ-C++ מבחינת אבטחת תוכנה תלוי בין היתר במפתח ובפרט בהכרת הכלים שהשפה מציעה, השליטה שלו במהדר וכו'.

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

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

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


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

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

*

*

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