אתחול

מתוך ויקיפדיה, האנציקלופדיה החופשית
קפיצה אל: ניווט, חיפוש

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

רוב מערכות המחשב יכולות לבצע אך ורק קוד שנמצא בזיכרון RAM או ROM; מערכות הפעלה מודרניות מאוחסנות בדרך כלל על כוננים קשיחים, LiveCD וכונני USB flash. מיד לאחר שמחשב הודלק, אין לו מערכת הפעלה בזיכרון. חומרת המחשב בלבד איננה מסוגלת לבצע פעולות מסובכות של מערכת הפעלה, כמו טעינת תוכנית מהכונן בעצמה; כביכול נראה שנוצר פרדוקס בלתי פתיר: כדי לטעון מערכת הפעלה אל הזיכרון, נראה שכבר צריך שתהיה בזיכרון מערכת הפעלה.

מנהל אתחול[עריכת קוד מקור | עריכה]

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

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

קוד אסמבלר-כביכול עבור מנהל האתחול, יכול להיות פשוט כמו 8 ההוראות הבאות:

0: הצב 8 באוגר P
1: בדוק שקורא כרטיסי הניקוב מוכן
2: אם הוא אינו מוכן, קפוץ ל 1
3: קרא בייט מקורא כרטיסי הניקוב לצובר
4: אם סוף טייפ הכרטיסים הגיע, קפוץ ל 8
5: שמור מידע מהצובר לכתובת באוגר P
6: קדם את P ב - 1
7: קפוץ ל 1

במחשבים מודרניים, תהליך האתחול מתחיל כשיחידת העיבוד המרכזית מבצעת תוכנה אשר נמצאת בתוך ROM. לדוגמה, ה־BIOS של מחשב IBM PC בכתובת מוגדרת מראש (המעבד מתוכנת לבצע תוכנה זו אחרי פעולת reset, ללא עזרה חיצונית). תוכנה זו מכילה פונקציונליות מספיקה כדי לחפש התקנים המתאימים להשתתף בתהליך האתחול, וטוענת תוכנה קטנה מחלק מיוחד (שנקרא לרוב ה-boot sector) של ההתקן המבטיח ביותר.

Boot loader-ים עלולים להתקל בהגבלות רבות, במיוחד בגודל; למשל, ב IBM PC ותואמיהם, השלב הראשון של מנהל האתחול יהיה לעולם באורך של 512 בתים, ויסתיים בערך AA55h (אשר בו מביט ה - BIOS על מנת לוודא שה - boot loader תקין).

Boot Loader שלב-שני[עריכת קוד מקור | עריכה]

Postscript-viewer-shaded.png ערך מורחב – מנהל אתחול

התוכנה הקטנה עצמה אינה מערכת הפעלה לכשלעצמה בדרך כלל, אלא רק boot-loader מסוג "שלב-שני", כמו NTLDR, LILO או GRUB. השלב השני יוכל לטעון את מערכת ההפעלה כראוי, ואז יעביר את המעבד לביצועה. המערכת תאתחל את עצמה, וייתכן והיא תטען מנהלי התקן ותוכנות אחרות הדרושות לפעולה רגילה של מערכת ההפעלה.

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

מערכות משובצות מחשב חייבות לאתחל את עצמן באופן כמעט מיידי - לדוגמה, המתנה של כדקה כדי שטלוויזיה "תעלה", הינה דבר בלתי מתקבל. לכן, הן חייבות שכל מערכת ההפעלה שלהן תהיה ב־ROM או בזיכרון הבזק, כדי שאפשר יהיה לבצע אותן באופן ישיר.

התקני אתחול BIOS[עריכת קוד מקור | עריכה]

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


Postscript-viewer-shaded.png ערך מורחב – תקליטור אתחול

ב - BIOS מודרני, המשתמש יכול לבחור באחד ממספר התקנים שממנו הוא רוצה לבצע את האתחול, לדוגמה הכונן הקשיח, דיסקט, SCSI, CD-ROM‏, ‏כונן ZIP, ‏LS-120‏ או USB (דיסקט-ZIP-USB ,USB, תקליטור-USB וכונן קשיח-USB).

לדוגמה, ניתן להתקין את Windows על הכונן הקשיח הראשון, ואת לינוקס על השני. על ידי שינוי ההגדרות ב־BIOS, המשתמש יכול לבחור איזו ממערכות ההפעלה ברצונו לטעון.

ישנן תוכנות מיוחדות המאפשרות לבחור את מערכת ההפעלה שתעלה במחשב כגון GRUB.

תהליך האתחול במחשב PC סטנדרטי (תואם IBM-PC)[עריכת קוד מקור | עריכה]

מחשב PC במהלך תהליך האתחול

בהתחלה, המעבד של המחשב האישי מריץ את ההוראות הממוקמות באוגר בזיכרון FFFF0h של ה - BIOS. אוגר זיכרון זה ממוקם קרוב לסוף של זיכרון המערכת. הוא מכיל פקודת קפיצה (jump) שמעבירה את הביצוע למיקום של תוכנת ההתחלה של ה - BIOS. התוכנה מריצה בדיקה עצמית שנקראת Power-On Self Test (או בקיצור POST), אשר הינה בדיקה כדי לוודא שההתקנים שהמחשב הולך להתבסס עליהם הם תקינים, ואז היא מאתחלת אותם. לאחר מכן, ה - BIOS עובר דרך רשימה מוגדרת מראש של התקנים, עד שהוא מוצא אחד מהם שניתן לבצע ממנו את הליך ה - boot. אם לא נמצא אף התקן כזה, ניתנת הודעת שגיאה, ותהליך ה - boot מופסק. אם ה - BIOS מוצא התקן שניתן לבצע ממנו boot, הוא טוען ומבצע את תוכן ה - boot sector שלו, אשר בכוננים קשיחים הוא ה - Master Boot Record (או בקיצור MBR), ואינו ספציפי למערכת הפעלה מסוימת. ברוב המקרים, ה - MBR בודק את טבלת המחיצות (Partition Table) עבור מחיצה פעילה. אם נמצאת מחיצה פעילה כזו, ה - MBR טוען את ה - boot sector ומריץ אותו. ה - boot sector הזה הוא ספציפי לכל מערכת הפעלה ומערכת הפעלה, אך ברוב מערכות ההפעלה, תפקידו העיקרי הוא לטעון ולהריץ את הגרעין, אשר ממשיך את האתחול, וטוען את מערכת ההפעלה באופן מלא, עד לסיום תהליך האתחול.

סוגים שונים של סדרי Boot[עריכת קוד מקור | עריכה]

לסוגי מעבדים אחרים יש סוג אחר של מצב boot, רוב מעבדי האותות הדיגיטליים מכילים:

  • boot מצב טורי
  • boot מצב מקבילי
  • HPI boot
  • אתחול "חם", או אתחול "רך" (בניגוד ל"אתחול קשה"), הינה פעולה אשר פועלת לקריאה לרוטינת האתחול ללא צורך בניתוק וחידוש הזרם.

אתחול בשרתים ובמסופים[עריכת קוד מקור | עריכה]

תהליך האיתחול בשרתים ובמסופים הוא בדרך כלל כמתואר לעיל. אולם ישנן אפשרויות נוספות:

  1. אתחול של המחשב מהרשת.
  2. עבור מסופים - בחירה באתחול לאיזה שרת להתחבר.
  3. עבור שרתים - אתחול אוטומטי בתור חלק מגיבוי.

ראו גם[עריכת קוד מקור | עריכה]

קישורים חיצוניים[עריכת קוד מקור | עריכה]