כיצד להכין מערכת הפעלה למחשב: 13 שלבים (עם תמונות)

תוכן עניינים:

כיצד להכין מערכת הפעלה למחשב: 13 שלבים (עם תמונות)
כיצד להכין מערכת הפעלה למחשב: 13 שלבים (עם תמונות)

וִידֵאוֹ: כיצד להכין מערכת הפעלה למחשב: 13 שלבים (עם תמונות)

וִידֵאוֹ: כיצד להכין מערכת הפעלה למחשב: 13 שלבים (עם תמונות)
וִידֵאוֹ: כיצד להתקין מערכת הפעלה על מחשב נייד 2024, אַפּרִיל
Anonim

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

צעדים

חלק 1 מתוך 2: לימוד היסודות

הפוך מערכת הפעלה למחשב שלב 1
הפוך מערכת הפעלה למחשב שלב 1

שלב 1. קח כמה קורסים בסיסיים במדעי המחשב

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

צור מערכת הפעלה מחשב שלב 2
צור מערכת הפעלה מחשב שלב 2

שלב 2. למד שפת תכנות ברמה גבוהה כמו Python

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

אם אתה חדש ב- C, עיין בקורס תכנות C של Dartmouth: תחילת העבודה, שהוא בחינם דרך EDX. לאחר שתסיים את הקורס, תוכל לעבור את הקורס הבא בסדרה: C Programming: יסודות שפה. לאחר מכן, המשך לקורסים הבאים כמו תכנות מודולרי וניהול זיכרון ומצביעים וניהול זיכרון

הפוך מערכת הפעלה למחשב שלב 4
הפוך מערכת הפעלה למחשב שלב 4

שלב 3. למד שפת הרכבה

שפות הרכבה הן שפות ברמה נמוכה שנועדו לתקשר עם מעבדים שונים. מכיוון שההרכבה שונה עבור סוגי מעבדים שונים (למשל, שפת הרכבה x86 עבור מעבדי Intel, AMD, VIA ומעבדים אחרים), יהיה עליך ללמוד את הגירסה לסוג המעבד שאליו אתה מקודד.

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

שלב 4. השלם הדרכה למערכת ההפעלה

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

  • Bare Bones היא הדרכה שעוזרת לך לכתוב את הגרעין הפשוט הראשון של 32 סיביות. לאחר השלמת ההדרכה, השלב הבא הוא להשתמש ב- Meaty Skeleton כדי לבנות מערכת הפעלה משלך.
  • Linux from Scratch הוא ספר מקוון שמלווה אותך ביצירת מערכת הפעלה לינוקס משלך.
  • מערכות הפעלה מ 0 עד 1 הוא ספר חינמי על יצירת מערכות הפעלה שונות מההתחלה ועד הסוף.
הפוך מערכת הפעלה למחשב שלב 3
הפוך מערכת הפעלה למחשב שלב 3

שלב 5. גלה את מטרות מערכת ההפעלה שלך

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

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

חלק 2 מתוך 2: בניית מערכת ההפעלה שלך

שיהיה כיף למחשב שלב 16
שיהיה כיף למחשב שלב 16

שלב 1. בחר סביבת פיתוח

זוהי הפלטפורמה שבה תשתמש כדי לקודד את מערכת ההפעלה החדשה שלך. זה עניין של העדפה אישית, אבל רוב האנשים משתמשים ב- Windows או בטעם UNIX. אם אתה משתמש ב- Windows, מומלץ להתקין סביבת UNIX כמו Cygwin או MinGW. בדרך כלל תרצה לוודא שבכל סביבה שבה אתה משתמש כוללת את הדברים הבאים:

  • GCC (מהדר Gnu). אם אתה משתמש ב- Windows, תוכל להתקין אותו ב- Cygwin או ב- MinGW.
  • Binutils הוא אוסף של כלים המשמשים למניפולציה של קבצי אובייקטים. שוב, אם אתה משתמש ב- Windows, תוכל להתקין אותו ב- Cygwin.
  • עורך טקסט טוב. Vim ו- emacs נמצאים בשימוש נפוץ בסביבות UNIX. משתמשי Windows יכולים להשתמש בפנקס הרשימות, או לבדוק את Notepad ++ עבור שדרוג רב כרטיסיות.
  • Perl ו/או פייתון. אחד או שניהם מומלצים לצורך מניפולציה של מחרוזות.
הפוך מערכת הפעלה למחשב שלב 13
הפוך מערכת הפעלה למחשב שלב 13

שלב 2. הגדר את מערכת בקרת הגירסאות שלך

