היסטוריה קצרה של לינוקס

הקדמה

בשימוש פופולרי, "לינוקס" מתייחס בדרך כלל לקבוצת הפצות מערכות ההפעלה שנבנו סביב לליבת ה-Linux. במובן המחמיר ביותר, עם זאת, לינוקס מתייחס רק לנוכחות של ליבת המערכת עצמה. כדי לבנות מערכת הפעלה מלאה, הפצות Linux כוללות לעיתים כלי עבודה וספריות מפרויקט GNU וממקורות אחרים. לאחרונה, יותר מפתחים השתמשו ב-Linux כדי לבנות ולהפעיל אפליקציות ניידות; גם שיחק תפקיד מרכזי בפיתוח מכשירים זולים כמו Chromebooks, המריצים מערכות הפעלה על הליבה. בתוך סביבות חישוב ענן ושרתים בכלל, Linux הוא בחירה פופולרית מסיבות פרקטיות מסוימות:

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

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

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

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

שורשים ב-Unix

לינוקס משיג את שורשיו ב-Unix וב-Multics, שני פרוייקטים ששיתפו את המטרה לפתח מערכת הפעלה מרובת משתמשים חזקה.

התפתחותו של Unix

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

עצם קבוצת המחקר בבל לאבס הפסיקה לממן את פרויקט ה-Multics בשנת 1969, אך קבוצה של חוקרים, כולל קן תומפסון ודניס ריצ'י, המשיכה לעבוד עם עקרונות הליבה של הפרויקט. ב-1972-3 הם קיבלו החלטה לכתוב את המערכת מחדש בשפת C, מה שהפך את Unix לנייד באופן ייחודי: להבדיל ממערכות ההפעלה העכשוויות האחרות, היא יכלה להיזוז מהחומרה ולחיות לאורך זמן.

מחקר ופיתוח בבל לאבס (אחר כך AT&T) המשיך, עם מעבדות מערכת Unix שפתחו גרסאות של Unix, בשותפות עם סאן מיקרוסיסטמס, שהן נקלטו ברוב רחב על ידי ספקי Unix מסחריים. בינתיים, המחקר המשיך בקרב מעגלי האקדמיה, בייחוד קבוצת מחקר במערכות המחשב באוניברסיטת קליפורניה ברקלי. קבוצה זו הפיקה את התפצלות התוכנה של ברקלי (BSD), שהשריעה מגוון של מערכות הפעלה, רבות מהן עדיין בשימוש כיום. שתי הפצות של BSD היסטוריות הן NeXTStep, מערכת ההפעלה שהמציאה NeXT, שהפכה לבסיס של macOS, בין המוצרים האחרים, ו-MINIX, מערכת הפעלה למטרות חינוכיות ששימשה כבסיס השוואה לפיתוחו של לינוס טורוולדס של Linux.

מאפיינים מרכזיים של Unix

Unix מתבססת על עקרונות של בהירות, ניידות ותיאום.

  • אורח המערכת: עיצוב המודולים של Unix מאפשר לפונקציות לרוץ בדרך מוגבלת ומוגדרת. מערכת הקבצים שלו אחידה והיררכית, מה שמפשט את הטיפול בנתונים. להבחינו ממספר מהמקודמות שלו, Unix מיישמת מאות (ולא אלפיים) קריאות מערכת, כל אחת מתוכננת להיות ברורה ובמטרה.
  • ניידות: על ידי כתיבת Unix בשפת C, צוות בבל לאבס מיקמו את Unix לשימוש ואימוץ בקנה מידה רחב. C נוצרה כך שיהיה לה גישה ברמה נמוכה לזיכרון, תמיכה מינימלית בזמן ריצה, וקשר יעיל בין השפה וההוראות של המכונה. הבסיס ב-C אומר ש-Unix הוא נפתח וקל להריץ על מגוון של חומרות.
  • סימולטניות: לליבת Unix מותאמת למטרה (המשותפת לפרויקט Multics) של החזקת מספר משתמשים ותהליכי עבודה. שטח ליבה נשמר כשולי משטח המשתמש ב-Unix, מה שמאפשר ליישם בו זמן רברב יישמו מספר אפליקציות בו זמן ובו זמן.

התפתחותו של Linux

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

ניסויים מקור-פתוח

ריצ'רד סטולמן היה דמות מרכזית בין המפתחים שהושפעו ליצירת אלטרנטיבות לא-פרופריטריות ליוניקס. בזמן שעבד במעבדה לבינה מלאכותית של MIT, הוא התחיל עבודה על פרויקט GNU (רקורסיבית עבור "GNU's not Unix!"), וסופסוף עזב את המעבדה בשנת 1984 כדי שיוכל להפיץ רכיבי GNU כתוכנה חופשית. ליבת GNU, הידועה כ-HURD של GNU, הפכה למוקד של \diy5>הקרן לתוכנה חופשית (FSF), שנוסדה בשנת 1985 ונהוג לראשותה של סטולמן.

