חדשות היום

Windows 7 Goes Embedded with Real Time enhancements

JOHN R.MALIN & SEAN D.LIMING

מערכת ההפעלה Windows Embedded Standard 7- או בקיצור WES 7 “לוקחת” את גירסת Windows Desktop לעולם המערכות משובצות מחשב, בדיוק באותו מסלול שמע”ה-Windows XP Embedded ביצעה.
כמקובל במסלול הנ”ל של הפיכת מערכת הפעלה Desktop למע”ה לשוק Embedded – התווספה תכונה בסיסית שאינה קיימת בסביבת Desktop: יכולת ליצור Image “פרטי” לצרכי הלקוח. במקרה של WES 7 התווספו עוד יכולות רבות שאותן נציג בהמשך.
שלשה גורמים השפיעו ומשפיעים על הצלחתן של מערכות הפעלה Windows Embedded לשוק פיתוח מוצרים:
משתמשי הקצה רגילים להשתמש ולהפעיל את Windows Desktop.
מפתחי התוכנה של המוצרים נהנים מסביבת הפיתוח המוכרת והנוחה של Microsoft ומהאפשרות לפתח את תוכנת ה-Embedded עד לשלבים הסופיים על ה-Desktop.
מפתחי החומרה של המוצר נהנים משפע האופציות לבנית חומרת PC במיגון הספקים, ביצועים, גדלים פיזיים, עמידה בתנאי סביבה.

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

ההימור של Microsoft על DOT NET Framework
ניתן למצוא היום את Windows XP Embedded במיגוון מוצרים כמו מכונות משחק, מכשירים רפואיים, מיחשוב בתוך כלי רכב, כלי מדידה ודיאגנוסטיקה ועוד.היכולת לפתח במהירות ישומים גרפיים למשתמש – GUI – היא אחת הסיבות העיקריות להצלחה זו.
יש לבטח סביבות פיתוח GUI גם למערכות הפעלה אחרות, אבל הקלות לתכנת והקלות למצוא משאבים מתבררת כחשובה ביותר. הפופולריות של Java שמקובלת בסביבת Linux איימה לנגוס בהצלחה של Windows. אבל לכשהכריזה Microsoft על Dot NET Framework היא הפכה את כתיבת התכנה לקלה יותר מבלי להטריד את המתכנת בבעיות כמו ניהול זכרון. לכשהתקבלה סביבה זו על ידי אנשי התכנה התווספו אליה יכולות חדשות ליצירת יישומים עשירים ודינמיים. אפשר לומר שההשקעה של Microsoft ב-Dot NET מחזירה היום דיוידנדים: כיון ש-Java לא התפתחה בקצב של Dot NET שוקלים פרויקטים רבים להשתמש בה ולזנוח את סביבת Linux עם Java.

אבני בנין חדשות
ל-Windows XP היו 15,000 רכיבים שמהם יכולת לבנות מע”ה מיוחדת עבורך. 1500 מהם היו עבור פונקציות של מערכת ההפעלה והיתר היו Device Drivers. חלק מהרכיבים כללו קובץ אחד. היתרון ביכולת ה”פירוק לגורמים” היה בכך שניתן היה ליצור קובץ Image קטן למערכת ההפעלה. מאידך – נוצר קושי לתמוך בכל כך הרבה קבצים אינדיוידואליים. לא תמיד הביא ריבוי האופציות להקטנת ה-Image כיון שבסופו של תהליך הבניה, היה ממילא צורך לספק את התלויות בקבצים כך שרוב הקבצים הבודדים נכללו ממילא ב-Image. ב-WES7 התיחסו למגבלות הנ”ל וגזרו את מע”ה WES7 שהיא בעצם גירסא מודולרית של Windows 7. התפיסה של Components ב-XP הוחלפה במודולים גדולים יותר הקרויים Feature Packages. למע”ה WES7 יש גרעין שתמיד קיים שכולל את ה-kernel ,HAL ודרייורים קריטיים שדרושים להבטיח שתהליך boot תמיד יצליח. ה-Feature Packages מכילים את יתר התכונות כמו, וכו’, שלא כמו XP ,WES 7 לא דורש מנוע Data Base, והוא מסוגל ליצר בעצמו Distribution Share למערכת הפעלה בגירסאות 32 ו-64 ביט.
גודל ה-Image המינימלי האפשרי הוא 570 Mega Bytes ועבור מע”ה של 64 ביט הנפח הטיפוסי הוא בין 900 ל-2 Giga Bytes. הנפח גדול בהרבה מזה של XP אבל צפיפות ומחיר הזכרון כיום השתפרו מאד וכדאי לרב להיעזר ביכולות החדשות למרות התוספת בגודל הזכרון הנדרש.

