Rust ומערכות משובצות מחשב (Embedded Systems)

קורס Rust

תאריך פתיחה: TBD
משך הקורס: 35 שעות לימוד (7 מפגשים)
ליווי אישי וייעוץ קריירה לאורך כל הדרך
RUST

קורס Rust

על הקורס

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

Rust בתחומים נוספים

  • מערכות הפעלה: Rust נכנסה רשמית לקרנל לינוקס (מגרסה 6.1).
  • דפדפנים: פותחה ב-Mozilla לשיפור Firefox, וחלקים ממנו נכתבים מחדש ב-Rust.
  • Backend: ספריות כמו Rocket ו-Actix מאפשרות בניית שרתי Web מהירים ובטוחים.
  • פיתוח משחקים: מנוע Bevy נכתב ב-Rust.
  • מערכות קריטיות: שימוש נרחב בסייבר, רכב אוטונומי ו-IoT בזכות בטיחות וביצועים.

השוואה בין ‎Rust‏, ‎C++‏ ו-‎C

מאפיין Rust C++ C
בטיחות זיכרון מנגנון ownership מונע גישה לא חוקית ו-dangling pointers בזמן קומפילציה. בטוחה יותר בגרסאות מודרניות, אך פחות מ-Rust. אין מנגנון פנימי; אחריות המפתח.
ניהול משאבים (RAII) ברירת מחדל – אובייקטים נסגרים בבטחה. קיים דרך destructor. ניהול ידני.
טיפול בשגיאות Result ו-Option מחייבים טיפול מפורש. exceptions עשויים ליצור בעיות. לרוב קודי שגיאה.
תמיכה במקביליות בטיחות קומפילציה – ללא data race. בדומה ל-C – נדרשת זהירות רבה. קל להיכנס ל-race conditions.
ביצועים ברמה של C/C++ עם zero-cost abstractions. מהירה מאוד. כמו C++.
מודרניות תחביר נקי ומודרני. תחביר מורכב; עם פיצ'רים מודרניים. תחביר ותיק ופחות מודרני.
אקוסיסטם צעיר אך צומח במהירות. עשיר, אמין וותיק. בדומה ל-C++.
private lessons

למה כדאי ללמוד RUST ?

  • בטיחות זיכרון – מנגנון Ownership ובודק Borrow מונעים Data races.
  • ביצועים גבוהים – Zero-cost abstractions ברמת C/C++.
  • שליטה מלאה בזיכרון – ללא Garbage Collector.
  • תמיכה במקביליות – שימוש בטוח ב-Threads.
  • אקוסיסטם מתפתח – חבילות רבות נתמכות.
private lessons

מה לומדים בקורס RUST?

מטרת הקורס

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

private lessons

למי מיועד הקורס?

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

private lessons

תנאי קבלה

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

מיומנויות וטכניקות

  • יסודות Rust (Ownership, Traits, Enums)
  • שגיאות + טסטים
  • Embedded: ‎no_std + קומפילציה ל-ARM/RISC-V
  • חומרה: דרייברים (I2C/SPI/UART) + אינטרפטים/טיימרים
  • מקביליות: RTOS/async (FreeRTOS/Embassy)
  • ניפוי + אופטימיזציה (probe-rs/defmt, LTO)

מבנה הקורס

פרק 1

היכרות עם Rust

פרק 2

תכנות מונחה עצמים

פרק 3

תכנות מקבילי

פרק 4

מערכת ההפעלה FreeRTOS

פרק 5

תקשורת אלחוטית

פרק 6

שימוש בשירותים חיצוניים

Head of the department
teacher-image-בני-כהן

על המרצה

בני כהן

מנכ"ל ומייסד Real Time Group

  • בעל תואר שני M.Sc בהנדסת תקשורת.
  • תואר ראשון (BScTE) בהנדסת אלקטרוניקה.
  • מרצה וראש תחום קורס Real Time Embedded ב-RT-Group.
  • בעל ניסיון של מעל 20 שנה בפיתוח והדרכת מערכות RT Embedded Linux לחברות Enterprise, הביטחוניות ו- Startups המובילות בעולם.

מה מספרים בוגרי המכללה?

תשובות לשאלות נפוצות

מה היתרונות המרכזיים של שפת Rust לעומת C/C++ בפיתוח מערכות Embedded?

Rust מעניקה בטיחות זיכרון גבוהה באמצעות מנגנון ownership ו־borrow checker, בכך שהיא מונעת תקלות כמו גישה לא חוקית לזיכרון ו־data races כבר בשלב הקומפילציה. בעוד ש־C/C++ דורשת מהמפתח לנהל ידנית את הזיכרון ולסגור משאבים, ב־Rust רוב המשימות הללו מתבצעות אוטומטית ומתועדות תחבירית. יתרונות נוספים כוללים ביצועים גבוהים, שליטה מלאה בזיכרון ללא garbage collector, ותמיכה בטוחה במקביליות.

close

האם צריך ידע מוקדם בשפת Rust או במערכות הפעלה בזמן אמת (RTOS) כדי להשתתף בקורס?

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

close

אילו נושאים עיקריים הנלמדים במסגרת הקורס?

הקורס סוקר את יסודות השפה וכולל מודולים על: הגדרת טיפוסים, מנגנון הבעלות (Ownership), טיפול בשגיאות עם Option ו-Result, תכנות מונחה עצמים ב־Rust, עבודה עם traits ו-generics, תכנות מקבילי עם threads וכלי סנכרון, היכרות מעשית עם מערכת ההפעלה FreeRTOS, תקשורת אלחוטית (TCP/UDP, BLE, OTA), ושילוב שירותים חיצוניים (RabbitMQ, Flatbuffers).

close

באילו תחומים נוספים, מלבד Embedded, נעשה שימוש נרחב ב־Rust?

מעבר לעולם ה־Embedded, Rust נכנסת לתחומים מתקדמים כגון: פיתוח מערכות הפעלה (Redox OS ולינוקס), דפדפנים (למשל Firefox של Mozilla), פיתוח Backend ושירותים מבוזרים (Actix, Rocket), פיתוח משחקים (מנוע המשחק Bevy), ומערכות קריטיות כמו סייבר, רכבים אוטונומיים ו־Industrial IoT.

close

סטודנטים ללימודי Rust התעניינו גם במודולים נוספים:

© כל הזכויות שמורות Real Time Group