בינתיים, מפתח נוסף עבד על אלטרנטיבה חופשית ליוניקס: לינוס טורבלדס, סטודנט פיני. לאחר שהתאכזב מרישיונות עבור MINIX, טורבלדס הכריז לקבוצת משתמשי MINIX ב-25 באוגוסט 1991 כי הוא מפתח מערכת הפעלה משלו, שדמה ל-MINIX. למרות שפיתח בהתחלה על MINIX באמצעות מהדר C של GNU, ליבת ה-Linux מהרה הפכה לפרויקט ייחודי עם ליבת מפתחים ששחררה גרסה 1.0 של הליבה עם טורבלדס בשנת 1994.

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

מאפיינים מרכזיים של לינוקס

אף שליבת הלינוקס הורישה מטרות ותכונות רבות מהמערכת הקודמת Unix, היא שונה מהמערכת הקודמת בדרכים הבאות:

  • רכיב הליבה הוא הליבה, המפותחת באופן עצמאי מרכיבים אחרים במערכת ההפעלה. זה אומר שלינוקס משאירה לעצמה לשאוב אלמנטים ממקורות שונים (כמו GNU) כדי להרכיב מערכת הפעלה שלמה.
  • היא חופשית וקוד פתוח. בתחזוקה של קהילת מפתחים, הליבה נרשמת ברישיון רישיון ה-GNU לרכיבי קוד פתוח (סוג של פיתוח של פרויקט GNU), וזמינה להורדה ולשינוי. רישיון זה קובע שיצירה נגזרת חייבת לשמור על תנאי הרישיון של התוכנה המקורית.
  • יש לו ליבה מונוליתית, דומה ליוניקס, אך הוא יכול לטעון ולהפעיל קוד ליבתי בדרישה.
  • יש לו תמיכה במעבדים מרובי ליבות (SMP), להבדיל ממימושי יוניקס מסורתיים. זה אומר שמערכת ההפעלה יכולה לקבל גישה למספר מעבדים, המשתפים זיכרון ראשי וגישה לכל התקני הקלט/פלט.
  • ליבתו היא פרימפטיבית, הבדל נוסף מיוניקס. זה אומר שמתזמן המשימות יכול לאלץ החלפת הקשר לדרייבר או לחלק אחר של הליבה בזמן ריצתו.
  • הליבה שלו אינה מבדילה בין תהליכים לתהליכים רגילים.
  • הוא כולל ממשק שורת פקודה (CLI) ויכול גם לכלול ממשק משתמש גרפי (GUI).

מפתחים מתחזקים היום מגוון רחב של הפצות Linux פופולריות. בין הפופולריות ביותר נמצאת Debian, הפצה חופשית וקוד פתוח שכוללת 50,000 חבילות תוכנה. Debian השריעה השראה להפצה אחרת פופולרית, Ubuntu, שקיבלה מימון מ-Canonical Ltd. Ubuntu משתמשת בפורמט החבילות deb של Debian ובכלי ניהול החבילות שלה, ומפתחי Ubuntu מעבירים שינויים חזרה למעלה ל-Debian.

A similar relationship exists between Red Hat, Fedora, and CentOS. Red Hat created a Linux distribution in 1993, and ten years later split its efforts into Red Hat Enterprise Linux and Fedora, a community-based operating system that utilizes the Linux kernel and elements from the GNU Project. Red Hat also has a relationship with the CentOS Project, another popular Linux distribution for web servers. This relationship does not include paid maintenance, however. Like Debian, CentOS is maintained by a community of developers.

מסקנה

במאמר זה, כיסינו את שורשי Linux ב־Unix וחלק מהתכונות המוגדרות שלו. אם אתה מעוניין לדעת עוד על ההיסטוריה של Linux והגרסאות שונות של Unix (כולל FreeBSD), צעד טוב יכול להיות הסדרה שלנו על FreeBSD. אופציה נוספת היא לשקול את הסדרה המבואתית שלנו על התחלה עם Linux. תוכל גם לבדוק את המבוא למבנה הקבצים ב־Linux, את הדיון על איך להשתמש ב־find וב־locate לחיפוש אחר קבצים בשרת VPS ב־Linux, או את המבוא לביטויים רגולריים בשורת הפקודה.

Source:
https://www.digitalocean.com/community/tutorials/brief-history-of-linux