כלי פיתוח
WES7 מציג שינוי ביחס ל-XP Embedded. ב-XP Embedded ה-Image היה צריך להיבנות על סביבת הפיתוח, וסיום התהליך היה על ה-כמו ב-Desktop OS.
ישנן שתי אפשרויות להתקנת WES 7. האחת היא באמצעות DVD. קיימים שני DVDs ל-32 ול-64 ביט. על כל DVD נמצא כלי בשם IBW – Wizard Image Builder. אחרי שלב ה-boot מה-DVD המתאים מורץ ה-Wizard שמאפשר לך לבנות את ה-Image כרצונך – ראה איור מס’ 1. זוהי הצורה המהירה לבניית ה-Image אבל אינה מספקת את השליטה המדויקת בתכולתו.
המסלול השני המתקדם יותר שמאפשר קונפיגורציה יותר מותאמת להגדרות הלקוח, דומה ל-Target Builder של XP. במסלול זה משתמשים בכלי הקרוי
ICE (). הכלי מאפשר לפרט בדיוק איזה דריברים, איזה packages איזה settings וכו’, לכלול. הכלי מיצר Answer File מפורט לשימושו של ה-IBW שהוזכר לעיל. שני הכלים פשוטים להפעלה ותודות לכך תהליך יצירת ה-Image הוא קצר משמעותית מאשר ב-XP Embedded.
לכשהסתיים תהליך יצירת מע”ה ניתן להמשיך ולשנות אותה ע”י שמוש בכלים הנ”ל. לאחר מכן – שני כלים Sysprep ו-ImageX מטפלים בניהול תהליך היצור.
כלי Sysprep מאפשר לבצע cloning למטרות יצור. לכל מערכת יש קוד בטחון SID שבו משתמשת מערכת הקבצים ומערכת התקשורת. כל מערכת WES 7 שיוצרה, מיצרת SID פרטי אחרי ה-Boot הראשון.
כלי ImageX מיצר קובץ WIM שמכיל את ה-OS Image. ניתן להתקין את הקובץ כדי לבצע עדכונים או לשנות הגדרות ספציפיות כמו שפה וכו’.

למערכות משובצות תכונות מיוחדות
כמה תכונות יחודיות למערכות משובצות התווספו. תכונות אלו אינן קיימות בגירסאות ה-Desktop:
Write Filters: הגנה על קבצים חשובים (למשל קבצי מע”ה) מפני כתיבה, והגנה על מספר הכתיבות לזכרון Flash ע”י החלפתם בכתיבה לזכרון RAM. ניתן להגן על Partition או על Volume שלם או אפילו באמצעות File Based Write Filter על קובץ בודד.
זמן ה-Boot: מוצע מנגנון HORM – Hibernate Once Resume Many שמירת מצב מסוים של המערכת בקובץ
hybfil.sys והעלתו בשלבי ה-boot. כך מובאת המערכת למצבה ההתחלתי הרבה יותר מהר מאשר ב-boot רגיל.
Booting from USB: שלא כמו מערכות Desktop ניתן לבצע boot מ-USB.
Dialog Filter Editor: מערכות Embedded רצות בדרך כלל ברציפות ולרוב אינן מאוישות . הכלי נועד “לתפוס” מסכי שגיאה שעלולים להופיע, ולספק תגובה מוכנה מראש כמו OK או Cancel.

תמיכה בשרות לאורך חיי המוצר
תחזוקת המערכת בשדה היא חלק חשוב במחזור החיים של המוצר. כדי להקל על תחזוקה זו, WES 7 משתמש ב-packages ולא components. עדכון תוכנה הוא ברמת ה-package, כך שקל הרבה יותר לעקוב ולבצע עדכונים. כדי להקל עוד יותר מסופק כלי ששמו – WEDU. הכלי בודק אוטומטית את סביבת הפיתוח כדי להבטיח שכל המרכיבים הם בגירסתם האחרונה, והוא מטעין ומעדכן את אלה שאינם כאלה.
עבור תחזוקת ה-Image ישנו כלי עם Command Line משוכלל בשם DISM שמתקין, מוריד, מקנפג ומעדכן תכונות ו-packages ב-Image. הכלי בנוי לתוך ה-Image עצמו וניתן להשתמש בו במפעל בתהליך היצור או בשדה לצורך שרות ועדכון. קיים כלי מקביל פשוט יותר שמבצע כמעט אותן פעולות וקרוי WUSA.

