פירוש נוסף ערך זה עוסק בריבוי משימות במחשב. אם התכוונתם לריבוי משימות אנושי, ראו ריבוי משימות אנושי.
**ריבוי משימות** (באנגלית: **Multitasking**) הוא היכולת של מחשב לבצע מספר משימות במקביל. כאשר למחשב יש מעבד יחיד, רק משימה אחת יכולה לרוץ עליו בכל פרק זמן נתון, אולם אפשר לקבל הדמיה של הרצת מספר משימות במקביל על ידי מעבר מהיר בין משימות שונות. המעבר הזה נקרא גם **שיתוף זמן** (time sharing).

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

מוסדר
-----

**ריבוי משימות מוסדר** (**Preemptive Multitasking**) הוא המימוש המקובל לריבוי משימות במערכות הפעלה. סדרן מרכזי (בדרך כלל חלק ממערכת ההפעלה) אחראי להקצות את המעבדים לתהליכים. הסדרן יכול להפריע (preempt) לתהליך אם עבר זמנו.

שיתופי
------

**ריבוי משימות שיתופי** (**Cooperative Multitasking**) הוא ריבוי משימות שממומש על ידי התהליכים עצמם ללא כפייה של מערכת ההפעלה או סדרן מרכזי אחר. כאשר תהליך סיים לעבוד עם המעבד הוא קורא לפעולת **yield** (מאנגלית: ויתור) שמעבירה את הביצוע לתהליך הבא.

המימוש הזה פשוט יותר אולם תהליך סורר אחד יכול לתקוע את כל המערכת. מימוש זה של ריבוי משימות היה בשימוש ב-Microsoft Windows 3.x וב-MacOS, לדוגמה.

חלוקת המשאבים
-------------

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

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

ראו גם
------

* פסיקה (מחשב)

קישורים חיצוניים
----------------

* אוהד ברזילי, על ביצוע של משימות מרובות במקביל, ספטמבר 2011 - סרטון הסבר אינטואיטיבי וקצר בווידאו בלוג העברי - אינטרטנט
* ריבוי משימות, באתר אנציקלופדיה בריטניקה (באנגלית)

הערות שוליים
------------

1. ↑  רִבּוּי מְשִׂימוֹת מֻסְדָּר במילון טכנולוגיית המידע: טכניקות (תשס"ו), באתר האקדמיה ללשון העברית
2. ↑  רִבּוּי מְשִׂימוֹת שִׁתּוּפִי במילון טכנולוגיית המידע: טכניקות (תשס"ו), באתר האקדמיה ללשון העברית

| תחומים במדעי המחשב |
| --- |
| יסודות מתמטים | לוגיקה מתמטית • תורת הקבוצות • תורת המספרים • תורת הגרפים • תורת הטיפוסים • תורת הקטגוריות • אנליזה נומרית • תורת האינפורמציה |
| תורת החישוביות | תורת האוטומטים • תורת הרקורסיה • תורת הסיבוכיות • מחשוב קוונטי |
| אלגוריתמים ומבנה נתונים | אנליזה של אלגוריתמים • גאומטריה חישובית |
| שפות תכנות ומהדרים | מפרש • פרדיגמת תכנות (תכנות פרוצדורלי • תכנות מונחה עצמים • תכנות פונקציונלי • תכנות לוגי) |
| חישוב מבוזר ועיבוד מקבילי | עיבוד מקבילי • מחשוב סריגי • בקרת מקביליות |
| הנדסת תוכנה | ניתוח מערכות מידע • עיצוב תוכנה • תכנות מחשבים • שיטות פורמליות • בדיקות תוכנה • מתודולוגיית פיתוח תוכנה |
| תקשורת | ניתוב • טופולוגיית רשת • קריפטוגרפיה |
| מסד נתונים | מסד נתונים יחסי • SQL • תנועה • אינדקסים • כריית מידע • CAP theorem |
| בינה מלאכותית | חשיבה אוטומטית • בלשנות חישובית • ראייה ממוחשבת • עיבוד שפה טבעית • בינה חישובית • מערכת מומחה • למידה חישובית • רובוטיקה |
| גרפיקה | הדמיה ממוחשבת • הנפשה ממוחשבת • עיבוד תמונה |
| שפות פורמליות | שפה רגולרית • שפה חסרת הקשר • שפה תלוית הקשר • ההיררכיה של חומסקי |
| שימושים במדע | ביואינפורמטיקה • מדעים קוגניטיביים • כימיה חישובית • פיזיקה חישובית • אנליזה נומרית |

|  |  |
| --- | --- |
| בקרת זהויות עריכת הנתון בוויקינתונים | 
* GND: 4133249-0
* NKC: ph903881

 |