מערכת זמן אמת בהתאמה אישית

גד מאיר סוקר את החידושים האחרונים במערכת Windows Embedded Compact של מיקרוסופט
Windows Embedded Compact 7

משפחת ה Embedded של מיקרוסופט מתחלקת לשתי תתי-משפחות. הראשונה, כוללת בתוכה את כל מערכות ההפעלה הרגילות שמיקרוסופט מציעה בשוק, כולל מערכות הפעלה של שרתים. ההבדל היחיד הוא בתנאי הרישוי ובעלות הזולה יותר של הרכישה (עלות זולה משמעותית ממחירי OEM). המשפחה השניה, נקראת Windows Embedded Compact, וכאן מדובר במשהו אחר לגמרי: מערכת הפעלה מלאה מסוג Real Time, כאשר באמצעות גנרטור, המשתמש בוחר איזה מרכיבים יכללו במערכת ההפעלה, ובונה לעצמו גירסת מערכת מותאמת אישית לצרכיו.

בין שאר התכונות המקושרות לעולם ה-Real Time ניתן למצוא פסיקות מקוננות, יכולת לתת Quantum מוגדר לנימים (Threads), שימוש ב-256 רמות של Priority ושיוך של נים או תהליך (Process) לליבה (Core) או לליבות ספציפייות. בין שאר היכולות הטכניות החדשות, ניתן למצוא תמיכה בכמות מירבית של 250 ליבות ו-32,000 תהליכים.

כמי שעוסק רבות בתחום ה Device Drivers, הייתי רוצה להעיר בנקודה זו, כי ניתן להגיע לביצועי Real Time מעולים גם במערכות ההפעלה הרגילות של Windows. שימוש נכון ביכולות המובנות של ה-Kernel ושילוב קטעי הקוד הקריטיים ב- Device Driver נותן פתרון שהוא משמעותית זול ופשוט יותר, לעומת שימוש במערכת הפעלה Real Time יעודית.

מערכת ה- Windows Embedded Compact תומכות במגוון רחב של יע"מ-ים (CPUs) כולל משפחת ה-X86, ומשפחת ה-ARM (וגם משפחת ה-MIBS). כמו כן, המערכת כוללת תמיכה במגוון רחב של Peripherals המקובלים בשוק. בגירסה הנוכחית נוספו ושופרו Drivers לתמיכה מובנית בזכרונות SD (המקובלים כיום כהתקן זכרון משני בכל חפיץ), ל-USB Host Controller ול-I2C Bus. כמו כן נוספה תמיכה בגירסה 2.1 של Blue Tooth וב-EDR וכן נוספה תמיכה מובנית ב Accelerometer המאפשר  לדעת את זוית ומיקום המערכת במרחב.

לגנרטור שמייצר את מערכת ההפעלה לפי דרישה, יש אוסף קונפיגורציות מוכנות למרבית ה-System On Chip ו-System On Card המקובלים בשוק, וניתן לייצר באמצעותו קונפיגורציות מותאמת אישית לתכנון שאינו נמצא בספריה. המערכת פתוחה ומאפשרת להוסיף Drivers לחומרה שאינה מוכרת למערכת.

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

אחד החידושים המשמעותיים במערכת ה-Windows Embedded Compact מיועד בעיקר למי שמחפש יכולות גרפיות והוא התמיכה בתשתית-Silver Light (הכתובה כולה בשפת מכונה). מערכת ה Silver Light מאפשרת לפתח ממשקי אדם מכונה ואלמנטים הדורשים גרפיקה באיכות גבוהה, בקלות ובמהירות.

חידושים נוספים ניתן למצוא בתחום אבטחת מידע, והם מספקים תאימות למודל SDL ומאפשרים למנוע ריצה של קוד לא מורשה על המכונה. מנגנונים אלו כוללים טעינה דינמית של ה-Kernel לכתובות אקראיות, חסימת קוד שמנסה להתבצע מתוך אזורי נתונים, תמיכה ב-Kerberos 5.0 וב-Lan Manager 2 ועוד.

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

הכותב הוא מנהל מו"פ בחברת ידאג בע"מ www.idag.co.il ומרצה בכיר בתחום Device drivers ו Windows Internals בג'ון ברייס מכללת הי-טק.

img
פרשנות | כוח צבאי משמעותי של נאט״ו יכול להקטין הסתברות למלחמה גרעינית באירופה
דעה | אופציה צבאית ישראלית תוכל לרסן את איראן 
קבוצת SQLink רוכשת את ZIGIT הישראלית
קבוצת SQLink רוכשת את ZIGIT הישראלית