יכולות זמן אמת
WES7 אינה מערכת דטרמיניסטית, מנגנוני ה-Scheduling אינם מאפשרים להתחייב לזמן תגובה. במילים אחרות היא אינה מערכת הפעלה לזמן אמת. כדי לאפשר ל-WES7 לממש פתרונות שבהם נדרשות תכונות זמן אמת ניתן להוסיף יכולות כאלה. חברת TenAsys מציעה תוספת הקרויה INtime. זוהי מע”ה מלאה לזמן אמת שפועלת לצידה של WES7 ובשיתוף פעולה איתה על ידי העברה תמידית של הודעות קצרות ומהירות.המפתח מחליט אילו מהתקני I/O ואילו מהתהליכים מחיבים פעולה בזמן אמת. את התקני ה-I/O “מעבירים” ע”י כלי קונפיגורציה של INtime (ראה איור מס’ 2), ואת התהליכים מפתחים ב-Visual Studio לפעולה מעל ה-INtime Kernel (ראה איור מס’ 3). באיור רואים גם את הפיתוח של מרכיב ה-Windows ביישום.
כבר מהשלבים הראשונים בפיצול לשני מסלולים מגדירים את המימשק בין חלק WES 7 לחלק ה-Real Time. המימשק יכול להתבצע ע”י פניה לאוביקטים של INtime מצד Windows גם ב-Dot Net. האוביקטים יכולים להיות Semaphores לסינכרון, Mailbox לסינכרון ולמשלוח הודעות קצרות, Shared Memory – להעברת כמויות מידע גדולות. אפשרות נוספת מאד פופולרית היא להעביר מידע בממשק TCP או UDP בין שני חלקי המערכת וזאת מעל Virtual LAN בין INtime ל-WES 7.
מע”ה INtime שיצאה ב-1997 פעלה עוד על מעבדים בעלי ליבה אחת, ואיפשרה לכל Windows להיות ה-Idle Thread שלה. כיום – עם השכיחות של מעבדים מרובי ליבות, הגיוני לאפשר לליבה אחת או יותר להריץ את מרכיב ה-Real Time במערכת.
כאמור ל-WES7 ישנה גירסא ל-32 ביט וגירסא ל-64 ביט. בשתיהם ניתן להריץ את INtime כמאפשרת תכונות זמן אמת למערכת.
אם יש ללקוח כבר השקעה גדולה בפיתוח מוצר Embedded מעל מערכת הפעלה לזמן אמת כמו VX Works QNX Embedded Linux ודומיהן הוא יכול להשתמש בקוד “As Is” מעל Hypervisor של TenAsys הקרוי eVM.
כך ניתן ל”העניק” למערכת מבוססת WES7 – ליבה שלמה שמריצה קוד שפותח ומריץ חלק מהיישום. וזאת מבלי לאבד את יכולות זמן אמת של המערכת המקורית. או מזוית אחרת: כך ניתן להעניק ליישום ותיק
Face Lift – על ידי Front End שבנוי מעל WES7.

לסיכום
WES 7 בנויה מעל מע”ה הפופולרית Windows 7 וכשמשלבים אותה במוצר Embedded היא יכולה לספק פונקציונליות עצומה. כדוגמא – שילוב Dot NET במוצר ה-Embedded – לעיתים עם תוספת Real Time עם המוצר INtime שתואר בקצרה לעיל, יכולים לאפשר למפתח לשלב יכולות מעולות בתוך המוצר. סביבת הפיתוח החדשה וכלי התחזוקה החדשים מקילים ומוזילים בצורה משמעותית את הפיתוח והתחזוקה .
על המחברים:
John R Malin ו-Sean Liming מחברת SJJ Embedded Micro Solutions הנם בעלי ניסיון רב בפיתוח מערכות Embedded ובין שאר עיסוקיהם כותבים ספרי טכניים וספרי הדרכה.
בין המפורסמים שבהם:
ספר הדרכה לWES7-:
PProfessional’s Guide to Windows® Embedded Standard 7
ספר הדרכה מעולה ל-INtime:
PReal Time Development from Theory to Practice® Featuring TenAsys® INtime
()

תגובות סגורות