Next Page  82 / 124 Previous Page
Information
Show Menu
Next Page 82 / 124 Previous Page
Page Background

זמן המעבד לפי העדיפות שלהם. אם תוך כדי

thread

הטיפול (קבלה ושליחה) יתעורר לעיתים

יגדל

Jitter

אזי ה

155

בעדיפות גבוהה יותר מ

משמעותית - בתלות באורכי המשימות

ה"מפריעות" הללו.

דוגמה זו ממחישה את המורכבות שנוספה עם

השימוש בממשקים טוריים : חלקי הפרוטוקול

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

.

Jitter

משמעותית של ה

INtime

מערכת ההפעלה

זוהי מערכת ההפעלה שבה ביצענו את המדידות

והתצוגה שתוארו למעלה.

כמו כל מערכת הפעלה מלאה לזמן אמת היא

בעלת התכונות הבאות

ישנן שתי

INtime

– ל

Interrupt

driven

Interrupt

אפשרויות להתיחסות ל

– ניתן להפסיק מיידית כל

Preemptive

לפי מפתח עדיפות .

thread

העדיפה ביותר

0 :

רמות

255

- ישנן

Priority

הפחות עדיפה.

255

מערכת ההפעלה בעלת פונקציות מהירות

מאד.

של מערכת הפעלה מוגדרים תמיד

threads

ה

בעדיפות נמוכה ככל האפשר (וניתנים ברובם

לכוונון).

.

INtime

מוצגים באדום מרכיבי

3

באיור מספר

קיים גרעין שמעליו רצים תהליכים המסופקים

ותהליכי היישום. לצידם (על ליבות

INtime

עם

אחרות) - משורטט בכחול: נמצאת מערכת

והתהליכים שהלקוח כותב

Windows

ההפעלה

מעליה. בין שני החלקים קיים ממשק הקרוי

לגשת

Windows

שמאפשר לתהליכים של

NTX

. פרט לגישה לזכרון

INtime

לאוביקטים של

וכו’.

semaphores mailbox

משותף יש גישה ל

Interrupts

הפסיקות -

מרכיב חשוב בכל מערכת הפעלה ובמיוחד

במערכות הפעלה לזמן אמת הוא אופן הטיפול

. כל מערכת הפעלה תומכת ב

Interrupts

ב-

, אבל רק מערכות הפעלה לזמן אמת

Interrupts

לנהל אותם

User Mode

מאפשרת למשתמש ב

ישירות .

user

יכולות ההפעלה של הפסיקות ברמת ה

נמוך.

Jitter

חשובות מאד כדי להבטיח

קימות שתי רמות :

INtime

ב

Interrupt handler

כותבים בדרך

Handler

מופעלת על ידי חומרה. ב

כלל מעט מאד פקודות, והכניסה והיציאה ממנו

מהירים מאד.

Interrupt thread

כשנדרשת פעולה מורכבת יותר שקורית

handler

אחר, ה

thread

כשמפסיקים ריצה של

אינו חוזר ישר לנקודה בה ארע, אלא מכניס

חדש ובו מקודדת

thread

לפעולה, לפי עדיפות ,

המשימה המורכבת.

- משימה זו

2

למשל בניסוי שתואר באיור מספר

. 54

של הכרטיס שרצה בעדיפות

driver

היא ה

.

interrupt

מראה את שני סוגי ה-

4

איור מספר

שימוש מושכל בהם במהלך התכנון – מבטיח

נמוך .

Jitter

ריבוי ליבות

בשנים האחרונות הפכו המעבדים למרובי ליבות

ובוני המערכות מעונינים לנצלן כמה שאפשר.

עליהם

Linux

או

Windows

במערכות הפעלה כמו

בכל יחידת זמן

threads

רצחם מאות או אלפי

– מנהלת מערכת ההפעלה עצמה את חלוקת

SMP

המשאבים "בצורה הוגנת" בשיטת (

). ליבה אחת

Symmetrical

Multi

Processing

מבצעת תזמון והקצאת משאבים (זכרון וזמן

מעבד) עבור כל הליבות. ניהול כזה אינו מאפשר

נמוך, ובנוסף ניפוי שגיאות בנושא תזמונים

Jitter

הוא משימה מורכבת ביותר.

נמוך, אינן

Jitter

מערכות לזמן אמת שחייבות

יכולות להעביר את השליטה למנגנון "הוגן",

ובנויות כך שכל ליבה מנהלת את המשאבים

AMP

-

Asymmetric

Multi

שלה. זוהי שיטת

.

Processing

מציג שלש קונפיגורציות בהן

5.1

איור מספר

.Windows

רצה לצידה של

INtime

מעל כל הליבות "שלה"

SMP

רצה ב-

Windows

רצה

INtime

.על כל ליבה "של"

AMP

ב-

INtime

ו-

מערכת הפעלה מלאה שמתקשרת עם האחרות

באמצעים שונים.

מהיישום,

Windows

במידה ולא נדרשות יכולות

«

מבנה

.3

איור

INtime

התוכנה ב

For Windows

בקונפיגורציה

Code Base

ניתן להשתמש באותו

בכל

Boot

מבצע

INtime

.5.2

המוצגת באיור

הליבות שלו ישירות מהדיסק , ולא דרך תהליכים

ש"מעירים" אותו.

Windows

של

איך נבנה את הפרויקט

שיש

Embedded

הפתרון המומלץ לבנית מערכת

timing

(או קרוב לוודאי שיהיו עבורה) דרישות

למממשקים:

INtime

for

הגדרת המערכת הבסיסית עם

Windows

העברת הממשקים שעבורם יש דרישות

INtime

תזמון ל

במהלך הפרויקט ניתן לשנות את נקודת החלוקה

לצד

INtime

בין ההתקנים והתהליכים מצד

ולהיפך, ואפילו להגיע לקונפיגורציה

windows

Visual

בכלל. כל הפיתוח נעשה ב

Windows

ללא

כך

Windows

וגם בצד

INtime

גם בצד

Studio

שהעברת הקוד בין שתי הסביבות קלה ביותר.

כפי שראינו בדוגמא של הממשק הטורי (הוצג

) , משימות רבות, שחלקן אפילו

UDP

ממשק

מסופק על ידי מערכת ההפעלה, מתחרות על

.

CPU

המשאב החיוני – זמן

מצד שני – אם מאות משימות תתחרינה על

נמוך – ניאלץ

Jitter

המשאב הזה , ונרצה להבטיח

לבצע עבודת כוונון מורכבת של ניסוי וטעיה.

לכן נשאיר את כל התהליכים שאינם מחייבים

.

Windows

נמוך ב

Jitter

לעומת זאת אם אין כלל תהליכים "טבעיים" ל

מורכב או

File

System

או

GUI

(כמו

Windows

ואינם קיימים ב

Windows

שקיימים ב-

Drivers

) כדאי לשקול להשתמש בקונפיגורציה

INtime

.

INtime Only

של

EMBEDDED & MICROPROCESSORS

מוסף מיוחד

New-Tech Magazine l 82