תרגול 4 Flashcards
למה יש מודלים
להוספת פונקציוניות חדשה לגרעין בזמן ריצה
לדוגמה דרייברים להתקנים חדשים שהכנסו למחשב
מה הבעיה עם טעינת מערכת ההפעלה בעליית המחשב
שהמחשב עולה צריך לטעון את מערכת ההפעלה מהדיסק אבל בשביל זה צריך מערכת הפעלה
Bios
ראשי תיבות
Basic input output system
מהי ביוס
מתי נטען
התוכנה הראשונה שנטענת למחשב
צרובה בהתקן חומרה ונטענת לכתובת קבועה בזכרון בעת עליית המחשב
הוא מזהה את התקני החומרה המחוברים למחשב
בודק מקלדת ועכבר תקינים
עובר כל רשימה מוגדרת מראש לחיפוש התקן מאפשר אתחולbootable device
אם לא מוצא התקן כזה מדפיס שגיאה
אם מוצא אז טועם את הסקטור הראשון שלו למקום קבוע בזכרון
איזה שינוי עבר הביוס כיום
היום בדרכ על זכרון שמאפשר כתיבה כדי לידכן אותו
יש מנגנון חדש שמועדף עליו בשם UEFI
Mbr
ראשי תיבות
Master boot record
Mbr
מה זה
סקטור ראשון של דיסק מאפשר אתחול
מיכל קוד אסמבלי בסיסי לטעינת מנהל האתחול
Boot loader
למה לא שומרית את הboot loader
ב
Mbr
לא יספיק לנו 512 בתים
באיזה boot loader
לינוקס משתמש לרוב
Grub
איך grub מצליח לגשת לדרייבריפ כמו מקלדת עכבר ודיסק?
האם זה מושלם ?
הוא מנצל את זה שהביוס כבר מימש אותם ומשתמש בהם
הדרייברים מצומצמים יחסית ןלכן לפעמים יכול לפספס דיסקים
שלבי טעינת גרעין לינוקס
וכמה שוקל כל דבר בתהליך
Grub
טוען לזיכרון תמונה דחוסה של הגרעין
bzimage/vmlinuz
ואז מחלץ אותה
שוקלת בערך 8 מגה
Grub
טוען את מערכת הקבצים הראשונית
שהיא מערכת קבצים קטנה
initramfs inital ram file system
Or
Initrd initial ram disk
כמה עשרות מגה
גרעין הלינוקס מריץ את
/init
מתוך מערכת הקבצים
בדרך כלל זהו סקריפט shell
התוכנית הזו טוענת את הדרייברים הנחוצים ועושה mount למערכת הקבצים האמיתית במקום הראשונית
גרעין הליקנוס קורא ל
/sbin/init
האם מערכת הקבצים הראשונית מכילה את כל הדרייברים במחשב?
לא
לדוגמה דרייברים של כרטיס רשת לא רלוונטים לה בכלל ויטענו עם מערכת ההפעלה האמיתית
מהי פקודת
dmesg -H
בעזרתה ניתן לראות הדפסות שהיו במהלך עליית המערכת
איזה פקודה
טוענת מודל חדש
פורקת קיים
מציגה רשימת הטעונים
insmod
Rmmod
Lsmod
האם מודלים יכולים
להוסיף קריאת מערכת חדשות
להוסיף מערכת קבצים חדשות
לשנות קריאות מערכת קיימות
כן כן כן
מה היתרונות של מודלים
משאירים את הגרעין קטן
כל משתמש טוען איזה מודלים שהוא צריך
ניתן להוסיף בעתיד תמיכה בחומרה חדשה בלי לשנות את הגרעין
יותר מהר לקמפל את הגרעין כי יותר קטן
אפשר להוסיף אותם בלי לעשות ריסט ובלי לקמפל את כל הגרעין
האם אפשר לטעון מודלים בתור משתמש לא root
No
Root only
על מה חשוב להקפיד בבניית מודל
להקפיד על אבטחה כי המודל רץ במצב גרעין
מה הקשר בין גרסת הלינוקס שבה נבנה המודל לזה שרץ בה
חייבת שהמודל שרץ יבנה על אותה מערכת הפעלה שרץ בה כדי למנוע שגיאות
בעת כתיבת מודל
מה הפונקציה שתרוץ בעת טעינת המודל
בעת מחיקת המודל
init_module(void)…
cleanup_module(void) …