תוכן עניינים:
הגדרה - מה המשמעות של ריבוי חתכים?
ריבוי חוטים הוא סוג של מודל ביצוע המאפשר להתקשרות מרובים של חוטים בהקשר של תהליך כך שהם מבצעים באופן עצמאי אך משתפים את משאבי התהליך שלהם. שרשור שומר רשימה של מידע הרלוונטי לביצועו, כולל לוח הזמנים של העדיפות, מטפלים בחריגים, קבוצה של רישומי CPU ומצב ערימה במרחב הכתובות של תהליך האירוח שלו.
מיתוג רב ידוע נקרא גם השחלה.
Techopedia מסביר את ריבוי הברגות
השחלה יכולה להיות שימושית במערכת מעבד יחיד על ידי מתן אפשרות לשרשור הביצוע הראשי להיות מגיב לכניסת המשתמש, בעוד שחוט העובדים הנוסף יכול לבצע משימות ארוכות טווח שאינן זקוקות להתערבות משתמשים ברקע. השחלה במערכת מעבד מרובה גורמת לביצוע במקביל של חוטים על פני מספר מעבדים ולכן היא מהירה יותר. עם זאת, הדבר דורש תכנות זהיר יותר בכדי להימנע מהתנהגות לא אינטואיטיבית כמו תנאי מירוץ, מנעולים וכו '.
מערכות הפעלה משתמשות בהברגה בשתי דרכים:
- ריבוי טרומי רב-ריק, בו מתג ההקשר נשלט על ידי מערכת ההפעלה. החלפת הקשר עשויה להתבצע בזמן לא הולם, לפיכך, ניתן להקדים בעקיפין את החוט בעדיפות גבוהה על ידי חוט בעדיפות נמוכה.
- מיתוג רב-שיתופי, בו מיתוג ההקשר נשלט על ידי החוט. זה עלול להוביל לבעיות, כמו נעילות מתים, אם חוט חסום ממתין למשאב להתפנות.
גרסאות 32 ו -64 סיביות של חלונות משתמשות בריבוי מרחיבי רשת מרובים, בו משתף זמן המעבד הזמין כך שכל החוטים מקבלים פרוסת זמן שווה ומוגדרים לתיקון במצב מבוסס תור. במהלך החלפת חוט, ההקשר של חוט מרוקן מראש נשמר ונטען מחדש בחוט הבא בתור. פרוסת הזמן כה קצרה עד שנראה כי חוטי הריצה מבוצעים במקביל.
הגדרה זו נכתבה בהקשר של אדריכלות מחשבים