26
הההההה ההההה הההההה ההההה רררר: ררר ררררר רררר: ררר ררררר ררררר ר' ררר"ר ררררר ר' ררר"ר ההההה ההההה14 14 : : ההההה ההההה הההההה, ההההה ההההה הההההה, הההההה הההההההההה הההההה הההההההההה1

מערכות הפעלה מרצה: ערן טרומר סמסטר א' תשע"ב

Embed Size (px)

DESCRIPTION

מערכות הפעלה מרצה: ערן טרומר סמסטר א' תשע"ב. הרצאה 14: אתחול מערכת ההפעלה, מכונות וירטואליות. אתחול מערכת ההפעלה. מצב יציב של מערכת ההפעלה. תהליכים (כולל תהליכי שירות של מערכת ההפעלה) קוד נתונים קבצים פתוחים הרשאות. גרעין ( כולל מנהלי התקנים) קוד ניהול זיכרון וירטואלי - PowerPoint PPT Presentation

Citation preview

Page 1: מערכות הפעלה מרצה: ערן  טרומר סמסטר א' תשע"ב

מערכות הפעלהמערכות הפעלהמרצה: ערן טרומרמרצה: ערן טרומרסמסטר א' תשע"בסמסטר א' תשע"ב

::1414הרצאה הרצאה

אתחול מערכת ההפעלה,אתחול מערכת ההפעלה,מכונות וירטואליותמכונות וירטואליות

1

Page 2: מערכות הפעלה מרצה: ערן  טרומר סמסטר א' תשע"ב

אתחול מערכת ההפעלהאתחול מערכת ההפעלה

2

Page 3: מערכות הפעלה מרצה: ערן  טרומר סמסטר א' תשע"ב

מצב יציב של מערכת ההפעלהמצב יציב של מערכת ההפעלהגרעין

)כולל מנהלי התקנים(

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

(mounts, inodes) כתובות רשת, טבלאות

firewallניתוב, חוקי שקעים וחיבורי רשתחוצצים ומטמונים ,מפתחות הצפנה לדיסק

RAIDמצב

3

תהליכים )כולל תהליכי שירות של מערכת

ההפעלה(

קודנתוניםקבצים פתוחיםהרשאות

חומרהטבלת שגרות הפסיקהטבלאות דפיםאוגרים מיוחדיםפסיקות שעוןתצורת בקרים( תצוגה גרפיתframebuffer,

3D))רשימה חלקית מאד(

Page 4: מערכות הפעלה מרצה: ערן  טרומר סמסטר א' תשע"ב

איך מגיעים למצב היציבאיך מגיעים למצב היציב

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

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

bootstrappingריחוף על ידי משיכה בשרוכי הנעליים – :פתרון

שרשרת של פעולות טעינה, שתחילתה בחומרה מזערית וסופה במערכת ההפעלה כולה

4

Page 5: מערכות הפעלה מרצה: ערן  טרומר סמסטר א' תשע"ב

טעינת הגרעין לזיכרון הפיזיטעינת הגרעין לזיכרון הפיזימאותת למעבד על אירוע הדלקהספק הכוח 1.

מאפס אוגרים ומצב פנימי, ומתחיל להריץ קוד המעבד2.(x86 ב-0xFFFFFFF0בכתובת זיכרון קבועה )לדוגמה

על אחד השבבים ליד המעבד, מאוכסן קוד אתחול ראשוני 3.(ROM / BIOS / UEFI) ,הקוד ממופה אל מרחב הזיכרון .

.0xFFFFFFF0לתחום כתובות הכולל את כולל:BIOSקוד האתחול הראשוני ב-

,אתחול חומרה בסיסי ובדיקת תקינות )מעבד, בקר מסך, אכסוןPOSTמקלדת וכו'( -

לעיתים: תפריט תצורה אינטראקטיבימציאה, קריאה והרצה של קטע האתחול הבא, מהתקן אחסון / רשת

5

Page 6: מערכות הפעלה מרצה: ערן  טרומר סמסטר א' תשע"ב

המשך טעינת הגרעין לזיכרון הפיזיהמשך טעינת הגרעין לזיכרון הפיזי מסורתי( מסורתי(x86x86)תרחיש )תרחיש

