1 / 88

קורס מערכות הפעלה

קורס מערכות הפעלה. מרצה: דיאב עלאא אלדין http://www.geocities.com/thalaa2000. יש כאלה שמפחדים מחושך ויש כאלה שמפחדים ממקקים, אך יש גם כאלה שיש להם פוביית מחשבים, רק הרעיון ללחוץ על Power מנבא רעות ועוד להשתמש בתוכנות כבר נראה כמו חלום בלהות. . WINDOWS XP/98/NT.

niel
Download Presentation

קורס מערכות הפעלה

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. קורס מערכות הפעלה מרצה: דיאב עלאא אלדין http://www.geocities.com/thalaa2000

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

  3. WINDOWS XP/98/NT • Unix, Os, Windows 98/Xp/Vista/NTהן מערכות הפעלה. • מערכת הפעלה היא הסביבה שבתוכה פועלות התוכנות המופעלות במחשב. מלבד windowsקיימות מערכות הפעלה אחרות למשל: dos, unix….

  4. דוגמה של מערכת הפעלה- מראה חיצוני שולחן העבודהDesktop שולחן עבודה הוא השער למערכת ההפעלה של חלונות. ניתן להגיע ממנו לתוכנות ולקבצים איתם רוצים לעבוד.

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

  6. שולחן עבודה (המשך) • תחילת עבודה ע”י לחיצה על כפתור start”". • Programs - מאפשר פתיחת תוכניות המותקנות במחשב כמו Word, Excel, PowerPoint. • Documents-פתיחה מהירה של קבצים עליהם עבדנו לאחרונה.

  7. Find -מציאת קובץ לפי שם או חלק משם. יש אפשרות לחפש גם לפי טקסט שקיים בקובץ.

  8. דוגמאות של מערכות הפעלה • DOS (Disk Operating System) • Linux • Unix • Windows (95, 98, 2000, XP, Vista. etc.) • Mac OS

  9. מה ההבדלים? • GUI (Graphical User Interface) • Types of hardware • How they work • Speed, Stability • Multitasking • Multithread • File Management • Drivers • Virtual Memory (Paging)

  10. File Systems • Directories • Root • Current Directory (working directory) • File Attributes (rwx bits)

  11. מערכת מחשב • מחשב הוא כל מכונה המעבדת נתונים על פי רצף פקודות שנקרא תוכנית. (ויקיפדיה). User 1 User 2 User 3 User 4 Text Editor Compiler Assembler Data Base Application Programs Operating System Computer Hardware - החומרה

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

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

  14. Users Applications Operating System Hardware מה ההגדרה של מערכת הפעלה • OS:Everything in system that isn’t an application or hardware • OS:Software that converts hardware into a useful form for applications • קשה להגדיר... Web Browsersdatabasesword processors CPUmemoryI/O devices

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

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

  17. מערכת הפעלה היא תוכנה המגשרת בין המשתמש, החומרה ויישומי התוכנה. • ישנם סוגים רבים של מערכות הפעלה כאשר הנפוצה ביותר למשתמשים ביתיים היא מערכת ההפעלה של ווינדוס (Windows).

  18. אז מהי מערכת הפעלה? • שכבת תוכנה לניהול והסתרת פרטים של חומרת המחשב. • מספקת לאפליקציה אבסטרקציה של מכונה וירטואלית ייעוּדית וחזקה (זיכרון עצום, מעבד ייעודי חזק מאוד...) "Computer Science is the art of abstraction" • מנהלת את משאבי המערכת ומשתפת אותם בין תהליכים, תוכניות, ומשתמשים.

  19. סיכום תפקידי מערכת ההפעלה • תזמון משימות וקביעת עדיפויות. • ניהול הזיכרון הראשי והקצאתו למשימות שונות. • ניהול התקני קלט/ פלט. • תקשורת עם המשתמש.

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

  21. מאפשרת להריץ אפליקציות מבטיחה נכונות. גבולות זיכרון עדיפויות מצב יציב מספקת נוחיות. הסתרת פרטים תיאום קריאות מערכת-הפעלה מערכת קבצים תפקיד מערכת ההפעלה אפליקציה 2 אפליקציה 3 אפליקציה 4 אפליקציה 1 מערכת הפעלה Printer controller Device Disk controller CPU memory

  22. זאת ועוד... אתחול גיבוי ... דפדפן? תהליכים זיכרון קלט / פלט זיכרון משני מערכות קבצים הגנה ניהול חשבונות משתמשים ממשק משתמש (shell) רכיבי מערכת ההפעלה

  23. מנגנוני חומרה לתמיכה במערכת ההפעלה • שעון חומרה • פעולות סנכרון אטומיות • פסיקות • קריאות מערכת-הפעלה • פעולות בקרת קלט / פלט • הגנת זיכרון • אופן עבודה מוּגן (protected) • פעולות מוּגנות

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

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

  26. מנהלת זיכרון זיכרון וירטואלי, הקצאת זיכרון, איסוף אשפה מע' קבצים ניהול קבצים, ספריות, יחידות אחסון רשתות תקשורת תקשורת בין קצוות ניצול משאבים מרוחקים מקביליות תהליכים וחוטים תיאום Semaphores, מנעולים קלט/פלט הפשטה ע"י Device Drivers מערכות הפעלההפשטת משאבים כסל שירותים

  27. שיתוף משאבים אפליקציה רוצה את כל המשאבים: • זמן מעבד • זיכרון • קבצים • אמצעי קלט / פלט • שעון מערכת ההפעלה נותנת לכל אפליקציה אשליה של מערכת שלמה משל עצמו.

  28. התפתחות מערכות הפעלה • חומרה יקרה ואיטית, כוח-אדם זול • Batch jobs, ניצול החומרה 24x7: IBM S/360 • חומרה יקרה ומהירה, כוח-אדם זול • Interactive time-sharing: Unix • חומרה זולה ואיטית, כוח-אדם יקר • מחשב אישי לכל משתמש: MS-DOS

  29. הווה ועתיד • חומרה זולה מאוד, כוח חישוב רב. • ריבוי משימות: Windows NT, Windows Vista, Linux, Solaris, BSD, Mac OS X • ריבוי מעבדים וריבוי ליבות (multi-core) • שיתוף משאבים בסיסי: דיסקים, מדפסות, ... • רשתות מהירות. • הרשת היא המחשב: SETI@home,Grid Computing • הרשת היא אמצעי אחסון: SAN, Web storage

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

  31. פקודות מוגנות • חלק מפקודות המכונה מותרות רק למערכת-ההפעלה • גישה לרכיבי קלט / פלט (דיסקים, כרטיסי תקשורת). • שינוי של מבני הנתונים לגישה לזיכרון (טבלת דפים, TLB). • עדכון של סיביותמוד (מצב) מיוחדות (לקביעת עדיפות טיפול בפסיקות). • פקודת halt.

  32. Prog A Prog B Base register Prog C Limit register הגנה על הזיכרון • מערכת ההפעלה צריכה להגן על תוכניות המשתמשים, זו מפני זו (עם או בלי כוונה רעה). • מערכת ההפעלה צריכה להגן על עצמה מפני תוכניות המשתמשים. • ועל תוכניות המשתמשים מפניה? • שיטה פשוטה: base register, limit register לכל אחת מהתוכניות. • מוגנים בעצמם. • זיכרון וירטואלי.

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

  34. אח"כ... גרעין קטן בראשית... מונוליתית תוכניות משתמש גרעין מערכת ההפעלה חומרה ארגון מערכת ההפעלה תוכניות משתמש User mode System processes networking file system scheduling Micro-kernel זיכרון וירטואלי הגנה ניהול המעבד חומרה

  35. גרעין קטן שכבה דקה מספקת שירותי גרעין אמינות גבוהה יותר קל להרחיב ולשנות ביצועים גרועים (מעבר בין user-mode לבין kernel-mode) דוגמאות: Mach, OS X, ~Windows NT ארגון מערכת ההפעלה תוכניות משתמש User mode System processes networking file system scheduling Micro-kernel זיכרון וירטואלי הגנה ניהול המעבד חומרה

  36. היום... גרעין מודולרי גרעין מודולארי שימוש במודולים דינאמיים, שניתן לטעון ולהסיר אותם מהזיכרון לפי דרישה מונע מהגרעין "להתנפח" ללא צורך בזיכרון המחשב מאפשר לטעון רכיבי קוד ונתונים לפי דרישה קל להרחיב ולשנות ביצועים טובים דוגמאות: Solaris, Linux, Mac OS X (called “Kernel modules” in Linux, “Dynamic device Drivers” in Windows) ארגון מערכת ההפעלה תוכניות משתמש User mode Device drivers networking Core kernel filesystem scheduling New FS זיכרון וירטואלי הגנה ניהול המעבד חומרה

  37. יום בחיים של מערכת ההפעלה • מלבד אתחול המערכת, נכנסים לגרעין רק בגלל מאורע. • הגרעין מגדיר אופן טיפול בכל מאורע. • חלק נקבע על ידי ארכיטקטורת המעבד. • מנגנון כפי שראינו. • פסיקות ו-exceptions: • ) Interruptsפסיקות( נגרמות על-ידי רכיבי חומרה (שעונים, סיום ק/פ) • Exceptionsמגיעות מהתוכנה (פקודה מפורשת, page fault)

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

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

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

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

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

  43. מערכת ההפעלה הראשונה • מ"ה הראשונה הייתה מסוג BATCH המורכב מ 3 חלקים: • Loader + device drivers. • Job Sequencing – Transfer control from user job to monitor and vice versa. • Control Cards Interpreter– using a Job Control Language: //exec fortran, //run user program, //read data, etc… .

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

  45. Off line processing • במקום לקרוא מקורא כרטיסים ולכתוב למדפסת, שהם מכשירים מכאניים מאוד איטיים, המחשב קרא מטייפ שהוכן מראש וכתב לטייפ אחר שנלקח אח"כ להדפסה במדפסת.

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

  47. המצאת המאה העשרים • הדיסק הוא בעל גישה ישירהRandom Access ובעזרת טבלאות (דירקטורי) אפשר לגשת ישירות לקובץ המבוקש Disk Card reader Printer Memory CPU

  48. Multiprogrammed batch systems • כאשר יושבים על הדיסק מספר ג'ובים, באנגלית JOB POOL , אנחנו יכולים להריץ אותם באיזה סדר שאנחנו רוצים ולאו דווקא FIFO כמתחייב מטייפ. • כלומר, אפשר לעשות JOB SCHEDULING . • כלומר, עבודה ב MULTIPROGRAMMING .

  49. Multiprogrammed batch systems continues • עם ה OFFLINE וה SPOOLING שראינו, עדיין מתעכב המעבד כאשר האפליקציה כותבת או קוראת נתונים בדיסק היות וכל תוכנית שמתחילה לרוץ מתבצעת בלעדית וסדרתית עד לסיומה. • מתוך ה POOL בדיסק טוענים מספר ג'ובים לזיכרון והם מתבצעים "במקביל" בהתאם להחלטות ה SCHEDULER של מ"ה: כאשר אחד רץ על ה CPU , השני מדפיס באמצעות בקר המדפסות, השלישי קורא מדיסק באמצעות בקר הדיסקים וכו'... .

  50. Time sharing systems • שיכלול שיטת ה MULTIPROGRAMMING : הקצאת המעבד כל זמן קצר לתקופת זמן קצרה למשתמש אחר"שנדמה לו" שהוא בן יחיד במערכת ויכול לכן לעבוד באופן אינטראקטיבי ומידי ללא צורך להכין הכל מראש ולקבל את כל התוצאות בדיעבד. • קצב הקלדה של תוכניתן של 5 תווים בדקה הוא מאוד איטי למעבד שיכול בינתיים לשרת משתמשים נוספים.

More Related