כיצד ללמוד עוד על ליבה של לינוקס מהמחשב שלך



נסה את הכלי שלנו לביטול בעיות

לימוד עבודה עם GNU / Linux כולל בדרך כלל לימוד עבודה עם סביבת שולחן עבודה. טכנולוגיית ערכות נושא מאפשרת לסביבות שולחן העבודה הללו לחקות את הממשקים של מכשירי iOS, Microsoft Windows ו- OS X. זה עוזר למזער את זה כביכול. אנשים רבים הולכים רחוק יותר ולומדים ניהול שורת הפקודה של יוניקס באמצעות פגזי Bash או tcsh. עם זאת, היכרות עם הפנימיות של ליבת לינוקס יכולה לעזור לך להבין טוב יותר כיצד חלקים שונים של קוד קוד מתקשרים זה עם זה.



יש אנשים שטוענים כי עדיף להתקדם כמה צעדים ובנוסף ללמוד כיצד מהדרים מעבירים קוד C למדריכי מכונות עבור מעבד. תומכי קוד הרכבה יטענו אז שעדיף ללמוד ASM לתפוס באמת תכנות בפלטפורמות x86 ו- x86_64. ללא קשר לעמדות אלה, פקודות לינוקס בסיסיות יכולות לספק שפע של מידע על האופן שבו הליבה רואה את המחשב שלך. למידה דרך מבט אך אל תיגע בפרדיגמה היא דרך נהדרת לשלוט בגרעין עצמו. אמנם חשבון הבסיס שימש לדוגמאות בדף זה, אך מומלץ מאוד לראות ספריות המקושרות לליבה רק דרך חשבון משתמש.



שיטה 1: מדריך / proc

ספריית / proc שוכנת באחד האזורים העיקריים בספריית השורש ברמה העליונה בכל מבנה קבצים של יוניקס. הוא מכיל את מה שמכונה מערכת קבצי proc, הידועה יותר בשם procfs המכילה מידע על הדרך בה משאבים שונים ניגשים לזיכרון הליבה. זה ממופה ל- / proc בזמן שהמערכת מתחילה. מכיוון שמבנה קובץ ה- proxy הזה משמש ממשק למבנה הנתונים הפנימי בתוך ליבת לינוקס, זה שוב הכי טוב רק לחקור זאת באמצעות חשבון משתמש. רוב הקבצים מסווגים לפי מבנה קובץ המערכת הגלוי בכל מקרה כקריאה בלבד, אך עדיף להיות בצד הבטוח.



עם זאת, כל אחד מהם הוא קובץ טקסט, כך שתוכל להציג אותם אם תרצה בכך. השתמש בפקודה cd כדי להיכנס לספרייה / proc, ואז הוציא ls כדי לבדוק מה יש שם. השתמש בחתול, בפקודה פחות או יותר עם כל אחד מהקבצים כדי להסתכל עליהם. קובץ cpuinfo הוא מקום טוב להתחיל מכיוון שהוא מציג כיצד הגרעין רואה את המעבד שלך. עיין בקובץ הסטטיסטיקה לתצוגה של תהליכים פועלים.

2016-11-25_020006

הקלדת מכשירי חתול תתן לך מבט אילו דברים מחוברים למכונה שלך.



2016-11-25_020109

אגב, אתה תמיד יכול להנפיק את איש הפקודה proc עבור סקירה של האופן שבו מבנה הקובץ / proc מתייחס לליבה. הדף המוצג מקורו במדריך המתכנת של לינוקס.

2016-11-25_020156

שיטה 2: מדריך / sys

התחנה הבאה שלך בסיור בגרעין שלך היא / sys, שהיא ספרייה נוספת הממופה למבנה קבצים מעמיד פנים. זה עוקב אחר אותו מושג יוניקס כללי כמו / proc, אך במקום זאת הוא מייצא באופן פעיל מידע על כונני התקנים משויכים ומספר תת מערכות ליבה. אם עבדת אי פעם עם מערכת מבוססת BSD, ייתכן שאתה מכיר יותר את sysctl המספק פונקציות אלה. התקני אוטובוס PCI, USB ו- S / 390 ממופים כולם לספריית / sys.

השתמש ב- cd / sys כדי לעבור לספריה ואז הוציא את הפקודה ls או dir. יכול להיות שיש לך ספריות שכותרתן חסום, מחלקה, מכשירים, fs, גרעין ואולי אחרים. אתה יכול לחקור אותם לקבצים שטוחים נוספים המכילים מידע על המערכת, אך שוב לעשות זאת מחשבון משתמש ולשמור על מבט אך אל תיגע במנטליות לגבי עצמך.

שיטה 3: מדריך / dev

השתמש בפקודה cd / dev כדי לעבור לספריה / dev, שעשויה להיות המבנה הווירטואלי של הגרעין שאתה כבר מכיר ביותר. פירוש השם הוא מכשירים, והוא מכיל ייצוג קבצים של התקנים המחוברים למערכת שלך. פקודה ls בספריה זו תחזיר קבצים רבים אפילו על הפצת השרתים הפשוטה ביותר.

