חיזוי זמני העתקת קבצים
כאשר אתה מעתיק קבצים רצים ברקע הרבה תהליכים נוספים. החל מתוכנת האנטיוירוס שלך שמתעקשת לבדוק את אותם הקבצים דווקא כאשר אתה מעביר אותם למקום אחר, ועד לתוכנות שכלל לא קשורות למשימת העתקה כמו למשל תוכנת ההודעות המידיות שברשותך שמבקשת מידע מהדיסק או הדפדפן שלך שבאותו הרגע ממש מבקש להתעסק עם המטמון בדיסק.
צוואר הבקבוק במקרה זה הוא גישה להתקנים כגון דיסק קשיח והתקנים חיצוניים דוגמת התקן הזיכרון הנשלף שברשותך. אלו הם התקני זיכרון אטיים משמעותית מזיכרון המחשב, והמוגבלות המובנית שלהם היא עקב אכילס של תכנון מוקדם של הזמן שייקח לביצוע הפעולה.
הדיסק הקשיח שברשותך מורכב ממספר פלטות דיסק שמסתובבות במחשב במהירות גבוהה (5400 סיבובים לדקה עבור הדיסקים האטיים ביותר) והנתונים נשמרים עליהם בצורה מגנטית. עבור כל פעולת קריאה או כתיבה רכיב מכני בשם "הראש" צריך להגיע אל הנקודה בה שמורים הנתונים, ולעתים קרובות הנתונים לא נשמרים בצורה עקבית ולצורך כך הוא נאלץ לדלג לנקודות שונות בזמן ביצוע הפעולה (ניתן לצמצם זמן זה באמצעות פעולת האיחוי). עכשיו אם מתבצעת ברקע פעולת קריאה/כתיבה נוספת מאותו ההתקן במהלך הפעולה הקודמת, הראש נאלץ למלא את דרישותיהן המוגזמות של מנהליו ולדלג בין שתי המשימות (או יותר!) כדי שכולם יהיו מרוצים באופן המהיר ביותר.
התקן זיכרון מסוג פלאש, שכנראה משמש אותך בתור "דיסק על מפתח" אמנם מהיר יותר, אבל הם פיזית רחוקים יותר מלבו הפועם של המחשב ולעתים קרובות מהירותם מושפעת מטיב המוצר ומהמרחק שלו מהמחשב. שים לב שההתקנים החיצוניים בעלי הנפחים הגדולים אינם פלאש אלא דיסקים קשיחים מגנטיים רגילים שאובזרו בחיבור USB ולרוב גם במארז יפה יותר מאחיהם שנמצאים בקרבי המחשב.
כאשר המחשב מחשב את זמני ההעברה הוא עושה זאת בהערכה גסה. הוא יודע את מהירותם של ההתקנים השונים ויודע לחזות כמה זמן תיקח ההעברה, אלא שתהליכים נוספים שנכנסים באמצע ומפריעים כמו גם אילוצי חומרה כמו אלו שתיארתי מעלה משפיעים על החישוב. במהלך ביצוע הפעולה המערכת מזהה את השפעת התהליכים הנוספים על הערכת החישוב הקודמת, ומשפרת את ההערכה בהתחשב בנתונים ובביצועים החדשים. כמובן שהחישוב יהיה גס מאד לכל אורך הפעולה כי קשה לחזות את השפעתם של גורמים נוספים בפעולה כאשר לא ידוע לנו מראש מה תפקידם ומהו פרק הזמן של ההתערבות שלהם בפועל, למרות שקיימים אלגוריתמי חיזוי מסובכים שמתיימרים לחזות מראש את הזמנים. כפי שאתה בוודאי יודע, מלאכת החיזוי היא עבודה די מפוקפקת, וכשם שחזאי מזג האוויר מתקשים לחזות מראש אם היום ירד שלג או שתזרח שמש קיצית, כך גם עם מטלות חיזוי בתחומי חיים אחרים.
אגב, התקני זיכרון אטיים יותר, כגון כונני דיסקטים מושפעים אף יותר מפעולות היקפיות. זה למה שמערכות הפעלה עתיקות, בתקופה בה ריבוי משימות על מחשב ביתי היה מונח חדש יחסית, היו מאטות משמעותית את כל העבודה על המחשב, ברמה כזו שאפילו סמן העכבר היה קופא לא פעם במהלך פעולת הקריאה/כתיבה. המזל שלנו הוא שאותם ההתקנים לא היו בעלי נפחים גבוהים, וכיום כל תוצר עיבוד תמלילים ממוצע עשוי לעבור את מגבלת הנפח של אותם דיסקטים. ☺