סמפור (מדעי המחשב) – הבדלי גרסאות
תוכן שנמחק תוכן שנוסף
מ קישורים פנימיים |
אין תקציר עריכה |
||
שורה 1:
ב[[מדעי המחשב]], '''סמפור''' (ב[[אנגלית]]: '''semaphore''') הוא מנגנון ל[[סנכרון (מדעי המחשב)|סנכרון]] מספר [[תהליך (מדעי המחשב)|תהליכים]] הפועלים ב[[מחשב]] במקביל. המושג סמפור הומצא על ידי מדען המחשב ה[[הולנד]]י, [[אדסחר דייקסטרה]], והוא נמצא בשימוש נרחב ב[[מערכת הפעלה|מערכות הפעלה]] רבות.
==תאור הבעיה ופתרונה באמצעות לולאה==
כאשר קיימים מספר תהליכים אשר
פתרון את הבעיה פתרונות לבעיה יכללו תמיד המתנה עד אשר תנאי כלשהו יתקיים, כתנאי לכניסת התהליך לקטע הקריטי (עד אשר תנאי כלשהו יתקיים, אל תבצע פעולה). מימוש המתנה כזו יעשה על ידי [[לולאה|לולאת while]]. הבעיה בפתרון זה היא שההמתנה בתוך הלולאה דורשת זמן [[מעבד]]. בנוסף לכך, קיימת סכנה כי בעת ביצוע קטע הקוד לכניסה לקטע הקריטי, אשר מורכב ממספר פקודות (או מפקודה אחת אשר מורכבת ממספר פקודות מכונה), "יחטף" המעבד מהתהליך וכך עלול לקרות מצב בו המשך ביצוע התוכנית מסתמך על נתונים לא מעודכנים.
שורה 19 ⟵ 20:
* [[בעיית הפילוסופים הסועדים]]
* [[בעיית יצרן-צרכן]]
==קישורים חיצוניים==
* [http://www.cs.technion.ac.il/Courses/Operating-Systems-Structure/new_slides/Synchronization04.ppt סנכרון תהליכים וחוטים], אתר ה[[טכניון]] {{PPT}}
[[קטגוריה:תהליכים (מדעי המחשב)]]
|