ליבת לינוקס משנה חלקים מהקוד שלך מ- Assembler ל- C

שפת תכנות ג

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

C היא שפת התכנות המייצגת ביותר של לינוקס (למעשה, מכל פלטפורמות ה- nix), היא פותחה על ידי דניס ריצ'י וקן תומפסון בשנת 1972, הוא יוצר במערכת Unix PDP-11 והיה חלק מגרסת יוניקס 2. בהתחשב בביצועים הגבוהים ובניידותו, הוא החל להשתמש בו יותר ויותר ביישום מערכות הפעלה ולכן לינוס טורבאלדס הוא השתמש בו לפרויקט שלו כאשר בשנת 1990 הוא חיפש אלטרנטיבה חופשית ופתוחה למיניקס.

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

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


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי על הנתונים: AB Internet Networks 2008 SL
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.

  1.   מיגל מאיול טור דיג'ו

    מלכתחילה זה ENSAMBLADOR, בספרדית.

    שנית, כל השפה חייבת להיות קומפילד (או לפרש), כך שטובת התוצאה תלויה ב- COMPILER (או המתורגמן)

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

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

    1.    צ'יגייר דו קוטבי דיג'ו

      למיגל מאיול טור: קודם כל, כל מתכנת שמתיימר להיות אחד דובר אסיפה ומבין אנגלית. האחרים משתמשים ב- Visual Basic ומכנים עצמם מתכנתים. איזו בושה. ושנית, המאסף אינו מתקיים. מה שהתוכניות שעוסקות בזה עושות זה להמיר מנמונים לבתים באופן ישיר. תכנות ב- Assembler הוא דיבור עם המכונה באותה שפה, אך כדי להקל עליה מעט משתמשים במזכירות במקום לכתוב ישירות את הבתים המתאימים. יש התכתבויות אחד לאחד בין מערך בתים להוראה ב- Assembler. אבל זה, כמובן, רק מתכנת אמיתי יודע, אחד מאלה שאומרים הרכבה. כתוצאה מכך, אין שיפורים ב"ממיר "ממסדר לקוד, מכיוון שהמתכנת אחראי על ביצוע השיפור. מהדרי C (ושפות אחרות) מתרגמים הוראות לייצוגי מאקרו שהוקמו מראש של הרכבה (או קוד מכונה) והשיפורים ניתנים על ידי אופן המרות אלה.
      מדוע להשתמש ב- C? כי קל יותר לסקור ולתחזק משהו שהוא קריא יותר. רוב האנשים לא מבינים ישירות אופקודים של הרכבים או זיכרונות. פשוטו כמשמעו.
      אני אפילו לא אטרח לדבר על ג'אווה, שלמרות שהיא הוטלה כסטנדרט לפני זמן רב, עכשיו מתעב את אלה שמבינים קוד.
      אבל אל תאמין לי, שאל את גוגל אם מה שאמרתי כאן שקרי.
      לגבי

      1.    eriugihc דיג'ו

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

  2.   לואיס ג'רארדו מרין דיג'ו

    השפה האנגלית היא תמיד בבסיס כל מונחי החישוב. ככה זה גם אם אנחנו דוברי הספרדית לא רוצים את זה. הוסיפו לכך שיש מונחים שלא ניתן לתרגם כ- "bit", "בתים", "יוניקס", "לינוקס", "DOS" ורבים אחרים. ויש כאלה שאפשר לתרגם אבל אין מקרה כמו "CMOS", "CSS", "RAM" מכיוון שיש כמה ראשי תיבות שאין להם שום קשר לטכנולוגיה וכדי להוסיף את זה הם אפילו לא קיימים בגוגל . אין טעם לתרגם כאשר המסר שהופק אינו קריא. מסקנה: עדיף שנושאים טכניים או חישוביים משתמשים במונחים טכניים באנגלית. מאותה סיבה: אני מעדיף לכתוב שאני משתמש ב"חלונות "כדי לומר שאני משתמש במערכת ההפעלה" חלונות ". ואני מעדיף לדבר על CSS ושאני משתמש ב- type = »text / css מאשר לנסות לומר שאני משתמש ב-« גליונות סגנון עם סוג השווה לגיליונות סגנון טקסט באלכסון ». בְּרִיאוּת.

  3.   רוברטו גומז דיג'ו

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