תהליכים, תהליכונים, סנכרון, ניהול זיכרון ומערכות קבצים
Enqueue(item) מכניסה לסוף הרשימה ו Dequeue() מוציאה מראש הרשימה. שתי הפונקציות מעדכנות את המצביעים לראש וסוף הרשימה בהתאם. שתי הפונקציות לא משתמשות באמצעי הסנכרון.counter במצב הזה?while (entering[j]) { /* noop */ }.A-enter, A-exit, B-enter, B-exit, C-enter, C-exitbusy waiting). כלומר, תהליכונים יכולים להמתין רק ע"י שינה על סמפור.A-enter, A-exit, B-enter, B-exit, C-enter, C-exitm1, m2 ו-c שמאותחלים לאפס. תהליכונים הנאלצים להמתין יעשו זאת באמצעות busy waiting בעזרת פקודת test-and-set.test-and-set(c,1 מתבצעת באופן אטומי, כותבת ערך 1 למשתנה c ומחזירה את ערכו הקודם שלו. אין להשתמש בסמפורים בסעיף הזה.שאלות תרגול במערכות הפעלה בנושא הרעבה ממבחנים של האוניברסיטה הפתוחה. השאלות ממוינות לפי רמת קושי, עם פתרונות לבדיקה עצמית - כך שניתן ללמוד מטעויות ולהבין את דרך הפתרון לפני הבחינה. ניתן לאתר שאלות חוזרות ולהריץ מבחני סימולציה ממוקדים בנושא הרעבה.