ווטסאפ - לינוקס, BSD, קוד פתוח ותוכנה חופשית בעברית. Whatsup - Linux, BSD, open source and free software in Hebrew

 
 
  כניסת חברים · רישום · שכחתי סיסמה  
tux the penguin
תגובה לנושא
צפיה בנושא הבא Printable version התחבר כדי לבדוק הודעות פרטיות צפיה בנושא הקודם
אליבהאיהאורח · ·
 

הודעה פורסם: 16/04/2015 - 20:01
נושא ההודעה: שאלה: מדוע לא ניתן לעדכן קרנל ללא איתחול

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

(אני יודע שבגירסא של הקרנל הבא זה יהיה אפשרי)

תודה
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 16/04/2015 - 20:08
נושא ההודעה: Re: שאלה: מדוע לא ניתן לעדכן קרנל ללא איתחול

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

(אני יודע שבגירסא של הקרנל הבא זה יהיה אפשרי)

תודה



כן אפשר לפי מיטב ידיעתי,
הפקודה kexec
http://en.wikipedia.org/wiki/Kexec
מאפשר לטעון את הקרנל מחדש,
במערכות רבות משתמשים בטריק הזה בשביל שדרוגים,

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

מחיפוש בגוגל מצאתי גם את:
http://en.wikipedia.org/wiki/Ksplice
אבל המנגנון אינו מוכר לי...

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

הודעה פורסם: 16/04/2015 - 22:06
נושא ההודעה: תודה על התגובה

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

הודעה פורסם: 17/04/2015 - 07:36
נושא ההודעה:

אפשר וגם עושים את זה. אינטואיטיבית זה לא נשמע פשוט וגם אני חושב שלא מחליפים את כל הקרנל אחרת זה על גבול הבלתי אפשרי. בווינדוס אתה צריך לאתחל כל פעם שאתה מוסיף דרייבר שלא לדבר על להחליף את כל מערכת ההפעלה.
http://www.omgubuntu.co.uk/2015/04/linux-kernel-4-0-new-features
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
צפריראורח · ·
 

הודעה פורסם: 17/04/2015 - 09:48
נושא ההודעה:

אחת הסקירות על הנושא ב־LWN:
http://lwn.net/Articles/596854/

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

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

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

מה שמוזג בינתיים זה תמיכה בסיסית בשתי הגישות:
http://lwn.net/Articles/634649/
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
שחרלא בפורום כעת ת.הצטרפות: 07/04/2003 · הודעות: 250 ·
 

הודעה פורסם: 17/04/2015 - 22:44
נושא ההודעה:

אי אפשר להחליף קרנל. פשוט אי אפשר.

kexec נראה, מבחינת מערכת ההפעלה, כמו ריבוט. ההבדל היחידי הוא שלא צריכים לעבור דרך שלבי ה–boot של המחשב, מה שמאפשר החלפה קצרה יותר (כמו גם סוגים מסויימים של מערכות וירטואליות, כפי שאמרו פה). עדיין, מדובר בסגירת כל הליכי ה–user space הקיימים ופתיחתם מחדש. לכל צורך ועניין, מדובר באיתחול.

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

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

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

שחר

_________________
שחר שמש
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית ביקור באתר המפרסם  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
הצגת הודעות מלפני:     
מעבר אל:  
כל הזמנים הם GMT + 2 שעות
תגובה לנושא
צפיה בנושא הבא Printable version התחבר כדי לבדוק הודעות פרטיות צפיה בנושא הקודם
PNphpBB2 © 2003-2004 

תוכן הדיון

  1. אורח [אליבהאיה]
  2. אורח
  3. אורח [אליבהאיה]
  4. אורח
  5. אורח [צפריר]
  6. שחר