2016-11-25_020242

כמה מהם מיוחדים מאוד. קובץ / dev / null הוא מכשיר null שאינו עושה דבר. אם תקליד cat / dev / null, אז לא תפיק מזה שום דבר. זה נקרא דלי הסיביות, וניתן להפנות אליו את הפלט כדי לשמור על ניקיון המסך. קובץ שנקרא / dev / zero מכיל דבר מלבד אפס נתונים, שאותם ניתן לכתוב לדיסק כדי לאפס אותם. הקבצים האקראיים ו- urandom מכילים נתוני זבל אקראיים ליצירת חשיפות אבטחה.

אם אי פעם עיצבת דיסק, סביר להניח שיש לך לפחות ניסיון עם האופן שבו ליבת לינוקס רואה אותם. כל דיסק המחובר למערכת מקבל שם כמו sda, sdb וכן הלאה עבור כל דיסק. סוגי דיסקים שונים מקבלים שמות שונים. זכור שספריית / dev משתמשת בהגדרה רשמית פוטנציאלית של מדעי המחשב לדיסק ולא בדרך בה אנו משתמשים בדרך כלל במונח זה. פירוש הדבר שכונן קשיח, SSD, כרטיס SD, כרטיס microSDHC, מערכת קבצים חכמה מותקנת המחוברת באמצעות USB, מקלות USB ואפילו טאבלטים מותקנים הם כל הדיסקים לליבה.

לאחר מכן כל שם דיסק ב- Linux מקבל ספרה אחריה המציין מספר מחיצה. אם היה לך SSD עם שתי מחיצות עיקריות, ייתכן שיהיה לך / dev / sda1 ו- dev / sda2 כרכים תקפים. סביר להניח שאם אתה מריץ לינוקס משולחן עבודה או מחשב נייד עם חלוקה בסגנון MBR, הגדרת / dev / sda1 מוגדרת למחיצת ext4 שלמעשה מותקנת עליה לינוקס. יותר סביר / dev / sda2 היא מחיצה מורחבת אשר מכילה / dev / sda5 כמחיצת החלפה. תוכנית זו נפוצה, אך בשום פנים ואופן אינה נחוצה. שים לב כי מכיוון שמחיצת ההחלפה בדוגמה נפוצה זו היא דיסק לוגי בתוך מחיצה מורחבת, היא מקבלת 5 במקום 3 כמספרה.

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

בוא נגיד שהמקל שלך מופיע כ / dev / sdc אז אתה יכול להשתמש sudo fdisk / dev / sdc כדי להעלות אותו. אם יש בה מחיצה תקפה, הקלד t כדי לשנות את הסוג ואת סוג L לטעינת רשימת קוד הקס. שים לב כי תוכניות מחיצות MBR ו- GUID מדברות עם הגרעין באופן שונה, ולכן יש להן מטלות שונות.

2016-11-25_020331

לעתים קרובות יותר לא מוגדרים כוננים לסוג 83, המיועד לכונני לינוקס, 82, המיועד למחיצות החלפת לינוקס, או לאחד מסוגי הקבצים FAT. FAT מתוארך בצורה זו או אחרת בשנת 1977, והוא עדיין מועדף על סוגים רבים של מכשירים ניידים כמו גם כוננים נשלפים רבים. שים לב שכמה סוגי מחיצות, כגון סוג 0x0c, כוללים משהו שנקרא תמיכה ב- LBA.

כאשר מתכנת מתכנן גרעין עבור מערכת הפעלה, יש להם כמה דרכים שונות בהן הם יכולים להסתכל על דיסקים. האחת היא לחלק את הפלטות לצילינדרים, ראשים ומגזרים. זו הייתה הדרך הקלאסית להתייחס לכוננים הקשיחים לזמן הארוך ביותר. גאומטריית דיסקים מקורית מעולם לא הייתה חשובה מאוד עבור לינוקס, ולתכונה זו נגמרים כתובות לאחר כ -8 ג'יגה-בייט בינאריים. הדרך השנייה היא להשתמש בכתובת Logical C / H / S, שעושה זאת, אך לאחר מכן מאפשר לבקר הדיסק למפות את מספרי הצילינדר, הראש והמגזר היכן שירצו. זו הסיבה שמערכת הפעלה יכולה לטעון תיאורטית שיש ראשים בכרטיס SD או במקל USB כאשר הדבר בלתי אפשרי מבחינה פיזית.

השיטה השלישית היא באמצעות Logical Block Addressing, וזה מה ש- LBA מייצג. כל בלוק פיזי בכרך מקבל ספרה בתכנית זו. מערכת ההפעלה אומרת לבקר הדיסק לכתוב לבלוק ממוספר מסוים, אבל לא ממש יודע אם זה החסימה הישירה בדיסק. זו התוכנית הנפוצה ביותר כיום, והיא בהחלט שימשה ברוב המכריע של הדיסקים הקשיחים מאז אמצע שנות התשעים.

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

שיטה 4: שיחות מערכת מתוך מדריך המתכנת של לינוקס

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

2016-11-25_020430

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

2016-11-25_020518

6 דקות קריאה