מה מחשב עושה: קלט, עיבוד, זיכרון ופלט
מושגים להכיר:
- Input (קלט)
- CPU (מעבד)
- RAM (זיכרון עבודה זמני)
- Storage (אחסון)
- Output (פלט)
מסר השיעור
בסוף תוכלו להסביר את התפקידים של קלט, עיבוד, זיכרון ופלט, ולקרוא מסלול של פעולה כדי לזהות היכן המידע נכנס, משתנה, מוחזק ומוצג.
שאלה לפתיחה
אתם מקלידים בקשה: "להוסיף מדף". לוחצים על כפתור, והבקשה מופיעה ברשימה. מה עבר בין האצבעות שלכם לבין השורה החדשה על המסך?
נותר מעט מאוד מקום פנוי באחסון של רשימת הבקשות. מחליפים את המעבד במעבד מהיר יותר, בלי לפנות אחסון. בחרו תשובה אחת לעצמכם: האם עכשיו יש יותר מקום לשמור בקשות, או שהמקום נשאר כפי שהיה?
ארבעה תפקידים בתוך פעולה אחת
נחשוב על מחשב דרך מה שהוא עושה למידע. זהו מודל פשוט: קלט (Input) מכניס מידע. עיבוד פועל עליו לפי הוראות, זיכרון מחזיק אותו, ופלט (Output) מוציא תוצאה. אלה תפקידים, ולכן אותה פעולה של אדם יכולה להפעיל כמה מהם בזה אחר זה. אין צורך למצוא ארבע קופסאות נפרדות בתוך כל מכשיר כדי להשתמש במודל.
באפליקציית הבקשות שלנו מקלידים כותרת ובוחרים "הוספה". האותיות והלחיצה הן מידע שנכנס למחשב. זה הקלט. התוכנה קובעת מה לעשות עם המידע: ליצור פריט, לתת לו מצב התחלתי ולצרף אותו לרשימה. המעבד מבצע את ההוראות. שמו באנגלית הוא CPU. הרשימה שמוצגת לכם היא פלט. המסך מציג את התוצאה; הוא אינו המקום שבו נקבע הכלל של יצירת בקשה.
כדי לעבוד על הרשימה, המחשב צריך להחזיק מידע בזמן העבודה. RAM הוא זיכרון העבודה הזמני. הוא מחזיק נתונים והוראות שנחוצים לתוכניות בזמן שהן פועלות. אחסון (Storage) הוא מקום לשמירת מידע מעבר לעבודה הנוכחית, למשל כונן שבו נשמר קובץ הבקשות. במפת ארבעת התפקידים, "זיכרון" כולל גם זיכרון עבודה זמני וגם אחסון. כדי לדייק, נציין באיזה מהם מדובר.
נעקוב אחרי שתי בקשות. הראשונה כבר נשמרה בקובץ. השנייה נמצאת עדיין בשדה ההקלדה באפליקציה שלנו, שבה שמירה נעשית רק בלחיצה על "שמירה". שתיהן עשויות להופיע על המסך באותו רגע, אבל מצב השמירה שלהן שונה. אם העבודה נקטעת לפני שמירת השנייה, עצם הופעתה על המסך אינה הוכחה שנשמרה. כדי לדעת מה יישאר, בודקים אם המידע נכתב לאחסון, ולא אם כבר ראינו אותו.
דמיינו שולחן עבודה וארון. על השולחן מונחים הדברים שבהם עובדים עכשיו; בארון נשמרים דברים לפעם הבאה. ההשוואה עוזרת להפריד תפקידים: שולחן גדול יותר אינו מוסיף מדפים לארון, וארון גדול יותר אינו עושה את העבודה במקומכם. גם במחשב, זיכרון עבודה, אחסון ועיבוד הם משאבים שונים. הדימוי עוזר לזכור את התפקידים. הוא אינו מתאר איך החלקים בתוך המחשב פועלים.
נחזור לניבוי. אחרי החלפת המעבד, כמות המקום הפנוי בכונן לא השתנתה. המעבד החדש יכול לסיים עבודת חישוב מהר יותר אם אותה עבודה מוגבלת על ידי המעבד, אבל הוא לא הוסיף קיבולת אחסון. אם חסר מקום לקובץ, עבודה מהירה יותר על תוכנו אינה יוצרת עבורו מקום. לפני שמציעים שיפור, צריך לזהות איזה משאב מגביל את הפעולה.
גם המשפט "המחשב איטי" אינו מצביע לבדו על רכיב אחד. עבודה שמחכה לחישוב, עבודה שמתמודדת עם מחסור בזיכרון עבודה ועבודה שמחכה לקריאת נתונים עשויות כולן להרגיש איטיות. מערכת הפעלה היא התוכנה הבסיסית שמפעילה את המחשב ומחלקת את הזיכרון, את הקבצים ואת זמן העבודה בין התוכניות שרצות עליו. כאשר זיכרון העבודה הזמין אינו מספיק, מערכת ההפעלה יכולה להשתמש באחסון כחלק מניהול הזיכרון; הדבר עשוי להאט את העבודה. אותה תחושת איטיות יכולה לנבוע מסיבות שונות. כדי לזהות את הסיבה במחשב מסוים צריך מידע נוסף.
להבחנה יש שימוש גם בלי לפתוח מחשב ובלי למדוד ביצועים. אם נאמר בתרחיש שהאחסון מלא, חפשו פעולה שצריכה לשמור מידע נוסף. אם נאמר שעומס החישוב גדל, חפשו את שלב העיבוד. אם מספר התוכניות הפעילות גדל ואין די זיכרון עבודה, חפשו את המידע שצריך להחזיק בזמן הפעולה. מתחילים מהתפקיד ומהנתון שנמסר, ורק אחר כך מסיקים מה עשוי להשתנות.
מסלול הבקשה
קראו את הכרטיס הבא לפי סדרו: 1. הכותרת "להוסיף מדף" נכנסת מהמקלדת. 2. התוכנה מצרפת כותרת ומצב "חדשה" לפריט ברשימה. 3. הפריט מוחזק בזיכרון העבודה בזמן שהאפליקציה פתוחה. 4. לאחר בחירה ב"שמירה", הרשימה נכתבת לקובץ באחסון. 5. המסך מציג את הרשימה. זהו מסלול העבודה שהגדרנו לאפליקציה הקטנה.
בקריאה הראשונה שאלו על כל שורה: מה קורה למידע כאן? בשורה 1 הוא נכנס, ולכן זה תפקיד הקלט. בשורה 2 התוכנה פועלת עליו, ולכן זה עיבוד. בשורות 3 ו־4 הוא מוחזק, אבל למשכים ולמטרות שונים: עבודה נוכחית לעומת שמירה. בשורה 5 הוא מוצג לכם, ולכן זה פלט. המספרים עוזרים לעקוב אחרי הסיפור, ולא קובעים שכל תוכנה פועלת בדיוק בחמישה צעדים כאלה.
בקריאה השנייה בדקו על מה המשפט מוסר מידע ועל מה לא. "הבקשה הוצגה" מוסר מידע על הפלט. הוא לא אומר אם שורת השמירה בוצעה. "הקובץ נשמר" מוסר מידע על האחסון. הוא לא אומר שהכותרת שנכתבה נכונה. כך אפשר להפריד בין השאלה "האם הפעולה התרחשה?" לבין השאלה "האם המידע שקיבלנו הוא מה שהתכוונו לקבל?".
כאשר שאלה מבקשת למיין רכיב, חפשו את תפקידו במקרה הנתון. המקלדת בכרטיס היא אמצעי קלט; המעבד הוא רכיב העיבוד; זיכרון העבודה והכונן מחזיקים מידע; המסך מציג פלט. כאשר השאלה מבקשת למיין שלב, השתמשו בתיאור המדויק שלו. "שמירת בקשה" כוללת עיבוד וכתיבה, ולכן לא נמיין אותה כאילו הייתה רכיב יחיד. נפריד בין ההחלטה מה לשמור לבין המקום שמחזיק את המידע.
אותה מפה, תוצאה אחרת
עכשיו באפליקציה אחרת מקלידים שלושה מספרים ורואים את סכומם. האפליקציה אינה שומרת קובץ. נסו לומר מהו הקלט, מהו העיבוד ומהו הפלט, ומה חסר כדי לטעון שהתוצאה נשמרה לפעם הבאה. עצרו לפני הפסקה הבאה ונסחו תשובה במילים שלכם.
הצגת הסבר
המספרים שהוקלדו הם הקלט; חיבורם הוא העיבוד; הסכום המוצג הוא הפלט. במהלך החישוב מוחזק מידע בזיכרון העבודה. בתרחיש נאמר שלא נשמר קובץ, ולכן אין בסיס להסיק שהסכום נשמר באחסון. אין צורך ביישום בקשות דווקא כדי להשתמש במפה: אותה דרך קריאה עוקבת אחרי מידע גם במחשבון.
השתמשו בארבע שאלות קצרות כשאתם פוגשים פעולה חדשה: מה נכנס? לפי איזה כלל פועלים עליו? היכן הוא מוחזק, ולצורך מה? מה יוצא? אם פעולה אינה מצליחה, הוסיפו שאלה חמישית: איזה משאב או שלב הוגדר כמוגבל? זו דרך להסביר את המקרה לפי מה שידוע, לפני שמנסים לנחש איזה רכיב צריך להחליף.
מה קורה למידע?
בתרגול תנבאו מה יקרה בשלושה מצבים של מגבלת משאבים ותגלו הסבר לאחר הבחירה. לאחר מכן תמיינו ארבעה תיאורים לפי תפקידם במסלול הבקשה. לכל בחירה יוצג הסבר.
קראו כל פריט, בחרו תשובה ואחר כך קראו את המשוב. אפשר לתקן בחירה לפני המעבר לפריט הבא.
בדיקת ידע
בחרו תשובה אחת לכל שאלה. לאחר שליחת התשובות יופיע משוב לכל בחירה.
סיכום השיעור
- מבחינים בין קלט שמכניס מידע, עיבוד שפועל עליו, זיכרון שמחזיק אותו ופלט שמציג תוצאה.
- מפרידים בין זיכרון עבודה זמני לבין אחסון ששומר מידע מעבר לעבודה הנוכחית.
- בודקים איזה משאב מגביל את הפעולה לפני שמציעים שיפור.
- בודקים קודם איזה משאב חסר בפועל, ורק אז בוחרים את השיפור שמתאים לו.
בשיעור הבא: מי מנהל את הזיכרון והקבצים כשכמה תוכניות צריכות אותם באותו זמן?