הבדל בין שיחת מערכת לפסיקה

הבדל בין שיחת מערכת לפסיקה
הבדל בין שיחת מערכת לפסיקה

וִידֵאוֹ: הבדל בין שיחת מערכת לפסיקה

וִידֵאוֹ: הבדל בין שיחת מערכת לפסיקה
וִידֵאוֹ: ההבדל בין צורות מפורקות לצורות מאוחדות - קורס פלאש חלק 2 2024, יולי
Anonim

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

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

מהי שיחת מערכת?

שיחות מערכת מספקות לתוכניות הפועלות במחשב ממשק לדבר עם מערכת ההפעלה.כאשר תוכנה צריכה לבקש שירות (שאין לה הרשאה לו בעצמה) מהקרנל של מערכת ההפעלה היא משתמשת בקריאת מערכת. לתהליכים ברמת המשתמש אין את אותן הרשאות כמו לתהליכים המקיימים אינטראקציה ישירה עם מערכת ההפעלה. לדוגמה, כדי לתקשר עם התקן קלט/פלט חיצוני או כדי ליצור אינטראקציה עם כל תהליכים אחרים, תוכנית צריכה להשתמש בקריאות מערכת.

מהי הפרעה?

במהלך הפעלה רגילה של תוכנית מחשב, עשויים להיות אירועים שעלולים לגרום ל-CPU להפסיק זמנית. אירועים כאלה נקראים פסיקות. הפרעות יכולות להיגרם מתקלות תוכנה או חומרה. פסיקות חומרה נקראות (פשוט) פסיקות, בעוד שפסיקות תוכנה נקראות חריגים או מלכודות. ברגע שהועלתה פסיקה (תוכנה או חומרה), השליטה מועברת לתת-שגרה מיוחדת הנקראת ISR (Interrupt Service Routine) שיכולה להתמודד עם התנאים המועלים מההפרעה.

כפי שהוזכר לעיל, המונח Interrupt שמור בדרך כלל להפסקות חומרה. הם הפרעות בקרת תוכנית הנגרמות על ידי אירועי חומרה חיצוניים. כאן, חיצוני פירושו חיצוני למעבד. הפסקות חומרה מגיעות בדרך כלל ממקורות רבים ושונים כגון שבב טיימר, התקנים היקפיים (מקלדות, עכבר וכו'), יציאות I/O (טורי, מקבילי וכו'), כונני דיסקים, שעון CMOS, כרטיסי הרחבה (כרטיס קול, וידאו כרטיס וכו'). כלומר, הפסקות חומרה כמעט אף פעם לא מתרחשות עקב אירוע כלשהו הקשור לתוכנית ההפעלה. לדוגמה, אירוע כמו לחיצת מקש על המקלדת על ידי המשתמש, או זמן קצוב של טיימר חומרה פנימי יכול להעלות סוג זה של הפרעה ויכול להודיע למעבד שמכשיר מסוים זקוק לתשומת לב מסוימת. במצב כזה המעבד יפסיק את כל מה שהוא עשה (כלומר ישהה את התוכנית הנוכחית), יספק את השירות הנדרש על ידי המכשיר ויחזור לתוכנית הרגילה.

מה ההבדל בין שיחת מערכת לפסיקה?

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

מוּמלָץ: