דפים

Tuesday, July 12, 2011

התקנים לחלונות

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


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

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

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

אגב, יש כלי מצויין בוינדואוס, שנקרא Driver Verifier, המספק יכולת לוודא שהדרייברים שכתבתם תקינים מבחינת ניהול זכרון, עמידה בעומס, עמידה במצב בו במערכת יש מעט מאוד משאבים, בדיקות I/O, זיהוי דד-לוקים, באגים הקשורים בשימוש ברמות IRQ לא נכונות ועוד תכונות נוספות שמפורטות כאן.

שיר הסיום המתאים כאן צריך לדבר על Drivers, אז הנה אחד ה Driving songs הכי אהובים עליי:


No comments:

Post a Comment