מערכות הפעלה קורס מס '
מבוא אדמיניסטרציה. מהי מערכת הפעלה. ארגון מערכות הפעלה.
February 03 חגית עטיה © אדמיניסטרטריוויה א מרצים פרופ / ח אסף שוסטר ( אחראי ) מר ארז חדד מתרגלים ראשיים ??? אתר הקורס מכיל את הסילבוס
February 03 חגית עטיה © אדמיניסטרטריוויה ב ספר הקורס ( ראשי ) Silberschatz and Galvin, Operating Systems Concepts (5 th ed.) Wiley ספר הקורס ( משני ) Bovet and Cesati, Understanding the Linux Kernel (2 nd ed.) O ’ Reilly
February 03 חגית עטיה © אדמיניסטרטריוויה ג ציונים סופיים מבוססים על : תרגילי בית (4 רטובים + 1 יבש אופצ ') (??? אחוזים ). בחינה סופית (???-100 אחוזים ). ייתכן שינוי ביחסי המשקל. ציון התרגילים תקף ולא מגן. כל תנאי - הקדם יאכפו, ולא תהינה הנחות ! אין העברת ציוני תרגילים.
February 03 חגית עטיה © מטרות הקורס הבנה של עקרונות התכנון והשימוש במערכות הפעלה. יסודות של ניתוח ביצועים של מערכות הפעלה. הבנה של מערכת הפעלה אחת : Linux. יסודות של תכנות מערכת הפעלה. עקרונות של תכנון מערכות תוכנה גדולות.
February 03 חגית עטיה © מבנה הקורס הרצאות : עקרונות בסיסיים מעט דוגמאות מ “ Unix ” ומערכות אחרות תרגולים : קוד מערכת הפעלה Linux תרגילי - בית : תכנות בעזרת קריאוֹת מערכת - הפעלה תכנות בתוך גרעין מערכת ההפעלה
February 03 חגית עטיה © מה נשתנה ? הקורס החדש ממזג את החלקים המרכזיים של הקורסים מבוא למערכות הפעלה מבנה מערכות הפעלה ביטול כפילויות. הגדלת מספר הנקודות. ☺ ויתור על נושאים מתקדמים. מערכות קבצים חדשניות. תכנות מקבילי ומבוזר. מערכות מבוזרות. הקורסים הקודמים לא יינתנו יותר !
February 03 חגית עטיה © מהי מערכת הפעלה ? שכבת תוכנה לניהול והסתרת פרטים של חומרת המחשב. מספקת למשתמש אבסטרקציה של מכונה וירטואלית פשוטה וחזקה ( זיכרון עצום, מעבד ייעודי חזק מאוד...) מנהלת את משאבי המערכת ומשתפת אותם בין תהליכים, תוכניות, ומשתמשים.
February 03 חגית עטיה © תפקיד מערכת ההפעלה מאפשרת להריץ תוכניות מבטיחה נכונות. גבולות זיכרון עדיפויות מצב יציב מספקת נוחיות. הסתרת פרטים תיאום קריאות מערכת - הפעלה מערכת קבצים מערכת הפעלה אפליקציות CPU memory device
February 03 חגית עטיה © שיתוף משאבים משתמש רוצה את כל המשאבים : זמן מעבד זיכרון קבצים אמצעי קלט / פלט שעון מערכת ההפעלה נותנת לכל משתמש אשליה של מערכת שלמה משל עצמו.
February 03 חגית עטיה © התפתחות מערכות הפעלה חומרה יקרה ואיטית, כוח - אדם זול Batch jobs, ניצול החומרה 24x7: IBM S/360 חומרה יקרה ומהירה, כוח - אדם זול Interactive time-sharing: Unix חומרה זולה ואיטית, כוח - אדם יקר מחשב אישי לכל משתמש : MS-DOS
February 03 חגית עטיה © הווה ועתיד חומרה זולה מאוד, כוח חישוב רב. ריבוי משימות : Windows NT, OS/2, שיתוף משאבים בסיסי : דיסקים, מדפסות,... בחזרה לעבר... רשתות מהירות. הרשת היא המחשב : Grid Computing
February 03 חגית עטיה © מבנה המחשב התנהגות מערכת ההפעלה מוכתבת ( חלקית ) על - ידי החומרה שעליה היא רצה סט פקודות, רכיבים מיוחדים החומרה יכולה לפשט / לסבך משימות מערכת ההפעלה PC ישנים לא סיפקו תמיכה לזיכרון וירטואלי
February 03 חגית עטיה © מנגנוני חומרה לתמיכה במערכת ההפעלה שעון חומרה פעולות סנכרון אטומיות הגנת זיכרון פעולות בקרת קלט / פלט פסיקות אופן עבודה מוּגן ( protected ) פעולות מוּגנות קריאות מערכת - הפעלה
February 03 חגית עטיה © פקודות מוגנות חלק מפקודות המכונה מותרות רק למערכת - ההפעלה גישה לרכיבי קלט / פלט ( דיסקים, כרטיסי תקשורת ). שינוי של מבני הנתונים לגישה לזיכרון ( טבלת דפים, TLB). עדכון של סיביות מוד ( מצב ) מיוחדות ( לקביעת עדיפות טיפול בפסיקות ). פקודת halt.
February 03 חגית עטיה © עבודה במצב מוגן הארכיטקטורה תומכת בשני מצבים לפחות : kernel mode user mode ( במעבדי IA32 יש ארבעה מצבים...) המצב נשמר באמצעות status bit ברגיסטר מוגן. תכניות משתמש רצות ב -user mode. מערכת ההפעלה רצה ב -kernel mode. המעבד מבצע פקודות מוגנות רק ב - kernel mode.
February 03 חגית עטיה © אז איך משתמש ניגש לדיסק ? קריאה לפרוצדורת מערכת - הפעלה (system call) גורמת לפסיקה פרמטר מזהה את קריאת המערכת שומרת את מצב התוכנית הקוראת מוודאת את הפרמטרים ( למשל, מצביעי זבל ) דרך לחזור לתוכנית הקוראת כאשר מסיימים User mode Kernel mode Explorer: read() טיפול בפסיקה read() kernel routine חזרה
February 03 חגית עטיה © דוגמא : מעבדי Intel אתחול : טבלת מזהי פסיקה ( Interrupt Descriptor Table ) עם מטפלים לכל אחד מסוגי הפסיקות. ווקטור 128 (= 0x80) מתאים ל -system calls. לקוד גרעין יש עדיפות 0, לקוד משתמש עדיפות 3. כניסה ב IDT, המתאימה לווקטור 128, מכילה : מצביע לקטע קוד גרעין, ו -offset עבור הקריאה הזו. אישורים עבור קוד עם עדיפות 3 ליזום קריאה לפסיקה זו. בביצוע system call, תהליך המשתמש : מציב ברגיסטר eax את מספר ה -system call המבוקש. מבצע פקודת “ int 0x80 ” ( פסיקה יזומה ע " י תוכנה ).
February 03 חגית עטיה © הגנה על הזיכרון מערכת ההפעלה צריכה להגן על תוכניות המשתמשים, זו מפני זו ( עם או בלי כוונה רעה ). מערכת ההפעלה צריכה להגן על עצמה מפני תוכניות המשתמשים. ועל תוכניות המשתמשים מפניה ? שיטה פשוטה : base register, limit register לכל אחת מהתוכניות. מוגנים בעצמם. זיכרון וירטואלי. Prog C Prog B Prog A Base register Limit register
February 03 חגית עטיה © יום בחיים של מערכת ההפעלה מלבד אתחול המערכת, נכנסים לגרעין רק בגלל מאורע. הגרעין מגדיר אופן טיפול בכל מאורע. חלק נקבע על ידי ארכיטקטורת המעבד. מנגנון כפי שראינו. פסיקות ו - exceptions: פסיקות נגרמות על - ידי רכיבי חומרה ( שעונים, סיום ק / פ ) Exceptions מגיעות מהתוכנה ( פקודה מפורשת, page fault )
February 03 חגית עטיה © רכיבי מערכת ההפעלה זאת ועוד... אתחול גיבוי ... דפדפן ? תהליכים זיכרון קלט / פלט זיכרון משני מערכות קבצים הגנה ניהול חשבונות משתמשים ממשק משתמש (shell)
February 03 חגית עטיה © תפירה של הרכיבים ניהול זיכרון קלט / פלט ניהול זיכרון משני מערכת קבצים הגנה ממשק משתמש שירותי מידע טיפול בשגיאות ניהול תהליכים ניהול חשבונות
February 03 חגית עטיה © תפירה של הרכיבים Windows NT ( גרסה מופשטת )
February 03 חגית עטיה © ארגון מערכת ההפעלה תקשורת זולה בין מודולים קשה להבין קשה לשנות או להוסיף רכיבים מה האלטרנטיבה ? בראשית... מונוליתית תוכניות משתמש חומרה גרעין מערכת ההפעלה
February 03 חגית עטיה © ארגון מערכת ההפעלה היום... גרעין קטןבראשית... מונוליתית תוכניות משתמש חומרה גרעין מערכת ההפעלה Micro- kernel חומרה תוכניות משתמש System processes User mode file system scheduling networking הגנה ניהול המעבד זיכרון וירטואלי
February 03 חגית עטיה © ארגון מערכת ההפעלה היום... גרעין קטן שכבה דקה מספקת שירותי גרעין אמינות גבוהה יותר קל להרחיב ולשנות ביצועים גרועים ( מעבר בין user-mode לבין kernel- mode ) דוגמאות : Mach, OS X, ~Windows NT Micro- kernel חומרה תוכניות משתמש System processes User mode file system scheduling networking הגנה ניהול המעבד זיכרון וירטואלי