כתיבת מערכת הפעלה פירושה שכנראה תיצור מאות (או אלפי!) שורות קוד. כשאתה עובד על תיקונים זה עלול לבלבל. כמה אפשרויות לבדוק הן CVS, Mercurial ו- Subversion.

הפוך מערכת הפעלה למחשב שלב 6
הפוך מערכת הפעלה למחשב שלב 6

שלב 3. החליט על מטען אתחול

אם אינך רוצה ליצור משלך, תוכל להשתמש במכשיר קיים כמו Grand Unified Bootloader (GRUB). אם אתה מרגיש מספיק נועז לקודד מטען אתחול, בדוק את Rolling Your Bootloader משלך ב- OSDev.org.

הפוך מערכת הפעלה למחשב שלב 9
הפוך מערכת הפעלה למחשב שלב 9

שלב 4. בחר עיצוב גרעין

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

הפוך מערכת הפעלה למחשב שלב 12
הפוך מערכת הפעלה למחשב שלב 12

שלב 5. התחל בקטן

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

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

הפוך מערכת הפעלה למחשב שלב 14
הפוך מערכת הפעלה למחשב שלב 14

שלב 6. בדוק את מערכת ההפעלה החדשה שלך באמצעות מכונה וירטואלית

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

הפוך מערכת הפעלה למחשב שלב 15
הפוך מערכת הפעלה למחשב שלב 15

שלב 7. שחרר מועמד לשחרור

אתה יכול לעשות זאת על ידי העלאת הקוד שנבדק למאגר הציבורי שלך. הדבר יאפשר לאנשים לבדוק את מערכת ההפעלה שלך ולדווח על כל בעיה שהם נתקלים בה.

שיהיה כיף למחשב שלב 28
שיהיה כיף למחשב שלב 28

שלב 8. רשת עם מפתחי מערכות הפעלה אחרות

יש קהילה שלמה של מפתחי מערכות הפעלה המתכנסים בפורומים שונים, כולל /r /osdev ב- Reddit ו- Exchange Engineering Stack Exchange. אחד שהבנת בפיתוח מערכת הפעלה בסיסית, קרא פוסטים קיימים כדי לראות אילו דברים עולים במהלך תהליך הפיתוח.

וידאו - על ידי שימוש בשירות זה, מידע מסוים עשוי להיות משותף עם YouTube

טיפים

  • הקפד ליישם תכונות אבטחה כעדיפות עליונה אם אי פעם תרצה שהמערכת שלך תהיה כדאית.
  • לאחר סיום כל הפיתוח, החליט אם ברצונך לשחרר את הקוד כקוד פתוח או כקנייני.
  • כדי שמערכת הפעלה תוכל להתמודד עם מספר מעבדים, מנהל הזיכרון שלך חייב להיות בעל מנגנוני "נעילה" כדי למנוע ממספר מעבדים לגשת לאותו משאב בו זמנית. ה"מנעולים "המשמשים לכך יחייבו נוכחות של מתזמן כדי לוודא שרק מעבד אחד ניגש למשאב קריטי בכל זמן נתון וכל האחרים מחויבים. עם זאת המתזמן תלוי בנוכחות מנהל זיכרון. זהו מקרה של תלות סתומה. אין דרך סטנדרטית לפתור בעיות כאלה; כמתכנת, אתה צפוי להיות מיומן מספיק כדי להבין את הדרך שלו להתמודד עם זה.
  • גם מערכת הפעלה יכולה להיות ידידותית למשתמש. הקפד להוסיף תכונות ידידותיות למשתמש, מה שהופך אותן לחלק בלתי נפרד מהעיצוב שלך.
  • אל תצטרף בפורומים של OSDev.org והתחל לשאול שאלות ברורות. זה פשוט יביא "קרא את המדריך" תשובות. כדאי לנסות לקרוא את ויקיפדיה ואת המדריכים לכלים השונים שבהם אתה רוצה להשתמש.
  • אל תתחיל פרויקט של מערכת הפעלה להתחיל ללמוד תכנות. אם אינך יודע עדיין C, C ++, פסקל או שפה מתאימה אחרת מבפנים החוצה, כולל מניפולציה של מצביע, מניפולציה של סיביות ברמה נמוכה, העברת סיביות, שפת הרכבה מוטבעת וכו ', אינך מוכן לפיתוח מערכת הפעלה..
  • אם אתה עושה משהו לא מומלץ, כמו לכתוב בתים אקראיים ליציאות קלט/פלט אקראיות, אתה תקרוס את מערכת ההפעלה שלך ותוכל (בתיאוריה) לטגן את החומרה שלך.

מוּמלָץ: