האם מכשירי Plug and Play זקוקים לנהגים?
מידע כללי על תמיכה במכשירי Plug & Play
ברגע שה- BIOS זיהה את ההנעה הקשה, את כרטיס המסך והמקלדת היא מוכנה להתחיל לאתחל (טעינת מערכת ההפעלה לזיכרון מהדיסק הקשיח). אם אמרת ל- BIOS שיש לך מערכת הפעלה של PNP (OS PNP), היא צריכה להתחיל לאתחל את המחשב כנ”ל ולתת למערכת ההפעלה לסיים את הגדרת PNP. אחרת, PNP-BIOs ינסה ככל הנראה (לפני האתחול) ינסה לבצע את שאר תצורת ה- PNP של מכשירים (אך לא יודיעו למנהלי ההתקנים מה זה עשה). אבל הנהגים עדיין יכולים לגלות זאת על ידי שימוש בפונקציות הזמינות בגרעין לינוקס.
האם מכשירי Plug and Play זקוקים לנהגים?
אם אינך מבין את החלק הזה, קרא את הסעיף הבא למכשירי חומרה ותקשורת איתם
מפושט יתר על המידה, Plug-and-Play אומר לתוכנה (מנהלי התקנים) היכן ניתן למצוא פיסות חומרה שונות (מכשירים) כגון מודמים, כרטיסי רשת, כרטיסי קול וכו ‘. המשימה של Plug-and-Play היא להתאים מכשירים פיזיים לתוכנה (מנהלי התקנים) המפעילה אותם ולהקים ערוצי תקשורת בין כל מכשיר פיזי למנהל התקן שלו. על מנת להשיג זאת, PNP מקצה ומגדיר את “משאבי האוטובוס” הבאים בחומרה: כתובות קלט/פלט, אזורי זיכרון, IRQS, ערוצי DMA (LPC ו- ISA אוטובוסים בלבד). 4 הדברים האלה נקראים לפעמים “משאבי סדר ראשון” או סתם “משאבים”. PNP שומר על תיעוד של מה שהוא נעשה ומאפשר למנהלי התקנים לקבל מידע זה. אם אינך מבין מהן ארבעת משאבי האוטובוס האלה, קרא את הסעיפים הבאים של HowTO: כתובות קלט/פלט, IRQS, ערוצי DMA, אזורי זיכרון. מאמר ב- Linux Gazette בנוגע לשלושה של משאבי אוטובוס אלה הוא מבוא ל- IRQS, DMAS וכתובות בסיס. לאחר שהוקצו משאבי האוטובוס הללו (ואם התקנת מנהל ההתקן הנכון), מנהל התקן בפועל ו”קבצים “עבורו בספריה /dev מוכנים לשימוש.
הקצאת PNP זו של משאבי אוטובוס נקראת לעיתים “הגדרת תצורה” אך היא רק סוג של תצורה של רמה נמוכה. בספריית /ETC יש קבצי תצורה רבים אך רובם אינם מיועדים לתצורת PNP. כך שלרוב התצורה של מכשירי חומרה לא קשור ל- PNP או לאוטובוס משאבים. לדוגמא אתחול של מודם על ידי “מחרוזת init” או הגדרת המהירות שלו אינו PNP. לפיכך כשמדברים על PNP, “הגדרת תצורה” פירושה רק סוג מסוים של תצורה. בעוד שתיעוד אחר (כמו למשל ל- MS Windows) פשוט קורא למשאבי אוטובוס “משאבים”, אני לפעמים משתמש במונח “מקלע אוטובוס” במקום רק “משאבים” כדי להבדיל אותו בין ריבוי סוגים אחרים של משאבים אחרים.
PNP הוא תהליך שנעשה על ידי תוכנה וחומרה שונים. אם הייתה רק תוכנית אחת שטיפלה ב- PNP בלינוקס, זה יהיה פשוט. אבל עם לינוקס, כל מנהל התקן עושה PNP משלו, באמצעות תוכנה המסופקת על ידי הגרעין. חומרת ה- BIOS של המחשב עושה PNP כאשר מחשב מופעל לראשונה. ויש הרבה יותר מזה.
מחשב מורכב ממעבד/מעבד לבצע את המחשוב וזיכרון ה- RAM לאחסון תוכניות ונתונים (לגישה מהירה). בנוסף, ישנם מספר מכשירים כמו סוגים שונים של כונני דיסק, כרטיס מסך, מקלדת, מכשירי רשת, כרטיסי מודם, מכשירי קול, אוטובוס USB, יציאות סדרתיות ומקבילות וכו ‘. בימים עברו רוב המכשירים היו בכרטיסים שהוכנסו לחריצים במחשב האישי. כיום מכשירים רבים שהיו בעבר כרטיסים נמצאים כעת על הסיפון מכיוון שהם כלולים בצ’יפס על לוח האם. .
כרטיסים שמתחברים ללוח האם עשויים להכיל יותר ממכשיר אחד. שבבי זיכרון נחשבים לפעמים למכשירים אך אינם פלאג-משחק במובן המשמש בהאזור זה.
כדי שמערכת המחשבים תעבוד נכון, כל מכשיר חייב להיות בשליטת “מנהל התקן” שלו. זוהי תוכנה שהיא חלק ממערכת ההפעלה (אולי טעונה כמודול) ופועלת על המעבד. מנהלי התקנים משויכים ל”קבצים מיוחדים “בספריה /dev למרות שהם לא באמת קבצים. יש להם שמות כמו HDA3 (מחיצה שלישית בכונן הקשיח A), TTYS1 (היציאה הסדרתית השנייה), ETH0 (כרטיס ה- Ethernet הראשון) וכו ‘.
מכשיר ETH0 מיועד לכרטיס Ethernet (כרטיס NIC). לשעבר זה היה /dev /eth0 אבל זה עכשיו רק מכשיר וירטואלי בגרעין. למה eth0 מתייחס אליו תלוי בסוג כרטיס ה- Ethernet שיש לך. אם הנהג הוא מודול, הקצאה זו ככל הנראה בטבלת גרעין פנימית אך עשויה להימצא ב- /etc /מודולים.Conf (נקרא “כינוי”). לדוגמה, אם יש לך כרטיס Ethernet המשתמש בשבב “צבעוני” אתה יכול להכניס “כינוי eth0 Tulip” ל- /etc /modules.CONF כך שכאשר המחשב שלך מבקש את ETH0 הוא מוצא את מנהל ההתקן הצבעוני. עם זאת, גרעינים מודרניים יכולים בדרך כלל למצוא את מודול הנהג הנכון כך שלעתים רחוקות תצטרך לציין אותו בעצמך.
כדי לשלוט במכשיר, המעבד (בשליטת מנהל ההתקן) שולח פקודות ונתונים וקורא סטטוס ונתונים מהמכשירים השונים. כדי לעשות זאת, על כל מנהל התקן לדעת את כתובת המכשיר שהוא שולט בה. הכרת כתובת כזו שווה להקים ערוץ תקשורת, למרות שה”ערוץ “הפיזי הוא למעשה אוטובוס הנתונים בתוך המחשב המשותף למכשירים רבים אחרים.
ערוץ תקשורת זה הוא למעשה קצת יותר מורכב ממה שתואר לעיל. “כתובת” היא למעשה מגוון כתובות, כך שלפעמים משתמשים במילה “טווח” במקום “כתובת”. יכול להיות אפילו יותר מטווח אחד (ללא חפיפה) למכשיר יחיד. כמו כן, יש חלק הפוך בערוץ (המכונה הפרעות) המאפשר למכשירים לשלוח בקשה דחופה “עזרה” למנהל התקן שלהם.
לאוטובוס ה- PCI יש 3 מקומות כתובת: קלט/פלט, זיכרון ראשי (זיכרון IO) ותצורה.
מידע כללי על תמיכה במכשירי Plug & Play
ברגע שה- BIOS זיהה את ההנעה הקשה, את כרטיס המסך והמקלדת היא מוכנה להתחיל לאתחל (טעינת מערכת ההפעלה לזיכרון מהדיסק הקשיח). אם אמרת ל- BIOS שיש לך מערכת הפעלה של PNP (OS PNP), היא צריכה להתחיל לאתחל את המחשב כנ”ל ולתת למערכת ההפעלה לסיים את הגדרת PNP. אחרת, PNP-BIOs ינסה ככל הנראה (לפני האתחול) ינסה לבצע את שאר תצורת ה- PNP של מכשירים (אך לא יודיעו למנהלי ההתקנים מה זה עשה). אבל הנהגים עדיין יכולים לגלות זאת על ידי שימוש בפונקציות הזמינות בגרעין לינוקס.
האם מכשירי Plug and Play זקוקים לנהגים?
אם אינך מבין את החלק הזה, קרא את הסעיף הבא למכשירי חומרה ותקשורת איתם
מפושט יתר על המידה, Plug-and-Play אומר לתוכנה (מנהלי התקנים) היכן ניתן למצוא פיסות חומרה שונות (מכשירים) כגון מודמים, כרטיסי רשת, כרטיסי קול וכו ‘. המשימה של Plug-and-Play היא להתאים מכשירים פיזיים לתוכנה (מנהלי התקנים) המפעילה אותם ולהקים ערוצי תקשורת בין כל מכשיר פיזי למנהל התקן שלו. על מנת להשיג זאת, PNP מקצה ומגדיר את “משאבי האוטובוס” הבאים בחומרה: כתובות קלט/פלט, אזורי זיכרון, IRQS, ערוצי DMA (LPC ו- ISA אוטובוסים בלבד). 4 הדברים האלה נקראים לפעמים “משאבי סדר ראשון” או סתם “משאבים”. PNP שומר על תיעוד של מה שהוא נעשה ומאפשר למנהלי התקנים לקבל מידע זה. אם אינך מבין מהן ארבעת משאבי האוטובוס האלה, קרא את הסעיפים הבאים של HowTO: כתובות קלט/פלט, IRQS, ערוצי DMA, אזורי זיכרון. מאמר ב- Linux Gazette בנוגע לשלושה של משאבי אוטובוס אלה הוא מבוא ל- IRQS, DMAS וכתובות בסיס. לאחר שהוקצו משאבי האוטובוס הללו (ואם התקנת מנהל ההתקן הנכון), מנהל התקן בפועל ו”קבצים “עבורו בספריה /dev מוכנים לשימוש.
הקצאת PNP זו של משאבי אוטובוס נקראת לעיתים “הגדרת תצורה” אך היא רק סוג של תצורה של רמה נמוכה. בספריית /ETC יש קבצי תצורה רבים אך רובם אינם מיועדים לתצורת PNP. כך שלרוב התצורה של מכשירי חומרה לא קשור ל- PNP או לאוטובוס משאבים. עבור, דוגמה לאתחול של מודם על ידי “מחרוזת init” או הגדרת המהירות אינה PNP. לפיכך כשמדברים על PNP, “הגדרת תצורה” פירושה רק סוג מסוים של תצורה. בעוד שתיעוד אחר (כמו למשל ל- MS Windows) פשוט קורא למשאבי אוטובוס “משאבים”, אני לפעמים משתמש במונח “מקלע אוטובוס” במקום רק “משאבים” כדי להבדיל אותו בין ריבוי סוגים אחרים של משאבים אחרים.
PNP הוא תהליך שנעשה על ידי תוכנה וחומרה שונים. אם הייתה רק תוכנית אחת שטיפלה ב- PNP בלינוקס, זה יהיה פשוט. אבל עם לינוקס כל מנהל התקן עושה את ה- PNP שלו, באמצעות תוכנה המסופקת על ידי הגרעין. חומרת ה- BIOS של המחשב עושה PNP כאשר מחשב מופעל לראשונה. ויש הרבה יותר מזה.
מחשב מורכב ממעבד/מעבד לבצע את המחשוב וזיכרון ה- RAM לאחסון תוכניות ונתונים (לגישה מהירה). בנוסף, ישנם מספר מכשירים כמו סוגים שונים של כונני דיסק, כרטיס מסך, מקלדת, מכשירי רשת, כרטיסי מודם, מכשירי קול, אוטובוס USB, יציאות סדרתיות ומקבילות וכו ‘. בימים עברו רוב המכשירים היו בכרטיסים שהוכנסו לחריצים במחשב האישי. כיום מכשירים רבים שהיו בעבר כרטיסים, נמצאים כעת על הסיפון מכיוון שהם כלולים בצ’יפס על לוח האם. יש גם ספק כוח המספק אנרגיה חשמלית, אוטובוסים שונים על לוח האם לחיבור המכשירים למעבד, ומקרה להכניס את כל זה.
כרטיסים שמתחברים ללוח האם עשויים להכיל יותר ממכשיר אחד. שבבי זיכרון נחשבים לפעמים למכשירים אך אינם פלאג-משחק במובן המשמש בהאזור זה.
כדי שמערכת המחשבים תעבוד נכון, כל מכשיר חייב להיות בשליטת “מנהל התקן” שלו. זוהי תוכנה שהיא חלק ממערכת ההפעלה (אולי טעונה כמודול) ופועלת על המעבד. מנהלי התקנים משויכים ל”קבצים מיוחדים “בספריה /dev למרות שהם לא באמת קבצים. יש להם שמות כמו HDA3 (מחיצה שלישית בכונן הקשיח A), TTYS1 (היציאה הסדרתית השנייה), ETH0 (כרטיס ה- Ethernet הראשון) וכו ‘.
מכשיר ETH0 מיועד לכרטיס Ethernet (כרטיס NIC). לשעבר זה היה /dev /eth0 אבל זה עכשיו רק מכשיר וירטואלי בגרעין. למה eth0 מתייחס אליו תלוי בסוג כרטיס ה- Ethernet שיש לך. אם הנהג הוא מודול, הקצאה זו ככל הנראה בטבלת גרעין פנימית אך עשויה להימצא ב- /etc /מודולים.Conf (נקרא “כינוי”). לדוגמה, אם יש לך כרטיס Ethernet המשתמש בשבב “צבעוני” אתה יכול להכניס “כינוי eth0 Tulip” ל- /etc /modules.CONF כך שכאשר המחשב שלך מבקש את ETH0 הוא מוצא את מנהל ההתקן הצבעוני. עם זאת, גרעינים מודרניים יכולים בדרך כלל למצוא את מודול הנהג הנכון כך שלעתים רחוקות תצטרך לציין אותו בעצמך.
כדי לשלוט במכשיר, המעבד (בשליטת מנהל ההתקן) שולח פקודות ונתונים וקורא סטטוס ונתונים מהמכשירים השונים. על מנת לעשות זאת כל מנהל התקן חייב לדעת את כתובת המכשיר שהוא שולט בה. הכרת כתובת כזו שווה להקים ערוץ תקשורת, למרות שה”ערוץ “הפיזי הוא למעשה אוטובוס הנתונים בתוך המחשב המשותף למכשירים רבים אחרים.
ערוץ תקשורת זה הוא למעשה קצת יותר מורכב ממה שתואר לעיל. “כתובת” היא למעשה מגוון כתובות כך שלפעמים משתמשים במילה “טווח” במקום “כתובת”. יכול להיות אפילו טווח אחד (ללא חפיפה) למכשיר יחיד. כמו כן, יש חלק הפוך בערוץ (המכונה הפרעות) המאפשר למכשירים לשלוח בקשה דחופה “עזרה” למנהל התקן שלהם.
לאוטובוס ה- PCI יש 3 מקומות כתובת: קלט/פלט, זיכרון ראשי (זיכרון IO) ותצורה. אוטובוס ה- ISA הישן חסר שטח כתובת “תצורה” אמיתי. רק חללי הזיכרון I/0 ו- IO משמשים למכשיר IO. כתובות התצורה קבועות ולא ניתן לשנות אותה כך שלא צריך להקצות אותן. לפרטים נוספים עיין בשטח כתובת תצורת PCI
כאשר המעבד רוצה לגשת למכשיר, הוא מכניס את כתובת המכשיר באוטובוס מרכזי של המחשב (עבור PCI: כתובת/אוטובוס נתונים). כל סוגי הכתובות (כגון קלט/פלט וזיכרון ראשי) חולקים את אותו האוטובוס במחשב האישי. אבל נוכחות או היעדר מתח על חוטים ייעודיים מסוימים באוטובוס של המחשב מספר באיזה “מרחב” כתובת נמצאת: קלט/פלט, זיכרון ראשי, (ראה טווחי זיכרון) או תצורה (PCI בלבד). זה מעט מפושט יתר על המידה מכיוון שאומר למכשיר PCI שמדובר בגישה לשטח תצורה היא למעשה מורכבת יותר מהתואר לעיל. ראה שטח כתובת תצורת PCI לפרטים. עיין בפרטי כתובת לקבלת פרטים נוספים על כתובת באופן כללי.
הכתובות של מכשיר מאוחסנות ברשומותיו במכשיר הפיזי. ניתן לשנות אותם על ידי תוכנה ויכולים להיות מושבתים כך שלמכשיר אין כתובת בכלל. אלא שלא ניתן לשנות או להשבית את כתובת התצורה של ה- PCI.
מכשירים היו ממוקמים במקור במרחב הכתובות של קלט/פלט אך כיום הם עשויים להשתמש במרחב בזיכרון הראשי. כתובת I/0 נקראת לפעמים רק “I/O”, “IO”, “I/O” או “IO”. משתמשים גם במונחים “יציאת קלט/פלט” או “טווח קלט/פלט”. אל תבלבל את יציאות ה- IO האלה עם “זיכרון IO” שנמצא בזיכרון הראשי. ישנם שני צעדים עיקריים להקצאת כתובות הקלט/פלט (או כמה משאבי אוטובוס אחרים כמו הפרעות באוטובוס ISA):
- הגדר את כתובת הקלט/פלט וכו ‘. בחומרה (באחד מרשומותיה)
- תן למנהל התקן שלו לדעת מה כתובת הקלט/פלט הזו וכו ‘. הוא
לעתים קרובות, מנהל התקן עושה את שני אלה (סוג של). מנהל ההתקן לא צריך למעשה להגדיר כתובת קלט/פלט אם הוא מגלה שהכתובת נקבעה בעבר (אולי על ידי ה- BIOS) והיא מוכנה לקבל את הכתובת הזו. ברגע שהנהג גיליתי איזו כתובת נקבעה בעבר או קובעת את הכתובת עצמה, ברור שהיא יודעת מה הכתובת כך שאין צורך ליידע את הנהג לדעת את הכתובת -הוא כבר יודע זאת.
תהליך שני הצעדים למעלה (1. הגדר את הכתובת בחומרה. 2. תן לנהג לדעת זאת.) זה משהו כמו הבעיה של שני החלקים של מציאת מספר הבית של מישהו ברחוב. מישהו חייב להתקין מספר בחזית הבית כך שהוא יימצא ואז אנשים שאולי ירצו ללכת לכתובת זו חייבים להשיג (ולכתוב) את מספר הבית הזה כדי שיוכלו למצוא את הבית. עבור מחשבים, על חומרת המכשיר תחילה להכניס את הכתובת שלה לפנקס מיוחד בחומרה שלה (העלה את מספר הבית) ואז על מנהל ההתקן לקבל כתובת זו (כתוב את מספר הבית בספר הכתובות שלו). שני אלה חייבים להיעשות, באופן אוטומטי על ידי תוכנה או על ידי הזנת הנתונים באופן ידני לקבצי תצורה. בעיות עשויות להתרחש כאשר רק אחד מהם נעשה נכון.
לתצורת PNP ידנית אנשים מסוימים טועים בביצוע רק אחד משני הצעדים הללו ואז תוהים מדוע המחשב לא יכול למצוא את המכשיר. לדוגמה, הם עשויים להשתמש ב”סטסריאל “כדי להקצות כתובת ליציאה סדרתית מבלי להבין שזה רק אומר לנהג כתובת. זה לא מגדיר את הכתובת בחומרת היציאה הסדרתית עצמה. אם אמרת לנהג לא נכון אז אתה בצרה. דרך נוספת לומר לנהג היא למסור את הכתובת כאופציה למודול גרעין (מנהל התקן). אם מה שאתה אומר שזה לא בסדר, יכולות להיות בעיות. מנהל התקן חכם עשוי לזהות כיצד מוגדרת החומרה בפועל ולדחות את המידע השגוי המסופק על ידי האפשרות (או לפחות להנפיק הודעת שגיאה).
דרישה ברורה היא שלפני שמנהל התקן יכול להשתמש בכתובת, יש להגדיר אותו תחילה במכשיר הפיזי (כגון כרטיס). מכיוון שמנהלי התקנים לעתים קרובות מתחילים זמן קצר לאחר שתתחיל את המחשב, הם לפעמים מנסים לגשת לכרטיס (כדי לראות אם הוא שם וכו ‘.) לפני שהכתובת נקבעה בכרטיס על ידי תוכנית תצורת PNP. ואז אתה רואה הודעת שגיאה שהם לא יכולים למצוא את הכרטיס למרות שהוא שם (אך עדיין אין לה כתובת).
מה שנאמר בפסקאות האחרונות לגבי כתובות קלט/פלט חל בכוח שווה לרוב משאבי האוטובוס האחרים: טווחי זיכרון, IRQS-Overview ו- DMA ערוצים. מה אלה יוסברו בשלושת החלקים הבאים. היוצא מן הכל. ואז כרטיס ה- IRQ A PCI מנותב אליו נכתב לרשם הכרטיס למטרות מידע בלבד.
כדי לראות באילו כתובות IO משמשות במחשב האישי שלך, התבונן בקובץ /proc /ioports.
מכשירים רבים מוקצים שטח כתובות בזיכרון הראשי. זה נקרא לפעמים “זיכרון משותף” או “IO ממופה זיכרון” או “זיכרון IO”. זיכרון זה ממוקם פיזית בתוך המכשיר הפיזי אך המחשב ניגש אליו בדיוק כמו שהוא היה ניגש לזיכרון בצ’יפס זיכרון. כשמדברים על משאבי אוטובוס זה נקרא לעתים קרובות פשוט “זיכרון”, “mem” או “iomem”. בנוסף לשימוש ב”זיכרון “כזה, מכשיר כזה עשוי להשתמש גם בשטח כתובת IO קונבנציונאלי. כדי לראות מה MEM נמצא בשימוש במחשב שלך, התבונן /Proc /iomem. “קובץ” זה כולל את הזיכרון המשמש את שבבי זיכרון ה- RAM הרגילים שלך כך שהוא מציג הקצאת זיכרון באופן כללי ולא רק הקצאת IOMEM. אם אתה רואה מספר מוזר במקום שם, סביר להניח שזה מספר מכשיר PCI שתוכל לאמת על ידי הקלדת “LSPCI”.
כשאתה מכניס כרטיס המשתמש ב- IOMEM, אתה למעשה מכניס מודול זיכרון לזיכרון הראשי. כתובת גבוהה נבחרה עבורו על ידי PNP כך שהיא לא תתנגש עם מודולי הזיכרון העיקרי (CHIPS). זיכרון זה יכול להיות ROM (קרא רק זיכרון) או זיכרון משותף. הזיכרון המשותף משותף בין המכשיר למעבד (הפעלת מנהל התקן) בדיוק כשמרחב כתובת IO משותף בין המכשיר ל- CPU. זיכרון משותף זה משמש אמצעי לנתונים “העברה” בין המכשיר לזיכרון הראשי. זה קלט-פלט (IO) אבל זה לא נעשה במרחב IO. גם הכרטיס וגם מנהל ההתקן צריכים לדעת את טווח הזיכרון.
ROM (קרא רק זיכרון) בכרטיסים הוא סוג אחר של יומם. סביר להניח שזו תוכנית (אולי מנהל התקן) שתשמש עם המכשיר. זה יכול להיות קוד האתחול כך שעדיין נדרש מנהל התקן. יש לקוות שזה יעבוד עם לינוקס ולא רק MS Windows. יתכן שיהיה צורך להיות מוצל מה שאומר שהוא מועתק לשבבי הזיכרון הראשי שלך על מנת לרוץ מהר יותר. ברגע שזה מוצל זה כבר לא “קרא רק”.
לאחר קריאת זה אולי תרצה לקרוא הפרעות -פרטורים לפרטים רבים נוספים. . זה נקרא מספר IRQ (בקשת הפרעה) או סתם “IRQ” בקיצור. כבר הזכרנו לעיל כי מנהל התקן חייב לדעת את הכתובת של כרטיס על מנת להיות מסוגל לתקשר איתו.
אבל מה עם תקשורת בכיוון ההפוך? נניח שהמכשיר צריך לומר למנהל התקן שלו משהו מייד. לדוגמה, המכשיר עשוי לקבל הרבה בתים המיועדים לזיכרון הראשי והמאגר שלו המשמש לאחסון בתים אלה כמעט מלא. כך שהמכשיר צריך לומר לנהג שלו להביא בתים אלה בבת אחת לפני שהמאגר יעלה על גדותיו מהזרימה הנכנסת של בתים. דוגמא נוספת היא לאותת על הנהג שהמכשיר סיים לשלוח חבורה של בתים וכעת מחכה לכמה בתים נוספים מהנהג כדי שיוכל לשלוח אותם גם.
כיצד צריך המכשיר לאותת במהירות על הנהג שלו? יתכן שהוא לא יוכל להשתמש באוטובוס הנתונים הראשי מכיוון שהוא ככל הנראה כבר בשימוש. במקום זאת הוא שם מתח על חוט הפרעה ייעודי (נקרא גם קו או עקבות) אשר לעתים קרובות שמורים לאותו מכשיר בלבד. אות מתח זה נקרא בקשת הפרעה (IRQ) או סתם “הפרעה” בקיצור. יש את המקבילה ל -16 (או 24 וכו ‘.) חוטים כאלה במחשב וכל חוט מוביל (בעקיפין) למנהל התקן מסוים. . על המכשיר לשים את ההפרעה שלו על החוט הנכון ומנהל התקן חייב להאזין להפרעה על החוט הנכון. באיזה חוט המכשיר שולח “בקשות עזרה” שכאלה נקבע על ידי מספר ה- IRQ המאוחסן במכשיר. יש לדעת את אותו מספר IRQ למנהל התקן כך שמנהל התקן יודע באיזה קו IRQ להאזין עליו.
ברגע שמנהל התקן יקבל את ההפרעה מהמכשיר, עליו לברר מדוע הונפקה ההפרעה ולנקוט בפעולה מתאימה לשירות ההפרעה. באוטובוס ISA, כל מכשיר בדרך כלל זקוק למספר IRQ ייחודי משלו. עבור אוטובוס PCI ומקרים מיוחדים אחרים, מותר לשיתוף IRQS (שני מכשירי PCI או יותר עשויים להיות בעלי אותו מספר IRQ). כמו כן, עבור PCI, לכל מכשיר PCI יש חוט קבוע “הפרעת PCI”. אבל שבב ניתוב ניתן לתכנות ממפה את חוטי ה- PCI לפריעות מסוג ISA. ראה הפרעות -פרטנים לפרטים על אופן הפעולה של כל האמור לעיל.
- קריאת נתח של בתים ממרחב זיכרון הקלט/פלט של המכשיר ומכניס את הבתים האלה למעבד עצמו
- כתיבת בתים אלה מהמעבד לזיכרון הראשי
עם DMA זהו תהליך שלב אחד של שליחת הבתים ישירות מהמכשיר לזיכרון. המכשיר חייב להיות בעל יכולות DMA המובנות בחומרה שלו ולכן לא כל המכשירים יכולים לעשות DMA. בזמן ש- DMA נמשך, ה- CPU לא יכול לעשות יותר מדי מכיוון שהאוטובוס הראשי משמש את העברת DMA.
האוטובוס הישן של ISA יכול לעשות DMA איטי בזמן שאוטובוס ה- PCI עושה “DMA” על ידי שליטת אוטובוס. באוטובוס ה- LPC יש גם ה- DMA הישן וגם ה- DMA החדש (Mastering אוטובוס). באוטובוס ה- PCI, מה שבהודאי צריך להיקרא יותר “שליטת אוטובוס” נקרא לעתים קרובות “Ultra DMA”, “BM-DNA”, “UDMA”, או סתם “DMA”, שליטת האוטובוס מאפשרת למכשירים להפוך למאסטר האוטובוסים באופן זמני ולהעביר בתים כמעט כמו אדון האוטובוס היה ה- CPU. זה לא משתמש במספרים של ערוצים מכיוון שארגון אוטובוס ה- PCI הוא כזה שחומרת PCI יודעת איזה מכשיר הוא כרגע אדון האוטובוס ואיזה מכשיר מבקש להיות מאסטר באוטובוס. לפיכך אין הקצאת משאבים של ערוצי DMA לאוטובוס ה- PCI ולא קיימים משאבי ערוץ DMA לאוטובוס זה. האוטובוס LPC (ספירת סיכות נמוכה) אמור להיות מוגדר על ידי ה- BIOS כך שמשתמשים לא צריכים להזדקק לדאוג לעצמם בערוצי ה- DMA שלו.
זה מיועד רק לאוטובוס ה- LPC ולאוטובוס הישן של ISA. כאשר מכשיר רוצה לעשות DMA הוא מנפיק בקשת DMA באמצעות חוטי בקשת DMA ייעודיים כמו בקשת הפרעה. DMA למעשה יכול היה להיות מטופל באמצעות הפרעות, אך הדבר יביא כמה עיכובים כך שזה מהיר יותר לעשות זאת על ידי קיום הפרעה מיוחד המכונה DMA-Request. בדומה להפרעות, חזרות DMA ממוספרות כדי לזהות איזה מכשיר מבצע את הבקשה. מספר זה נקרא ערוץ DMA. מכיוון ש- DMA מעביר את כל השימוש באוטובוס הראשי (ורק אחד יכול לרוץ בכל פעם), הם למעשה משתמשים באותו ערוץ לזרימת נתונים אך מספר “ערוץ DMA” משמש כדי לזהות מי משתמש ב”ערוץ “. רישומי חומרה קיימים בלוח האם המאחסנים את המצב הנוכחי של כל “ערוץ”. לפיכך, על מנת להנפיק מבט של DMA, על המכשיר לדעת את מספר ערוץ ה- DMA שלו שיש לאחסן בפנקס מיוחד במכשיר הפיזי.
לפיכך יש “לצרף את מנהלי התקנים” בדרך כלשהי לחומרה שהם שולטים בהם. זה נעשה על ידי הקצאת משאבי אוטובוס (קלט/פלט, זיכרון, IRQ, DMA’s) הן למכשיר הפיזי והן לאפשר למנהל התקן לברר עליו. לדוגמה, יציאה סדרתית משתמשת רק בשני משאבים: IRQ וכתובת קלט/פלט. יש לספק את שני הערכים הללו למנהל התקן ולמכשיר הפיזי. הנהג (והמכשיר שלו) מקבל גם שם בספריה /dev (כגון TTYS1). מספר הכתובת ומספר ה- IRQ מאוחסנים על ידי המכשיר הפיזי ברישומי תצורה בכרטיס שלו (או בשבב על לוח האם). חומרה ישנה (באמצע שנות התשעים) השתמשו במתגים (או מגשרים) כדי להגדיר פיזית את ה- IRQ והכתובת בחומרה. הגדרה זו נותרה קבועה עד שמישהו יסיר את כיסוי המחשב והניע את הקופצים.
אך במקרה של PNP (ללא מגשרים), נתוני רישום התצורה אבודים בדרך כלל כאשר המחשב מופעל (כבוי) כך שיש לספק את נתוני משאב האוטובוס לכל מכשיר מחדש בכל פעם שהמחשב מופעל.
מחשבים אידיאליים
הארכיטקטורה של המחשב מספקת רק מספר מצומצם של משאבים: IRQ, ערוצי DMA, כתובת קלט/פלט ואזורי זיכרון. אם היו רק מכשירי מספר מוגבלים וכולם השתמשו בערכי משאבי אוטובוס סטנדרטיים (כגון כתובות קלט/פלט ייחודיות ומספרי IRQ) לא תהיה שום בעיה לחבר מנהלי התקנים למכשירים. לכל מכשיר יש משאבים קבועים שלא יתנגשו עם מכשיר אחר במחשב שלך. אין שני מכשירים לא היו אותן כתובות, לא יהיו שום קונפליקטים של IRQ באוטובוס ISA וכו ‘. כל מנהל התקן יתוכנן עם הכתובות הייחודיות, IRQ וכו ‘. מקודד קשה לתוכנית. החיים יהיו פשוטים.
דרך נוספת למנוע קונפליקטים של כתובות תהיה לכלול את מספר המשבצת של כל כרטיס כחלק מהכתובת. לפיכך לא יכול להיות שום קונפליקט בכתובת בין שני כרטיסים שונים (מכיוון שהם בחריצים שונים). תכנון כרטיסים לא יאפשר התנגשויות כתובות בין פונקציות שונות של הכרטיס. מסתבר שמרחב כתובות התצורה (המשמש לחקירת משאבים ומשימה) עושה זאת למעשה. אבל זה לא נעשה עבור כתובות קלט/פלט ולא אזורי זיכרון. שיתוף IRQs כמו באוטובוס ה- PCI נמנע גם מהסכסוכים אך עלול לגרום לבעיות אחרות.
מחשבים אמיתיים
אבל לאדריכלות מחשב יש בעיות קונפליקט. העלייה במספר המכשירים (כולל מכשירים מרובים מאותו סוג) נטה להגדיל את העימותים הפוטנציאליים. במקביל, הצגת אוטובוס ה- PCI, בו שני מכשירים או יותר יכולים לחלוק את אותה הפרעה והכנסת הפרעות נוספות, נטו להפחית סכסוכים. התוצאה הכוללת, עקב הגיעה ל- PCI, הייתה ירידה בסכסוכים מאז שהמשאב המחסור ביותר הוא IRQS. עם זאת, אפילו באוטובוס ה- PCI יעיל יותר להימנע משיתוף IRQ. במקרים מסוימים שבהם הפרעות מתרחשות ברצף מהיר ויש לפעול על ידי שיתוף מהיר (כמו שמע) עלול לגרום להשפלה בביצועים. אז לא טוב להקצות את כל מכשירי ה- PCI לאותם IRQ, יש לאזן את המשימה. עם זאת, יש אנשים שמגלים שכל מכשירי ה- PCI שלהם נמצאים באותו IRQ.
אז מכשירים צריכים להיות בעלי גמישות מסוימת כדי שניתן יהיה להגדיר אותם לכל כתובת, IRQ וכו ‘. דרוש כדי להימנע מכל קונפליקטים ולהשיג איזון. אבל חלק מה- IRQ וכתובות די סטנדרטיות כמו אלה לשעון ומקלדת. אלה אינם זקוקים לגמישות כזו.
מלבד הבעיה של הקצאת מנוגדת של משאבי אוטובוס, יש בעיה לטעות באמירת נהג המכשיר מהן משאבי האוטובוס. סביר להניח שזה יקרה למקרה של תצורה ידנית מיושנת בה המשתמש מקליד את המשאבים המשמשים לקובץ תצורה המאוחסן ב- HardDrive. לעתים קרובות זה עבד בסדר כאשר המשאבים נקבעו על ידי קופצים בכרטיסים (בתנאי שהמשתמש ידע כיצד נקבעו ולא טעויות בהקלדת נתונים אלה לקבצי תצורה). אך כאשר המשאבים מוגדרים על ידי תוכנת PNP, יתכן שהם לא תמיד מקבלים אותו דבר וזה עשוי להיות צרות לכל תצורה ידנית בה המשתמש מקליד בערכים של משאבי אוטובוס שהוגדרו על ידי PNP.
הקצאת משאבי האוטובוס, אם נעשה נכון, קובעת ערוצי תקשורת שאינם מקשרים בין חומרה פיזית למנהלי ההתקנים שלהם. לדוגמה, אם טווח כתובות קלט/פלט מסוים (משאב) מוקצה הן למנהל התקן והן לחתיכת חומרה, אז זה הקים ערוץ תקשורת חד כיווני ביניהם. מנהל ההתקן רשאי לשלוח פקודות ומידע אחר למכשיר. זו למעשה יותר מתקשורת חד כיוונית מכיוון שהנהג עשוי לקבל מידע מהמכשיר על ידי קריאת רישומיו. אבל המכשיר לא יכול ליזום שום תקשורת כך. כדי ליזום תקשורת המכשיר זקוק ל- IRQ כך שהוא יכול לשלוח הפרעות לנהג שלו. זה יוצר ערוץ תקשורת דו כיווני בו גם הנהג וגם המכשיר הפיזי יכולים ליזום תקשורת.
למונח Plug-and-Play (PNP) יש משמעויות שונות. במובן הרחב זה רק תצורה אוטומטית בה אחד פשוט מחבר מכשיר והוא מגדיר את עצמו. במובן המשמש בהכרה זו, PNP פירושו קביעת תצורה של משאבי אוטובוס PNP (הגדרתם במכשירים הפיזיים) וליידע את מנהלי ההתקן על כך. למקרה של לינוקס, לרוב זה רק נהג שקובע כיצד ה- BIOS קבע את משאבי האוטובוס ובמידת הצורך, הנהג נותן פקודה לשנות (איפוס) את משאבי האוטובוס. “PNP” לעתים קרובות פירושו PNP באוטובוס ה- ISA כך שההודעה מ- ISAPNP: “לא נמצא התקן ומשחק” לא נמצא כי לא נמצאו מכשירי ISA PNP. מפרטי ה- PCI הסטנדרטיים (שהומצאו לפני שטיילו את המונח “PNP”) מספקים את המקבילה של PNP לאוטובוס ה- PCI.
PNP תואם מכשירים עם מנהלי התקנים שלהם ומציין את ערוצי התקשורת שלהם (על ידי הקצאת משאבי אוטובוס). זה מתקשר אלקטרוני עם רישומי תצורה הממוקמים בתוך המכשירים הפיזיים באמצעות פרוטוקול סטנדרטי. באוטובוס ה- ISA לפני התוסף ומשחק, משאבי האוטובוס הוגדרו בעבר במכשירי חומרה על ידי קופצים או מתגים. לפעמים ניתן היה להכניס את מקלע האוטובוס לחומרה באופן אלקטרוני על ידי נהג (נכתב בדרך כלל רק עבור מערכת הפעלה של MS אך במקרים נדירים הנתמכים על ידי מנהל התקן לינוקס). זה היה משהו כמו PNP אבל לא היה שימוש בפרוטוקול סטנדרטי כך שהוא לא היה באמת PNP. בחלק מהכרטיסים יש הגדרת מגשר שיכולה להיות מבולבלת על ידי תוכנה כזו. עבור לינוקס לפני PNP, לרוב מנהלי התקני התוכנה הוקצו משאבי אוטובוס על ידי קבצי תצורה (או כדומה) או על ידי בדיקת המכשיר בכתובות בהן הוא היה צפוי להתגורר. אך שיטות אלה עדיין נמצאות בשימוש כיום כדי לאפשר לינוקס להשתמש בחומרה ישנה ללא PNP. ולפעמים השיטות הישנות הללו משמשות עדיין כיום בחומרת PNP (אחרי שאמרו שה- BIOS הקצה משאבים לחומרה בשיטות PNP).
אוטובוס ה- PCI היה דמוי PNP מההתחלה, אך בדרך כלל זה לא נקרא PNP או “PLUG ו- PLAY” עם התוצאה שלעתים קרובות פירוש PNP PNP באוטובוס ISA. אבל PNP במסמכים אלה פירושו בדרך כלל PNP באוטובוס ISA או PCI.
הנה איך PNP צריך לעבוד בתיאוריה. תוכנית התצורה של PNP היפותטית מוצאת את כל מכשירי ה- PNP ושואלת כל אחד מהם משאבי אוטובוס הוא צריך. ואז זה בודק אילו משאבי אוטובוס (IRQS וכו ‘.) זה צריך למסור. כמובן שאם יש לה שומרי אוטובוס שמורים המשמשים מכשירים שאינם PNP (Legacy) (אם זה יודע עליהם) זה לא נותן את אלה. ואז הוא משתמש בקריטריונים מסוימים (לא צוינו על ידי מפרטי PNP) כדי למסור את משאבי האוטובוס כך שלא יהיו קונפליקטים ולכן כל המכשירים יקבלו את מה שהם צריכים (במידת האפשר). לאחר מכן הוא אומר בעקיפין לכל מכשיר פיזי אילו משאבי אוטובוס מוקצים אליו והמכשירים קובעים את עצמם לשימוש רק במשאבי האוטובוס שהוקצו. אז נהגי המכשירים איכשהו מגלים באילו משאבי אוטובוס משתמשים במכשירים שלהם ולכן הם מסוגלים לתקשר ביעילות עם המכשירים שהם שולטים בהם.
לדוגמה, נניח שכרטיס זקוק להפרעה אחת (מספר IRQ) ו 1 מגה -בייט של זיכרון משותף. תוכנית PNP קוראת בקשה זו מרשומות התצורה בכרטיס. לאחר מכן הוא מקצה את הכרטיס IRQ5 ו- 1 MB של זיכרון כתובות שטח, החל בכתובת 0xe9000000. בתוכנית PNP קוראת גם מידע מזהה מהכרטיס המספר איזה סוג מכשיר הוא, מספר המזהה שלו וכו ‘. ואז זה אומר ישירות או בעקיפין את מנהל התקן המתאים מה זה נעשה. אם הנהג עצמו הוא שעושה את ה- PNP, אין צורך למצוא מנהל התקן למכשיר (מכיוון שהנהג כבר פועל). אחרת צריך למצוא מנהל התקן מתאים ומוקדם או במאוחר אמר כיצד מוגדר המכשיר שלו.
זה לא תמיד פשוט כל כך מכיוון שהכרטיס (או טבלת הניתוב עבור PCI) עשויים לציין שהוא יכול להשתמש רק במספרים מסוימים של IRQ או שהזיכרון של 1 מגה -בייט צריך לשכב בטווח מסוים של כתובות. הפרטים שונים עבור ה- PCI ו- ISA אוטובוסים עם מורכבות יותר באוטובוס ISA.
דרך אחת הנפוצה להקצות משאבים היא להתחיל עם מכשיר אחד ולהקצות את משאבי האוטובוס שלו. ואז עשה את אותו הדבר עבור המכשיר הבא וכו ‘. ואז אם סוף סוף כל המכשירים מקבלים משאבים שהוקצו ללא קונפליקטים, אז הכל בסדר. אבל אם הקצאת משאב נחוץ תיצור קונפליקט, יש צורך לחזור ולנסות לבצע כמה שינויים בהקצאות קודמות כדי להשיג את משאב האוטובוס הדרוש. זה נקרא איזון מחדש. לינוקס לא עושה איזון מחדש אבל MS Windows עושה במקרים מסוימים. עבור לינוקס, כל זה נעשה על ידי מנהלי התקנים של BIOS ו/או לנהגי המכשירים. בלינוקס, מנהל ההתקן לא מקבל את הקצאת המשאבים הסופית שלו עד שהנהג יתחיל, כך שאחת הדרכים להימנע מתנגשויות היא פשוט לא להתחיל שום מכשיר שעלול לגרום לסכסוך. עם זאת, ה- BIOS מקצה לעתים קרובות משאבים למכשיר הפיזי לפני שינוקס אפילו אתחול והגרעין בודק מכשירי PCI עבור סכסוכים בזמן האתחול.
ישנם כמה קיצורי דרך שתוכנת PNP עשויה להשתמש בהם. האחת היא לעקוב אחר האופן בו הוא הוקצה-משאבים באוטובוס בתצורה האחרונה (כאשר המחשב שימש לאחרונה) ולהשתמש בזה חוזר. ביוס עשה זאת כמו גם MS Windows וזה אבל לינוקס סטנדרטי לא. אבל בצורה שהיא עושה מכיוון שלעתים קרובות הוא משתמש במה שה- BIOS עשה. Windows מאחסן מידע זה ב”רישום “שלו בדיסק הקשיח ו- PNP/PCI BIOS מאחסן אותו בזיכרון שאינו נדיף במחשב האישי שלך (המכונה ESCD; עיין בבסיס הנתונים של ה- BIOS ESCD). יש הטוענים כי אי קיום רישום (כמו לינוקס) עדיף שכן עם Windows, הרישום עלול להיפגם וקשה לערוך אותו. .
ואילו חלונות MS (למעט חלונות 3.X ו- NT4) היו PNP, לינוקס לא הייתה במקור מערכת הפעלה PNP אך הפכה בהדרגה למערכת הפעלה PNP. PNP עבד במקור עבור Linux מכיוון ש- BIOS של PNP היה מגדיר את תצורת משאבי האוטובוס ומנהלי ההתקנים היו מגלים (באמצעות תוכניות המסופקות על ידי גרעין לינוקס) מה ה- BIOS עשה. כיום, מרבית הנהגים יכולים להנפיק פקודות לביצוע תצורת משאב אוטובוס משלהם ואינם צריכים להסתמך תמיד על ה- BIOS. לרוע המזל נהג יכול לתפוס משאבת אוטובוס שמכשיר אחר יצטרך בהמשך. מנהלי התקנים מסוימים עשויים לאחסן את התצורה האחרונה בה השתמשו בקובץ תצורה ולהשתמש בו בפעם הבאה שהמחשב מופעל עליו.
אם חומרת המכשיר נזכרה בתצורה הקודמת שלה, לא תהיה שום חומרה שתגדיר PNP בזמן האתחול הבא. אולם נראה כי חומרה שוכחת את התצורה שלה כאשר הכוח נכבה. מכשירים מסוימים מכילים תצורת ברירת מחדל (אך לאו דווקא האחרונה בה נעשה שימוש). לפיכך יש להגדיר מכשיר PNP מחדש בכל פעם שהמחשב מופעל. כמו כן, אם נוסף מכשיר חדש, גם הוא צריך להיות מוגדר גם הוא. הקצאת משאבי אוטובוס למכשיר חדש זה עשויה להיות כרוכה בהרחקת כמה משאבי אוטובוס ממכשיר קיים והקצאת המכשיר הקיים במשאבי אוטובוס אלטרנטיביים שהוא יכול להשתמש בו במקום. .
כאשר המחשב מופעל לראשונה ה- BIOS CHIP מפעיל את התוכנית שלו כדי להתחיל את המחשב (השלב הראשון הוא לבדוק את חומרת לוח האם). אם מערכת ההפעלה מאוחסנת על הכונן הקשיח (כפי שהיא בדרך כלל), ה- BIOS חייב לדעת על הכונן הקשיח. אם ההנעה הקשה היא PNP אז ה- BIOS עשוי להשתמש בשיטות PNP כדי למצוא אותו. כמו כן, על מנת לאפשר למשתמש להגדיר באופן ידני את התצורה של ה- CMOs של ה- BIOS ולהגיב להודעות שגיאה כאשר המחשב מתחיל, נדרשים גם מסך (כרטיס מסך) ומקלדת. לפיכך על ה- BIOS תמיד התקני PNP-Configure הדרושים כדי לטעון את מערכת ההפעלה מהכונן הקשיח.
ברגע שה- BIOS זיהה את ההנעה הקשה, את כרטיס המסך והמקלדת היא מוכנה להתחיל לאתחל (טעינת מערכת ההפעלה לזיכרון מהדיסק הקשיח). אם אמרת ל- BIOS שיש לך מערכת הפעלה של PNP (OS PNP), היא צריכה להתחיל לאתחל את המחשב כנ”ל ולתת למערכת ההפעלה לסיים את הגדרת PNP. אחרת, PNP-BIOs ינסה ככל הנראה (לפני האתחול) ינסה לבצע את שאר תצורת ה- PNP של מכשירים (אך לא יודיעו למנהלי ההתקנים מה זה עשה). אבל הנהגים עדיין יכולים לגלות זאת על ידי שימוש בפונקציות הזמינות בגרעין לינוקס.
כדי לראות מה יש ב- PCI מסוג LSPCI או LSPCI -VV . או הקלד scanpci -v עבור אותו מידע בפורמט הקוד המספרי בו המכשיר מוצג לפי מספר (כגון: “התקן 0x122D” במקום בשם וכו ‘. במקרים נדירים, SCANPCI תמצא מכשיר ש- LSPCI לא יכול למצוא.
ההודעות בזמן האתחול בתצוגה שלך מציגות התקנים שנמצאו באוטובוסים שונים (השתמש ב- Shift-PageUp כדי לגבות אותם). ראה הודעות בזמן אתחול
ישע הוא האוטובוס הישן של המחשבים הישנים התואמים של יבמ ואילו PCI הוא אוטובוס חדש ומהיר יותר מ- Intel. אוטובוס ה- PCI תוכנן למה שמכונה כיום PNP. זה מקל (בהשוואה לאוטובוס ISA) כדי לגלות כיצד הוקצו משאבי אוטובוס PNP למכשירי חומרה.
עבור האוטובוס של ISA הייתה בעיה אמיתית ביישום PNP מכיוון שאיש לא היה בראש PNP מתי תוכנן אוטובוס ISA וכמעט אין כתובות קלט/פלט זמינות לשימוש PNP לשליחת מידע תצורה למכשיר פיזי. כתוצאה מכך, הדרך בה PNP הוטל על הנעליים לאוטובוס ISA מסובך מאוד. ספרים שלמים נכתבו על זה. ראו ספר PNP. בין היתר, זה מחייב להקצות לכל מכשיר PNP “ידית” זמנית על ידי תוכנית PNP כך שאפשר להתייחס אליו לצורך הגדרת PNP. הקצאת “ידיות” אלה היא קריאה “בידוד”. ראה ISA בידוד לפרטים המורכבים.
ככל שאוטובוס ה- ISA נכחד, PNP יהיה קצת יותר קל. לאחר מכן לא רק קל יותר לברר כיצד ה- BIOS הגדיר את החומרה, אלא שיהיו פחות קונפליקטים מכיוון ש- PCI יכול לשתף הפרעות. עדיין יהיה הצורך להתאים מנהלי התקנים למכשירים וגם צורך להגדיר מכשירים שמתווספים כאשר המחשב פועל ומפעל. הבעיה החמורה של כמה מכשירים שאינם נתמכים על ידי לינוקס תישאר.
לינוקס היו בעיות קשות בעבר בהתמודדות עם PNP אך מרבית הבעיות הללו נפתרו כעת (נכון לאמצע 2004). לינוקס עברה ממערכת שאינה PNP במקור, לאחת שיכולה להיות PNP אם נבחרות אפשרויות מסוימות בעת עריכת הגרעין. ה- BIOS עשוי להקצות IRQs אך לינוקס עשויה גם להקצות חלק מהם או אפילו להקצות מחדש את מה שהביו עשו. חלק התצורה של ACPI (תצורה מראש וממשק כוח) נועד להקל על מערכות ההפעלה לבצע את התצורה שלהם. לינוקס יכול להשתמש ב- ACPI אם הוא נבחר כאשר הגרעין מורכב.
ב- Linux, זה מסורתי עבור כל מנהל התקן המנהג לעשות את התצורה ברמה נמוכה משלו. זה היה קשה עד ש- Linux סיפקה תוכנה בגרעין שהנהגים יוכלו להשתמש בהם כדי להקל עליהם. היום (2005) הוא הגיע לנקודה בה הנהג פשוט מכנה את פונקציית הגרעין: PCI_ENABLE_DEVICE () והמכשיר מוגדר על ידי הפעלתו ושני IRQ (במידת הצורך) וכתובות שהוקצו למכשיר. משימה זו יכולה להיות מה שהוקצה בעבר על ידי ה- BIOS או מה שהגרעין שמר לו בעבר כאשר מכשיר ה- PCI או ISAPNP התגלה על ידי הגרעין. יש אפילו אפשרות של ACPI עבור לינוקס להקצות את כל המכשירים IRQs בזמן האתחול.
אז היום, במובן מסוים, הנהגים עדיין מבצעים את התצורה, אך הם יכולים לעשות זאת רק על ידי כך שאומרים לינוקס לעשות את זה (וייתכן כי לינוקס לא צריך לעשות הרבה מכיוון שלעתים הוא מסוגל להשתמש במה שכבר נקבע על ידי ה- BIOS או Linux). אז זה באמת החלק הלא-נהג של גרעין לינוקס שעושה את רוב התצורה. לפיכך, ייתכן שיהיה נכון לקרוא לינוקס מערכת הפעלה של PNP, לפחות עבור ארכיטקטורות מחשב נפוצות.
ואז כאשר מנהל התקן מוצא את המכשיר שלו, הוא מבקש לראות אילו כתובות ו- IRQ הוקצו (על ידי ה- BIOS ו/או לינוקס) ובדרך כלל פשוט מקבלים אותן. אבל אם הנהג רוצה לעשות זאת, הוא יכול לנסות לשנות את הכתובות, באמצעות פונקציות המסופקות על ידי הגרעין. אך הגרעין לא יקבל כתובות המתנגשות עם מכשירים אחרים או כאלה שהחומרה לא יכולה לתמוך בה. כאשר המחשב מתחיל, אתה יכול לציין הודעות על המסך המראות שמנהלי התקני לינוקס מצאו את מכשירי החומרה שלהם ומה ה- IRQ וטרסי הכתובת.
לפיכך, הגרעין מספק למנהלי ההתקנים פונקציות (קוד תוכנית) בהן המנהלי ההתקנים עשויים להשתמש כדי לברר אם המכשיר שלהם קיים, כיצד הוא הוגדר, ופונקציות לשינוי התצורה במידת הצורך. גרעין 2.2 יכול היה לעשות זאת רק עבור אוטובוס PCI אבל גרעין 2.4 היה תכונה זו הן לאוטובוסים של ISA והן ל- PCI (בתנאי שאפשרויות ה- PNP וה- PCI המתאימות נבחרו בעת עריכת הגרעין). גרעין 2.6 יצא עם ניצול טוב יותר של ACPI. זה בשום אופן לא מבטיח שכל הנהגים ישתמשו באופן מלא ונכון בתכונות אלה. ומכשירים מדור קודם שה- BIOS לא יודע עליהם, עשויים שלא להיות מוגדרים עד שאתה (או כלי תצורה כלשהו) מציב את הכתובת שלו, IRQ וכו ‘. לקובץ תצורה.
בנוסף, הגרעין מסייע במניעת קונפליקטים של משאבים בכך שהוא לא מאפשר לשני מכשירים שהוא יודע להשתמש באותם משאבי אוטובוס בו זמנית. במקור זה נועד רק ל- IRQs, ו- DMA.
אם יש לך אוטובוס ישן של ISA, התוכנית iSapNP צריכה לרוץ ב- Boottime כדי למצוא ולהגדיר מכשירי PNP באוטובוס ISA. התבונן בהודעות עם “DMESG”.
כדי לראות מה עזרה הגרעין עשוי לספק למנהלי התקנים לראות את הספרייה /usr /. / /. /תיעוד שבו אחד מ . מכיל את המילה “דוק גרעינים” וכדומה. אזהרה: התיעוד כאן נוטה להיות עדכני, כך לקבל את המידע העדכני ביותר שתצטרך לקרוא הודעות ברשימות תפוצה שנשלחו על ידי מפתחי גרעינים ואולי גם את קוד המחשב שהם כותבים כולל הערות. בספריית תיעוד גרעינים זו ראו PCI.txt (“כיצד לכתוב מנהלי התקנים של לינוקס PCI”) והקובץ:/usr/include/linux/pci.ח. אלא אם כן אתה גורו נהג ויודע תכנות C, הקבצים הללו נכתבים בצורה כה טובה עד שהם לא יאפשרו לך לכתוב מנהל התקן. אבל זה ייתן לך מושג אילו פונקציות מסוג PNP זמינות לנהגים לשימוש.
לגרעין 2.4 ראה ISAPNP.טקסט. לגרעין 2.6, isapnp.TXT מוחלף על ידי PNP.txt שהוא שונה לחלוטין מ- isapnp.TXT וגם עוסק באוטובוס ה- PCI. ראו גם את ספר אוריילי: מנהלי התקנים של לינוקס, מהדורה שלישית., 2005. הטקסט המלא נמצא באינטרנט.
אבל ישנם מספר דברים שמערכת הפעלה אמיתית של PNP יכולה להתמודד טוב יותר:
- הקצאת משאבי אוטובוס כאשר הם נמצאים במחסור על ידי הקצאת משאבים במידת הצורך
- התמודד עם בחירת נהג כשיש יותר ממנהג אחד למכשיר פיזי
מכיוון שזה כל נהג לעצמו, נהג יכול לתפוס משאבי אוטובוס הנדרשים על ידי מכשירים אחרים (אך טרם הוקצו להם על ידי הגרעין). לפיכך יהיה גרעין לינוקס מתוחכם יותר יהיה טוב יותר, שם גרעין עשה את ההקצאה לאחר כל הבקשות היו ב. אלטרנטיבה נוספת תהיה לנסות להקצות מחדש משאבים שכבר הוקצו אם מכשירים לא יוכלו להשיג את המשאבים שהיא מבקשת.
בעיית “המחסור בבעיות אוטובוס” הופכת פחות לבעיה משתי סיבות: אחת הסיבות לכך היא שאוטובוס ה- PCI מחליף את האוטובוס של ISA. תחת PCI לא חסרים IRQs מכיוון שניתן לשתף IRQS (למרות ששיתוף הוא קצת פחות יעיל). כמו כן, PCI אינו משתמש במשאבי DMA (אם כי הוא עושה את המקבילה ל- DMA מבלי להזדקק למשאבים כאלה).
הסיבה השנייה היא שמרחב כתובות נוסף זמין עבור מכשיר I/0. בעוד שחלל הכתובות/פלט הקונבנציונאלי של אוטובוס ISA היה מוגבל ל- 64KB, לאוטובוס ה- PCI יש 4 ג’יגה -בייט ממנו. מכיוון שמכשירים פיזיים נוספים משתמשים בכתובות זיכרון עיקריות במקום בשטח כתובות IO, עדיין יש מקום יותר זמין, אפילו באוטובוס ISA. במחשבים של 32 סיביות יש 4 ג’יגה-בייט של שטח כתובת זיכרון ראשי וחלק גדול ממקור האוטובוס הזה זמין עבור התקן IO (אלא אם כן מותקן זיכרון ראשי של 4 ג’יגה-בייט).
מידע כללי על תמיכה במכשירי Plug & Play
ניתן להשתמש במכשירי Plug & Play באופן מיידי, ללא צורך בהתקנה. אלה מתגלים ומוגדרים אוטומטית ברגע שהם מחוברים למחשב. מנהלי התקנים המתאימים מותקנים אוטומטית. המשתמש אינו נדרש להכין כניסות.
התקנה אוטומטית על ידי מערכת ההפעלה פועלת רק בתנאים מסוימים, e.ז. (ראה עוד על כך בעזרת Windows):
- למנהל התקן יש את זה “מפותח עבור Windows” לוגו או חתימה דיגיטלית.
- מנהל התקן כבר קיים במחשב.
אם לא מתקיימים תנאים אלה, מערכת ההפעלה משיקה את אשף החומרה. אם למשתמש אין זכויות מנהלים מקומיות, הוא לא יכול להשלים את ההתקנה עם אשף זה.
במצבים אלה, DSM ’S תמיכה במכשירי Plug & Play מאפשרת התקנת התקנים מבלי שהמשתמש יהיה בעל זכויות מנהל מקומיות.
- נהגי WAN Miniport
- מתאמי רשת וירטואליים
האם מאמר זה היה שימושי?
מכריח התקן Plug-N-Play כדי להשתמש במנהל התקן מסוים
צִיוּד: מיקרופון של Revelator Personus המטרה: אני רוצה להשתמש במיקרופון שלי רחוק יותר באמצעות סיומת USB-TO-RJ45. בעיקרון שליחת USB על כבל אתרנט. הבעיה: כאשר המיקרופון מחובר ישירות למחשב הנייד הוא עובד בסדר. אבל כשאני מחבר אותו מעל המרחיב אני לא יכול להקליט שום דבר והמחשב בכלל לא רושם את המכשיר. המיקרופון מקבל כוח והמחשב מרעש את “החיבור”, אך שום דבר מעבר לזה. מנהל התקן: בדקתי את מנהל המכשירים בשני התרחישים. כשאני מחובר ישירות אני רואה את “מיקרופון (Revelator)” ב”כניסות ושמע פלט “שמע”. כשאני מחובר דרך ה- RJ45 אני פשוט רואה את “Revelator” תחת “מכשירים לא ידועים”, כמו גם את משולש האזהרה הצהוב המציין כי שום נהג לא הועמס. מידע על הנהג: השתמשתי בתוכנית USBDeview כדי לאסוף כמה מידע מעמיק במכשיר כאשר הוא מחובר באמצעות החיבורים השונים. להלן השוואה זו לצד זו.
מחובר ישירות | מחובר דרך RJ45 | |
---|---|---|
שם התקן | Revelator | Revelator |
תיאור | מכשיר מורכב של USB | Revelator |
סוג מכשיר | לא ידוע | ספציפי ספק |
מְחוּבָּר | כן | כן |
בטוח לנתק | כן | לא |
נָכֶה | לא | לא |
רכזת USB | לא | לא |
מספר סידורי | JM1C20431589 | JM1C20431589 |
וודוריד | 194f | 194f |
מזהה מוצר | 0D01 | 0D01 |
עדכון קושחה | 1.02 | 1.02 |
כיתת USB | 0 | ff |
תת -סוג USB | 0 | 0 |
פרוטוקול USB | 0 | 0 |
קידומת הורה | 6 & 1ea95f5f & 0 | 6 & 1ea95f5f & 0 |
שם השירות | USBCCGP | |
תיאור השירות | @יו אס בי.INF,%גנריות.SVCDESC%; נהג הורה גנרי של Microsoft USB | |
שם קובץ הנהג | USBCCGP.sys | |
מכשיר MFG | (בקר מארח USB רגיל) | |
כּוֹחַ | 200 מא | 200 מא |
גרסת USB | 2 | 2 |
תיאור הנהג | מכשיר מורכב של USB | |
גרסת מנהל התקן | 10.0.19041.1949 | |
הפחדת הנהג | מרוכבים.Dev.Nt | |
נהג אינפפט | יו אס בי.אינפ | |
מזהה מופע | Usb \ vid_194f & pid_0d01 \ jm1c20431589 | Usb \ vid_194f & pid_0d01 \ jm1c20431589 |
יכולות | “נשלף, ייחודי, SpriterSovalok” | “נשלף, ייחודי” |
ההבדל העיקרי הוא שכאשר מחוברים ישירות המיקרופון מוכר כמכשיר מורכב (USBDeview מראה גם כמה מכשירי USB אחרים שנטענים בו זמנית). כאשר הוא מחובר ל RJ45. האם מכשירים אחרים יכולים להתחבר?: ניסיתי את מחבר RJ45 עם כונן USB ומותג שונה של מיקרופון (שמע-טכניקה AT2020). בשני המקרים הם עבדו מצוין והעמיסו את אותם נהגים. המיקרופון מעניין במיוחד מכיוון שהוא גם מכשיר מורכב ועם זאת אין לו בעיות. שְׁאֵלָה: האם ניתן לאלץ את המחשב שלי להשתמש באותו מנהל התקן בשני התרחישים? עשיתי קצת גוגלינג אבל כל מה שאני יכול למצוא זה דברים שקשורים להורדת נהגים מאתר החברה (אין כאלה שיכולתי למצוא). ניסיתי לבחור ידנית את קבצי ה- SYS ו- INF באמצעות מנהל המכשירים, אבל נראה שזה לא עובד. אפשרי אני עושה את הצעד הזה לא בסדר.
מהו מנהל התקן? הגדרה, סוגים ויישומים
מנהל התקן הוא תוכנית ללא ממשק משתמש שמנהל חומרה המחוברת למחשב ותומך בתפקודו.
כותב טכני של Chiradeep Basumallick
12 באוקטובר 2022
מנהל התקן מוגדר כתוכנה ללא ממשק משתמש (UI) המנהל רכיבי חומרה או ציוד היקפי המחוברים למחשב ומאפשר להם לתפקד עם המחשב בצורה חלקה. מאמר זה מסביר את עבודתם של נהגי מכשירים, סוגים שונים שלהם וחמישה יישומים קריטיים.
תוכן העניינים
-
- מהו מנהל התקן?
- 9 סוגים של מנהלי התקנים
- יישומים של מנהלי התקנים
מהו מנהל התקן?
מנהל התקן הוא תוכנית תוכנה ללא ממשק משתמש (UI) המנהל רכיבי חומרה או ציוד היקפי המחוברים למחשב ומאפשר להם לתפקד עם המחשב בצורה חלקה.
מנהל התקן הוא תוכנה מיוחדת המפעילה מכשיר מחובר למחשב מסוים-מציגה ממשק תוכנה לחומרה מאפשרת מערכות הפעלה ויישומי מחשב אחרים לגישה לפונקציות חומרה.
החומרה מקושרת למערכת משנה של אוטובוס/תקשורת ממוחשבים באמצעותה מנהלי התקנים מתקשרים עם המכשיר. הם תלויים בחומרה ומערכת הפעלה ספציפית (OS). הם מציעים את עיבוד ההפרעה חיוני לכל ממשק חומרה אסינכרוני תלוי זמן.
מנהל התקן’המטרה העיקרית היא לאפשר למחשבים ורכיבי חומרת רשת לממשק ולקיים אינטראקציה עם מכשירים ספציפיים. הם מטפלים בבקשות שנעשו על ידי הגרעין הנוגע לסוג מסוים של מכשיר. מנהלי התקנים מגדירים הודעות ומנגנונים דרכם המחשב’S מערכת ההפעלה ויישומים יכולים לגשת למכשיר או לבקש בקשות למכשיר. הם מטפלים גם בתגובות והודעות של מכשירים למשלוח למחשב.
כיצד מנהלי התקנים מתפקדים
מנהלי התקנים פועלים בתוך שכבת גרעיני מערכת ההפעלה. הם עובדים בסביבה מיוחסת מאוד מכיוון שהם זקוקים לגישה ברמה נמוכה לפעולות חומרה כדי לתפקד. הם מאפשרים את המחשב’מערכת הפעלה S (OS) להתממשק לחומרה שלשמה הם פותחו. ודרך אוטובוס מחשב המקשר את המכשיר למחשב, הנהגים והמכשיר מתקשרים.
על מנהלי התקנים לקבל ייעוץ ממערכת ההפעלה לגישה ולבצע הוראות התקן. לאחר סיום העבודה הם מעבירים את מכשיר החומרה’פלט או הודעה למערכת ההפעלה. מכשירים כמו מודמים, נתבים, רמקולים, מקלדות ומדפסות דורשים מנהלי התקנים להפעלה.
הבנת פיתוח נהג המכשירים
מנהלי התקנים מאפשרים מכשירים היקפיים, כגון מדפסות או מקלדות, לקיים אינטראקציה עם המחשב. להלן מתאר את הצעדים מפתחים או מתכנתים יכולים לקחת תוך פיתוח מנהלי התקנים למערכות הפעלה כמו Windows, Linux או MacOS.
1. מכירים את הציוד
בעת תכנון מנהל התקן, המתכנתים חייבים להיות בעלי תפיסה מעמיקה של הפלטפורמה’S חומרה. עליהם לדעת את ממשק האוטובוס בו החומרה משתמשת כדי לתקשר עם המארח ואת מיקום תוכנת מנהל ההתקן. עליהם לקרוא את גיליון הנתונים של המכשיר כדי להבין את המונחים וההגדרות הרלוונטיים. עליהם לדעת גם את השיטה דרכה מתרחשת העברת נתונים.
אם המכשיר הראשי הוא מערכת ב- CHIP, על המפתחים לדעת כיצד הנהג מתקשר עם פרוטוקולי הקושחה והפקודה שלו. בנוסף, על המפתחים להיות מוכנים לתיעוד שייפטר בעת הטיפול בסוג חדש של חומרה. לפיכך, הם צריכים להיות מוכנים לבצע בדיקות רבות יותר מהרגיל.
2. כתוב את קוד הנהג
בשלב זה, על המפתחים להשיג אב -טיפוס עובד של החומרה המועדפת עליהם. ואז עליהם להתחיל לכתוב את מנהל ההתקן של מצב הגרעין.
אם מכשיר מעוצב באופן שגוי, מנהלי התקנים הפועלים במצב משתמש עלולים לגרום להתרסקות מערכת. באופן דומה, אם משהו ישתבש כאשר הנהגים פועלים במסגרות מיוחסות מאוד, עלולות להתרחש חששות תפעוליים. לפיכך, על המפתחים לנצל את המידע בתיעוד פיתוח הנהג הזמין עבור מערכת ההפעלה שנבחרה, בין אם זה Windows או Linux.
פונקציות מנהל ההתקן הראשונות המפותחות הן פונקציות העומס והפרוק. כאשר מערכת ההפעלה מתחילה ועוצרת, פונקציות אלה נקראות. אחת האחריות העיקריות של פונקציות העומס/הפריקה היא לגלות אם החומרה מחוברת למערכת או לא. משתמשים יכולים לאתר חומרה באמצעות מזהה המכשיר שצוין על ידי האוטובוס הספציפי. אם החומרה מחוברת לחיבור, פונקציית העומס מצליחה. אם לא, התקשר לפונקציית הפריקה.
3. לאתחל את החומרה
ברגע שהמכשיר יכול לאתר את החומרה, השלב הבא הוא אתחולו. סוג האתחול הנדרש עשוי להיות שונה בהתאם לסוג החומרה. האתחול יכול לנוע בין כתיבה לפנקס המכשירים ועד הורדת מיקרוקוד למכשיר ולהתקשר על בסיס ארוך טווח באמצעות פרוטוקולי פקודה קנייניים.
4. לשלוט בחומרה
שליטת החומרה אפשרית רק אם מפתחים יכולים לאתחל ולתקשר עם החומרה. תהליך הבקרה תלוי במכשיר. על מפתחים לשקול האם המכשיר פשוט יעביר נתונים ממכשיר אחד למשנהו.
למשל, בעת העברת מוסיקה מסמארטפון לרמקול. עליהם לשקול גם אם המכשיר ישלח ברציפות נתונים והוראות למכשירים אחרים. לדוגמה, לספר למדפסת להדפיס שחור לבן בצד אחד של נייר ואחריו הדפס דו צדדי בצבע.
מנהל ההתקן מפעיל הגדרות נתונים כמו משחק מהירות וקלט מהיר דרך המחשב לפקודות עבור המכשיר. בניגוד לשלושת השלבים הקודמים, זה עשוי לקחת יותר זמן. שלושת הצעדים הראשונים עשויים להיות פעולה חד פעמית מכיוון שמערכת ההפעלה טוענת. עם זאת, ייתכן שמפתחים יצטרכו לבצע את שלב 4 מספר פעמים לאחר הגדרת מערכת ההפעלה. משתמשים עשויים לפעמים למזג את הצעדים השלישיים והרביעיים לשלב אחד.
5. התחל תקשורת נתונים עם החומרה
מספר מכשירים עוסקים בצורת נתונים כלשהי, בין אם זה אודיו או וידאו. לאחר אתחול המכשיר, מפתחים יכולים לשלוח זרם קבוע של נתונים כנדרש. מנהל התקן משמש כצינור בין היישום ברמה הגבוהה יותר לחומרה או קושחה ברמה התחתונה להעברת נתונים.
כפי שצוין בשלב הראשון, על מפתחים לדעת את הפרוטוקולים המיועדים לתקשורת נתונים. העברות נתונים עשויות להיות מונעות או סקירה של הפרעה. מערכת ההפעלה מספקת מתקנים כגון מסרים או שגרות שירות הפרעות המשמשות בתהליך העברת הנתונים. על מפתחים להתחיל בהעברת חבילת נתונים יחידה ולהבטיח כי כל התהליך משלבים 1 עד 3 יעבוד מצוין.
6. בקרה על תקשורת נתונים
בשלב זה, מפתחים צריכים לשלוט בהעברת הנתונים ולנהל תקשורת במספר מצבים. כאשר מתעוררות בעיות, על המשתמשים למנוע מהמכשירים ההיקפיים לשליחת אותה הודעת שגיאה. בזרם שמע, כשיש הצפת מאגר או בעיה משמעותית באיכות הצליל, עליהם לשלוח פקודת עצירה.
7. בדוק את הנהג וניפוי בו באגים
בדיקה היא היבט מכריע. על מפתחים לבדוק את המכשיר כדי להבטיח שהוא מוכר ומאתחל. עליהם גם להפעיל בדיקות פונקציונליות כדי להבטיח שמנהלי התקנים יעבדו כצפוי. הם צריכים להיות מוכנים גם לבצע שינויים בחומרה כדי להבטיח פעולה חלקה. בנוסף, על המפתחים לבדוק את מנהלי התקנים בגרסאות מערכת הפעלה שונות כדי לוודא שהם קדימה ותואמת לאחור. ברגע שמנהל התקן עובד, מפתחים יכולים לרשום אותו.
9 סוגים של מנהלי התקנים
מפתחים עשויים להבחין בסוגים הבאים של מנהלי התקנים:
1. מנהלי התקני גרעין
מנהלי התקני גרעין מורכבים מכמה חומרה גנרית עמוסה במערכת ההפעלה (OS) כחלק ממערכת ההפעלה. הם כוללים לוחות אם, מעבדים ו- BIOS. הם מופעלים ונטענים בזיכרון הנגישה האקראית (RAM) במידת הצורך. כאשר כמה מהם פועלים במקביל, המכונה יכולה להאט. לפיכך, קיימת דרישה מינימלית לכל מערכת הפעלה.
נהגי מכשירי גרעין הם שכבים. מנהלי התקנים ברמה גבוהה יותר, כגון מנהלי התקנים של מערכות קבצים, מקבלים נתונים מיישומים, מסננים אותם ומעבירים אותם למנהל התקן ברמה נמוכה יותר, התומכים בפונקציונליות הכונן. מנהלי התקני גרעין מיושמים כרכיבים נפרדים ומודולריים שיש להם קבוצה מוגדרת היטב של פונקציות נדרשות.
2. מנהלי התקנים של מצב משתמש
מנהלי התקנים של מצב משתמש ביצועים במצב משתמש. הם מתייחסים למנהלי התקנים שמשתמשים עשויים להפעיל במהלך הפעלה. בעת השימוש במערכת, למשתמשים עשויים להיות מכשירים חיצוניים משלהם שהם מביאים לשימוש, כגון התקני תקע-והפעלה חיצוניים. מכשירים אלה מחייבים גם את הנהגים לתפקד. במערכות Windows, מנהלי התקנים במצב משתמש מספקים ממשק בין יישום Win32 למנהלי התקנים במצב גרעינים או מערכות הפעלה אחרות. משתמשים יכולים לכתוב מנהלי התקנים אלה לדיסק כדי להפחית את המתח על משאבי המחשב.
3. נהגי דמויות
מנהלי התקני תווים מספקים גישה לא מובנית לחומרה. הם מעבירים נתונים למכשירים וממנה מבלי להשתמש בכתובת מכשיר ספציפית. הם מאפשרים קריאה או כתיבה של בייט אחד בכל פעם כזרם של נתונים רציפים. מנהלי התקני תווים אינם מטפלים בקלט/פלט (קלט/פלט) דרך מטמון המאגר, כך שהם גמישים יותר בטיפול בקלט/פלט. הם משויכים למכשירי בלוק כדי לעקוף את מטמון המאגר כדי להציע פעולות קלט/פלט גולמיות היישר לחלל הכתובות של התוכנית של המשתמש.
בנוסף, הם מספקים ממשקים נוספים כגון פקודות בקרת קלט/פלט, סקרי מכשירים ומיפוי זיכרון. דוגמאות לכך הן מודמים ובקרי אוטובוס.
4. חסימת נהגים
מנהלי התקני חסום מספקים גישה מובנית לחומרה. הם משתמשים במאגר בגודל חסימה של מערכת הקבצים ממטמון חיץ המסופק על ידי הגרעין לביצוע קלט/פלט. מטמון חיץ הוא מאגר זיכרון שהוקם על ידי הגרעין לאחסון בלוקים ניגשים לעיתים קרובות באמצעות מכשירי בלוק. מטמון המאגר מקטין את כמות שאילתות הקלט/פלט הזקוקות לפעולת קלט/פלט מהמכשיר.
בנוסף, מנהלי התקני חסימה מספקים קלט/פלט מונחה חסימה נגישים ומדגימים עמידות נתונים. הם לוקחים בקשת מערכת קבצים ומנפיקים את נהלי הקלט/פלט לדיסק כדי להעביר את החסימה המבוקשת. דוגמאות לכך הן מפתחות זיכרון USB וכונני דיסק.
5. נהגי יצרן ציוד מקורי (OEM)
ניתן לסווג מנהלי התקנים כגנריים או הקשורים ל- OEM. מנהלי התקנים גנריים מתייחסים למנהלי התקנים עם תוכנת ההפעלה שלהם המצורפת לחומרת OEM. אפשר להשתמש בנהגים גנריים עם מותגים שונים מסוג מכשיר מסוים. לדוגמה, לינוקס עובדת עם מספר מנהלי התקנים גנריים שמתפקדים ללא צורך להתקין תוכנה אחרת באופן ידני.
יצרני ציוד מקורי יכולים ליצור את מנהלי התקנים הקנייניים שלהם, שצריך להתקין אותם בנפרד לאחר התקנת מערכת ההפעלה. נהגי OEM מאפשרים לחומרה כמו מקלדות לתקשר עם מערכת ההפעלה המארחת. לדוגמה, מנהלי התקני OEM מאפשרים פונקציות כמו שילוב מערכת בקרת התאורה עם חומרת OEM ב- Google Assistant ו- Alexa.
6. מנהלי התקנים וירטואליים
מנהלי התקנים וירטואליים חיוניים בשליטה על מכונות וירטואליות או VM . הם פועלים הן בסביבות וירטואליזציה והן בסביבות שאינן וירטואליזציה. בסביבות וירטואליזציה, מנהלי התקנים אלה משמשים לחיקוי החומרה של המכשיר המארח. הם שולטים או מנהלים את חומרת המשאבים של המכשיר המארח כדי להבטיח כי גם המכשיר האורח וגם המארח יפעל כצפוי.
לדוגמה, כאשר מערכת הפעלה אורחת עובדת על מארח, היא מבצעת שיחות פונקציה למנהלי התקנים וירטואליים כדי לגשת לחומרה. בנוסף, הם מחקים התרחשויות ברמת המעבד כמו הפרעות ומעבירים אותם למכונה הווירטואלית.
7. ביוס
מערכת פלט הקלט הבסיסית (BIOS) היא מנהל ההתקן הבסיסי ביותר במחשב. הוא ממוקם בשבב זיכרון לקריאה בלבד (ROM), שמבטיח ש- BIOS יהיה זמין גם כאשר הדיסק הקשיח מעוצב. זה אחראי על אתחול מחשב ומספק לו קבוצת הוראות במהלך תהליך זה. זה גם מבצע בדיקות עצמיות (POST) הנדרשות במהלך ההפעלה. ה- BIOS מספק גם נהגים לחומרה הבסיסית, כמו מקלדות ומסכים, כדי להבטיח שהם מתממשקים למערכת ההפעלה כדי לתפקד כמתוכנן.
8. נהגי לוח האם
מנהלי התקנים של לוח האם הם יישומים פשוטים שגם Windows וגם Linux עשויים להשתמש בהם. הם קיימים במערכת ההפעלה ומאפשרים פעולות מחשב בסיסיות. נהגים אלה כוללים יישומים המאפשרים את המקלדת והעכבר’מכשירי USB ויציאות קלט/פלט לעבודה. יש לוחות אם יש נהגים התומכים בווידיאו ובאודיו.
נהגי לוח האם הם ספציפיים למודל ערכת השבבים, כמו B460 למחשבי אינטל. לממש את לוח האם’S פוטנציאל מלא ומאפשר לרכיבים המחוברים אליו לעבוד כראוי, המשתמשים עשויים להזדקק להתקנת מנהלי התקנים נוספים.
9. נהגי מקור פתוח
נהגי קוד פתוח מתייחסים לנהגים המשוחררים תחת רישיון קוד חינם ופתוח. לדוגמה, מנהלי התקנים גרפיים עם קוד פתוח שולטים בפלט לתצוגה אם התצוגה היא חלק מחומרת הגרפיקה. קוד המקור למנהלי התקנים עם קוד פתוח זמין לכולם, מה שמקל על שיתופי פעולה של תוכנה. הם אמינים יותר מכיוון שאנשים יכולים לבדוק להם כל קוד זדוני.
נהגי קוד פתוח מציעים יותר פרטיות. אם הם עוקבים אחר משתמשים, אנשים יכולים להפיץ מחדש עותק של התוכנה עם הוסרה המעקב. נהגי קוד פתוח נמשכים זמן רב יותר ככל שיותר אנשים ממשיכים לבצע שיפורים, ובכך מבטיחים שגם כאשר החברה מפסיקה להפיץ אותם, נשאר עותק.
יישומים של מנהלי התקנים
אבני בניין חיוניות אלה של מחשוב אישי וארגוני משמשים בדרכים הבאות:
1. מנהלי התקנים לגישה למערכות אחסון
מערכות אחסון למחשבים מאפשרות למשתמשים לאחסן נתונים ולהפוך אותם לזמינים לפי דרישה. הם כוללים מכשירים חיצוניים ופנימיים כמו כונני פלאש USB, כוננים קשיחים ואחסון רשת רשת רשת. מנהלי התקנים במערכות אחסון מאפשרים להם לקיים אינטראקציה עם המחשב. זה מבטיח שהמחשב יוכל לגשת למערכות האחסון הפנימיות או החיצוניות שלו, לשאול את המידע שלהם ולאפשר העברת נתונים.
חיבור התקני אחסון למחשב ללא נהגים הופך להיות קשה מכיוון שמערכת ההפעלה אינה מגלה אותם. בדרך כלל דיסקים קשיחים ותקליטורים מוכרים על ידי מערכת ההפעלה ואינם דורשים התקנה ידנית של הנהגים באופן ידני. על המשתמשים להתקין מנהלי התקנים מהיצרן’אתר האינטרנט אם הם לא מתגלים אוטומטית.
2. מנהלי התקנים למכשירי קלט ופלט
המחשב’S OS מקיימת אינטראקציה עם מנהלי התקנים כדי להבטיח את פונקציות החומרה שלה כצפוי. מכשירי קלט כוללים עכברים ומקלדות, ואילו התקני פלט כוללים התקני תצוגה כמו צגים. מקלדות, עכברים ומסכים מסווגים כמכשירי Plug-and-Play.
בדרך כלל, המנהלי ההתקנים למכשירי פלאג-משחק הם גנריים ואינם דורשים התקנה ידנית, כמחשב’מערכת ההפעלה מזהה אותם ומתקינה אותם באופן אוטומטי. עם זאת, אם מכשיר חיצוני אינו מכשיר פלאג-משחק, המשתמשים עשויים להזדקק להתקין ידנית את מנהלי ההתקן מדיסק ההתקנה או להוריד אותם. זה יאפשר למערכת ההפעלה לזהות מכשירים אלה.
3. מנהלי התקנים למצלמות דיגיטליות
מנהל התקן של מצלמה דיגיטלית הוא תוכנית המאפשרת תקשורת בינה לבין מכשירים אחרים, כמו מחשבים. ללא הנהגים, מערכת ההפעלה לא תגלה מכשיר זה. מרבית המצלמות הדיגיטליות תואמות רק את מערכת ההפעלה של Windows, כאשר מערכות לינוקס מפגרות.
מנהלי התקנים של מצלמה דיגיטלית מאפשרים העברת תמונות מהמצלמה למחשב. הם מאפשרים למצלמות דיגיטליות להדפיס תמונות באמצעות Pictbridge Standard ישירות למדפסת מחשב מסוגלת Pictbridge מבלי להזדקק למחשב. מנהלי התקנים ביציאת פלט הווידיאו מאפשרים למשתמשים להציג תמונות בטלוויזיה על ידי בחירת סרטון או תמונה אחת בכל פעם.
4. נהגים למערכות הפעלה ניידות כמו אנדרואיד
לטלפונים ניידים יש נהגים המאפשרים להם לתקשר עם מחשבים. הנהגים באים עם הקושחה ברוב הטלפונים, המאפשרת למחשבים לטעון אותם כדי לתמוך בחומרה מכיוון שמערכת ההפעלה אינה מוגדרת. עם זאת, לפעמים משתמשים עשויים להזדקק להתקין תחילה תוכנת מחשב OEM כדי להתקין מנהלי התקנים ולאפשר העברת נתונים.
נהגים מאפשרים שילוב של מכשירים היקפיים כמו בקרי משחק או מקלדות המבוססים על מערכות הפעלה כמו אנדרואיד דברים ואנדרואיד. הנהגים מאפשרים גישה ושליטה על החומרה. בנוסף, הם מאפשרים למכשירים חכמים לעבוד עם יישומים מותאמים אישית.
5. מנהלי התקנים לביצועי וידאו מעולים
כרטיסים גרפיים הם רכיבי ליבה של מערכת מחשב ואחראים על ביצועי וידאו מעולים במחשבים, במשחקים או במשימות עתירות גרפיות אחרות. מנהלי התקנים גרפיים מאפשרים לכרטיסים גרפיים לקיים אינטראקציה עם המחשב’S מערכת ההפעלה ולכן חיוניים לקבלת הביצועים המובילים מהכרטיסים הגרפיים.
עדכון מנהלי התקנים גרפיים ומנהלי התקנים אחרים של Windows 11 (או יותר) יכולים לתת למשתמשים דחיפה מהירה, לתקן בעיות ולעיתים אפילו לספק למשתמשים תכונות חדשות. לדוגמה, עדכון מנהלי התקנים יכולים להגדיל את המסגרות לשנייה, ולהפחית את הפיגור.
ככל שצרכנים ועסקים משתמשים יותר ויותר במכשירים ובציוד היקפי, נהגי מכשירים חיוניים לתשתית IT . טכנולוגיית הנהג המודרנית יכולה לשפר את תפקוד המחשבים על ידי הפחתת צריכת המשאבים והגברת המהירות. לכן יש צורך לדעת כיצד מנהלי התקנים פועלים ויש להם טלאי מנהלי התקנים רגילים ולוח הזמנים לעדכון כך שכל המערכת האקולוגית של המכשיר תעבוד בצורה חלקה.
האם מצאת מאמר זה מועיל כאשר לומדים על מנהלי התקנים? תגיד לנו ב פייסבוק פותח חלון חדש , טוויטר פותח חלון חדש , וכן לינקדאין פותח חלון חדש . אָנוּ’D אוהב לשמוע ממך!
עוד על DevOps
- 10 אישורי Azure DevOps בשנת 2022
- מהו מחזור החיים של DevOps? הגדרה, רכיבי מפתח ושיטות עבודה מומלצות לניהול
- 10 אישורי Master Scrum המובילים בשנת 2022
- 18 שאלות המובילות של Azure Devops ראיון בשנת 2022
- 10 אישורי DevOps המובילים בקורסים בשנת 2022