כללי

  • במערכת ההפעלה מספר תהליכים יכולים לרוץ במקביל. במהלך הריצה, בכל רגע, הרבה תהליכים ממתינים למשאב – CPU, קלט/פלט, הודעות ועוד. מכיוון שמספר תהליכים עלולים להמתין לאותו משאב, יש לנהל תורי המתנות למשאבים השונים.
  • מנגנון התורים והרשימות של XINU מיועד להחזיק תהליכים. איבר בתור הוא למעשה תהליך הנמצא באותו תור.
  • מספר התהליכים מוגבל וכן גם מספר התורים, ולכן ניתן לממש את כל התורים על ידי מערך סטטי אחד, אשר ניתן לו השם q[].
  • תהליך יכול להיות בתור אחד לכל היותר בכל רגע נתון, וכן להופיע פעם אחת בלבד באותו תור.
  • לכל תהליך במערכת ההפעלה יש מספר המציין אותו, pid. בנושא התורים, מספר זה מציין אינדקס במערך q, המתאים לאותו תהליך. כלומר, אם התו ה-i מופיע בתור כלשהו, אז נאמר שהתהליך עם המציין ה-i שייך לאותו תור.
  • מספר התהליכים המקסימאלי במערכת ההפעלה הינו NPROC.
  • לכל תור יהיה תא head ותא tail בנוסף לתהליכים שלו. האינדקסים של tail ושל head יהיו בהכרח גדולים מ-(NPROC-1).
  • מספר התאים במערך q מוגדר על ידי NQENT, שערכו NPROC + NSEM + MSEM + 4, וזאת על מנת לספק NPROC אינדקסים עבור התהליכים, ועוד head, tail עבור NSEM תורים עבור סמפורים במערכת, ועוד head, tail עבור תור ה-ready ותור ה-sleep.

תגיות המסמך:

מאת: באסל

תודה

הסברתם את זה, כמו שאר הנושאים, באופן הכי ברור שיש.
שיתוף:
| עוד