ליבת מערכת ההפעלה צריכה לספק תהליך בקרת I/O מלא ולהכין מספר רב של מבני נתונים שונים לניהול זרימת ה-I/O בין מודולים שונים. מודולים אלה כוללים: שכבת ספריית VFS, שכבת מטמון עמוד, שכבת מערכת קבצים, שכבת עיבוד רשת, שכבת בלוק משותפת, שכבת מתזמן I/O, שכבת מנהל התקן חסימה, שכבת מנהל התקן בקר ערוץ I/O חיצוני. שכבות אלו יוצרות יחד ערימת פרוטוקול I/O גדולה ומורכבת. אני בטוח שכבר יש לך מושג איך תוכניות משתמשות בהתקני קלט/פלט. מכשירי ה-I/O הנפוצים ביותר מתחלקים לשלוש קטגוריות: כרטיס רשת מכשירים, התקני אחסון(st2400mm0129), והתקנים אינטראקטיביים כגון מקלדות/עכברים. ניתן לחבר התקנים אלו למערכת באמצעות יציאות PCIE או USB. השאלה היא איך הנתונים הנשלחים אליהם נוצרים ונשלחים כל הדרך אל מנהל ההתקן ואל המכשיר? אם תוכנית מצב משתמש רוצה לקרוא את התוכן של סקטור 0 של מאוורר דיסק קשיח, היא לא יכולה לתפעל ישירות את הדיסק הקשיח, מכיוון שהיא לא יכולה לקרוא לפונקציות הניתנות על ידי התקן דיסק קשיח מנהל התקן, הוא יכול רק להאציל את קוד הליבה לעשות זאת באמצעות קריאת המערכת לקרוא. בפרמטרים של קריאת מערכת הקריאה, התוכנית בצד המשתמש חייבת לפחות לומר לקרנל: איזה מכשיר לקרוא, מאילו בייטים של המכשיר לקרוא, היכן להחזיר את הנתונים שנקראו בחזרה לזיכרון ופרמטרים נוספים (כגון באיזו דרך לקרוא בעת קריאה וכו'). אותו דבר לגבי קריאת קבצים.
שני 21/11 - יום רביעי 23/11: 9:00 - 20:00 יום ה' 24/11: סגור - חג הודיה שמח! שישי 25/11: 8:00 - 22:00 שבת 26/11 - א' 27/11: 10:00 - 21:00 (כל השעות הן שעון המזרח)