לדלג לתוכן

תרגול מסלול בקשת קלט ופלט

צרו קובץ מעבדה עם הטקסט ABCDEFGH. הריצו את התוכנית מן ההרצאה וכתבו מה נקרא מכל handle. לאחר מכן החליפו את השכפול בפתיחה נוספת והסבירו את השינוי.

הוסיפו SetFilePointerEx על ה־handle המשוכפל לפני הקריאה הראשונה. בדקו כיצד הדבר משפיע על הקריאה מן ה־handle המקורי. אין להריץ את שינוי הסמן במקביל ללא סנכרון; נתחו קודם את המרוץ האפשרי.

אספו trace ממוקד של שתי הגרסאות. קשרו כל אירוע לפתיחה, לסמן או לקריאה, והפרידו בין מה שנצפה ב־Process Monitor לבין מה שלא ידוע על גישה פיזית לאחסון.

ציירו מסלול של בקשת קריאה הכולל handle table, file object, I/O manager, filesystem ושכבת אחסון. ציינו היכן cache או Fast I/O יכולים לשנות את הסיפור הפשוט.