חדשות היום

Windows 7 Goes Embedded

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  מכילים את יתר התכונות כמו,

,Media Player     IIS ,Internet Explorer

 וכו’, שלא כמו 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 היה צריך להיבנות על סביבת הפיתוח, וסיום התהליך היה על ה-

Target

כמו ב-Desktop OS.

 

ישנן שתי אפשרויות להתקנת WES 7. האחת היא באמצעות  DVD. קיימים שני  DVDs  ל-32 ול-64 ביט. על כל  DVD  נמצא כלי בשם  IBW – Wizard  Image Builder. אחרי שלב ה-boot מה-DVD המתאים מורץ ה-Wizard  שמאפשר לך לבנות את ה-Image  כרצונך – ראה איור מס’ 1. זוהי הצורה המהירה לבניית ה-Image אבל אינה מספקת את השליטה המדויקת בתכולתו.

המסלול השני המתקדם יותר שמאפשר קונפיגורציה יותר מותאמת להגדרות הלקוח, דומה ל-Target Builder של XP. במסלול זה משתמשים בכלי הקרוי
ICE (

CImage     Configuration Editor

). הכלי מאפשר לפרט בדיוק איזה דריברים, איזה  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, כך שקל הרבה יותר לעקוב ולבצע עדכונים. כדי להקל עוד יותר מסופק כלי ששמו

Windows Embedded Developer Update

– 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-:

PProfessionals Guide to Windows® Embedded Standard 7

 ספר הדרכה מעולה ל-INtime:

PReal Time Development from Theory to Practice® Featuring TenAsys® INtime
(

eBook

)

 

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