הוא קצר )מאות בתים( BIOSשנטען ע"י ה-קטע האתחול 4..(Master Boot Record)ונקרא מתחילת התקן האחסון

.בתורו, הוא מוצא, קורא ומריץ את קטע אתחול נוסף, ארוך יותר לרוב על פי טבלת המחיצות(partition table) המאוחסנת

MBRב-

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

ותצורה עבורהC:\NTLDR, C:\BOOT.INI :חלונות4.

boot/grub/stage2, /boot/grub/grub.conf/לינוקס: 5.

vתוכנית טעינת הגרעין: בוחרת קובץ המכיל קוד גרעין ופרמטרים עבורו, לפי התצורה

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

6

Page 7: מערכות הפעלה מרצה: ערן  טרומר סמסטר א' תשע"ב

אתחול הגרעיןאתחול הגרעיןאתחול טבלת שגרות הפסיקהאתחול הזיכרון הווירטואלי

לאחר הדלקה, המעבד משתמש במיפוי ברירת-מחדל בו כל(real modeכתובת לוגית ממופה ישירות לאותה כתובת פיזית )

הליבה יוצרת טבלת דפים חדשה, כותבת את כתובתה לאוגר ומפעילה את מנגנון הדפדוף( CR3 )מיוחד

-כעת המעבד בprotected mode

,אתחול מבני נתונים לניהול מסגרות, מעבדים, חוטי גרעיןמנהלי התקן, תהליכים וכו'

7

:לפרטים נוספיםGustavo DuarteHow Computers Boot Up

http://duartes.org/gustavo/blog/post/how-computers-boot-up

The Kernel Boot Processhttp://duartes.org/gustavo/blog/post/kernel-boot-process

Page 8: מערכות הפעלה מרצה: ערן  טרומר סמסטר א' תשע"ב

אתחול מנהלי התקןאתחול מנהלי התקן-הBIOSמספק מנהלי התקן בסיסיים

קוד האתחול ותוכנית טעינת הגרעין הסתמכו על כך

-כשהמערכת עוברת מreal mode אל protected mode כבר לא ניתן BIOSלהריץ קוד

לכן קוד הגרעין הראשוני אשר נטען ע"י תוכנית טעינת הגרעין חייבלכלול את כל מנהלי ההתקן הנדרשים עבור החומרה

או לפחות את, כל הנדרשים כדי לקרוא, מהתקן מתאים, את שאר מנהליההתקנים

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

קובץ זה נתפר עבור המכונה, על פי החומרה הנמצאת בה, כחלק מהתקנת מערכת ההפעלה.

8

Page 9: מערכות הפעלה מרצה: ערן  טרומר סמסטר א' תשע"ב

אתחול מערכת הקבציםאתחול מערכת הקבצים

אחד מהתקני האכסון )לדוגמה, מחיצה בדיסק( נבחרכראשי

,עפ"י פרמטר שניתן לגרעין ע"י תוכנית העלאת הגרעיןאו ברירת מחדל

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

כעת ניתן לקרוא ולהריץ מנהלי התקנים נוספים, ותהליכימשתמש.

9

Page 10: מערכות הפעלה מרצה: ערן  טרומר סמסטר א' תשע"ב

אתחול וכיבוי עולם תהליכי אתחול וכיבוי עולם תהליכי המשתמשהמשתמש

בלינוקס(בלינוקס((( הליבה מריצה את התוכנית המיוחדת/sbin/init כתהליך

.root, תחת הרשאות 1משתמש מספר התוכניתinit קוראת קבצי תצורה מהספרייה /etc ומשלימה

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

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

הנדרש.

10

Page 11: מערכות הפעלה מרצה: ערן  טרומר סמסטר א' תשע"ב

מכונות וירטואליותמכונות וירטואליות

11

Page 12: מערכות הפעלה מרצה: ערן  טרומר סמסטר א' תשע"ב

בעיה בריבוי משתמשים מסורתיבעיה בריבוי משתמשים מסורתי

במערכות מרובות משתמשים, כל המשתמשים חולקיםסביבה משותפת: סוג ותצורת הגרעין, שרותי מערכת,

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

:לפעמים הצרכים שונים ובלתי תואמים?אילו תוכנות וספריות צריך להתקין, ואיזה שרותים להפעיל?איזו גרסה? מתי לשדרגקבצי תצורה גלובליים ( httpd.conf תצורת ,DNS)קביעת הרשאות מערכתניטור יומני אירועים

בעיית אבטחה: יותר מדי הזדמנויות לטעויות תכנות אותצורה אשר יאפשרו למשתמש אחד להזיק למשתמש אחר

12

Page 13: מערכות הפעלה מרצה: ערן  טרומר סמסטר א' תשע"ב

שני תפקידים למערכת ההפעלהשני תפקידים למערכת ההפעלה

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

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

13

הכרחי לריבוי משתמשים

אולי שכל משתמש יסתדר בעצמו, על

פי צרכיו?

Page 14: מערכות הפעלה מרצה: ערן  טרומר סמסטר א' תשע"ב

מערכת 2הפעלה

מכונות וירטואליותמכונות וירטואליות14

חומרה

(hypervisor)רב-פקח

מערכת 1הפעלה

ליה

תך

ליה

תך

ליה

תך

ליה

תך

ליה

תך

ליה

תך מערכת

2הפעלה

ליה

תך

ליה

תך

ליה

תך

חומרה

Page 15: מערכות הפעלה מרצה: ערן  טרומר סמסטר א' תשע"ב

מכונות וירטואליות: שימושים מכונות וירטואליות: שימושים נפוציםנפוצים

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

שרתי אינטרנט משותפים(virtual hosting)איחוד שרתים אירגוניים

שרת הקבצים, שרת הדואר, שרת ההדפסה וכו' רצו על מכונותפיזיות נפרדות עם תצורה שונה; אפשר לאחדם

שרותי מחשוב ענן מסוגInfrastructure as a Service:משתמשים יכולים ליצור בקלות מכונה וירטואלית חדשה

"אי שם" בדיוק בתצורה הרצויה, ולשלם לפי שעה

15

Page 16: מערכות הפעלה מרצה: ערן  טרומר סמסטר א' תשע"ב

11מכונה וירטואלית מסוג מכונה וירטואלית מסוג הרב-פקח הוא שכבת תאום מינימלית המממשת רק

Virtual Machine נקרא גם .הפרדה בין משתמשיםManager.

:דוגמאותIBM VM/370, Vmware ESX

16

מערכת 2הפעלה

חומרה

רב-פקח

מערכת 1הפעלה

ליה

תך

ליה

תך

ליה

תך

ליה

תך

ליה

תך

ליה

תך

Page 17: מערכות הפעלה מרצה: ערן  טרומר סמסטר א' תשע"ב

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

ההפעלה האורחות רצות כתהליכים במערכת ההפעלה המארחת

:דוגמאותVMware Workstation, VirtualBox, KVM

יוצרים הפשטה ואז עוטפים אותהמחדש בממשק פרימיטיבי

הדיסק הווירטואלי שהאורחתרואה הוא מעטפת סביב קובץ

במערכת הקבצים של המארחת, עםDMAופסיקות מזוייפים

17

מ"ה 2אורחת

חומרה

מ"ה 1אורחת

ליה

תך

ליה

תך

ליה

תך

ליה

תך

ליה

תך

מ"ה מארחתרב-פקח

ליה

תך

ליה

תך

ליה

תך

Page 18: מערכות הפעלה מרצה: ערן  טרומר סמסטר א' תשע"ב

אמולטוראמולטור 2מקרה קיצוני של סוג:

המכונה הוירטואלית רצה כתהליך רגיל ללא סיוע הגרעין המארח, לדוגמה ע"י אמולציה

פקודה-אחר-פקודה של החומרה הווירטואלית.

מאפשר להריץ אורחותבארכיטקטורת מעבד שונה

מהמארחת:ביצועים חסרון :דוגמאותBochs, QEMU

18

מ"ה 2אורחת

חומרה

מ"ה 1אורחת

ליה

תך

ליה

תך

ליה

תך

ליה

תך

ליה

תך

מ"ה מארחת

רב-פקח

ליה

תך

ליה

תך

ליה

תך

Page 19: מערכות הפעלה מרצה: ערן  טרומר סמסטר א' תשע"ב

מינוחמינוח

בהקשרנו, מכונה וירטואלית היאמחשב וירטואלי" במובן של תהליך עם קריאות מערכתלא" מכונה וירטואלית" במובן של מפרש לשפת תכנותלא"

Java Virtual Machine למרות שמו, כלל אינו דומה למכונה ,פיזית, אלא מספק אבסטרקציה גבוהה מאד

19

Page 20: מערכות הפעלה מרצה: ערן  טרומר סמסטר א' תשע"ב

וירטואליזציהוירטואליזציההמערכת הווירטואלית מריצה קוד

במצב בלתי-מיוחס וירטואלי: אפשר פשוט להריץ במצב בלתי-מיוחס פיזי)עם מיפוי זיכרון נכון וטיפול בקריאות מערכת וחריגים(

במצב מיוחס וירטואלי: חייב לרוץ פיזית במצב בלתי-מיוחס פיזי

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

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

20

Page 21: מערכות הפעלה מרצה: ערן  טרומר סמסטר א' תשע"ב

וירטואליזציה של קריאות מערכת וירטואליזציה של קריאות מערכת וקלט/פלטוקלט/פלט

תהליך אורח מבצע קריאת מערכתwrite

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

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

שלו( לפקודת פלט לבקר דיסק וירטואלי

חריג← הגרעין המארח מפעיל שגרת טיפול של הרב-פקח הרב-פקח מבין שנעשה ניסיון לכתוב לבקר דיסק וירטואלי העוטף קובץ

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

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

אחרי שכתב את כל המידע אל ה-"דיסק", הגרעין האורח ממשיך את ריצתהתהליך האורח.

21

Page 22: מערכות הפעלה מרצה: ערן  טרומר סמסטר א' תשע"ב

ארכיטקטורות פגומותארכיטקטורות פגומות בארכיטקטורות נפוצות רבות, יש בעיה של פעולות רגישות

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

-לדוגמה, בx86 פקודות לכיבוי מנגנון פסיקות נכשלות בשקט במצב :בלתי-מיוחס.

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

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

מוסיפות את כל החריגים המתאימים?מה יותר יעיל

en.wikipedia.org/wiki/X86_virtualizationלפרטים נוספים:

22

Page 23: מערכות הפעלה מרצה: ערן  טרומר סמסטר א' תשע"ב

paravirtualizationparavirtualization גישה נוספת: האורחים יתנזרו מפעולות רגישות, ובמקום אלו

יפנו בצורה מסודרת אל הרב-בקר בעזרת פסיקת תוכנה יזומה, על פי ממשק שמוצע על ידי הרב-בקר.

אין בעיה של ארכיטקטורות פגומותאפשר לייצג בקשות ברמה גבוהה יותר, לכן תקורה נמוכה יותר

חסרון: צריך להדר מחדש את הגרעין האורח :דוגמהXen

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

קריאות המערכת שונה מאד.

23

Page 24: מערכות הפעלה מרצה: ערן  טרומר סמסטר א' תשע"ב

וירטואליזציה של זיכרון וירטואליוירטואליזציה של זיכרון וירטואלי:שלוש רמות של כתובות זיכרון

פיזיוירטואלי-במארח = פיזי-באורחוירטואלי-באורח

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

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

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

המארח.

Tanenbaum, Modern Operating Systemsלפרטים נוספים:

24

Page 25: מערכות הפעלה מרצה: ערן  טרומר סמסטר א' תשע"ב

פלאי המכונות הווירטואליותפלאי המכונות הווירטואליות הקפאה, הפשרה ושמירתsnapshotsשכפול מכונות וירטואליותהגירה של מכונות וירטואליות בין מכונות פיזיות

אמינותניצול משאבים ע"י השמה מיטבית של מכונות וירטואליות לפיזיות

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

משימה

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

קריאות המערכת.

25

Page 26: מערכות הפעלה מרצה: ערן  טרומר סמסטר א' תשע"ב

- דיון מסכם - - דיון מסכם -

26