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

Slides:



Advertisements
Similar presentations
ממיבחניםC שאלות ++.
Advertisements

תוכנה 1 סמסטר א ' תשע " ב תרגול מס ' 7 * מנשקים, דיאגרמות וביטים * לא בהכרח בסדר הזה.
מבוא למדעי המחשב לתעשייה וניהול
1 Formal Specifications for Complex Systems (236368) Tutorial #4 Refinement in Z: data refinement; operations refinement; their combinations.
טבלאות סמלים נכתב ע"י אלכס קוגן סמסטר חורף, תשס"ח.
מערכות הפעלה ( אביב 2009) חגית עטיה © 1 מערכת הקבצים  מבוא : מטרות מערכת קבצים  מנשק המשתמש : פעולות על קבצים, ארגון קבצים, הגנה  תכונות של דיסקים.
תמחיר תהליך. מערכת תמחיר תהליך מערכת זו נועדה לספק מידע, כמו מערכת תמחיר הזמנה, על עלות המוצרים שיוצרו בתקופה ועל עלות המוצרים שבתהליך הייצור בסוף התקופה.
רקורסיות נושאי השיעור פתרון משוואות רקורסיביות שיטת ההצבה
חורף - תשס " ג DBMS, Design1 שימור תלויות אינטואיציה : כל תלות פונקציונלית שהתקיימה בסכמה המקורית מתקיימת גם בסכמה המפורקת. מטרה : כאשר מעדכנים.
מערכות הפעלה קורס מס ' מבוא  אדמיניסטרציה.  מהי מערכת הפעלה.  ארגון מערכות הפעלה.
מערכות הפעלה תרגול 10 – זיכרון וירטואלי ב- Linux.
שאלות חזרה לבחינה. שאלה דיסקים אופטיים מסוג WORM (write-once-read-many) משמשים חברות לצורך איחסון כמויות גדולות של מידע באופן קבוע ומבלי שניתן לשנותו.
מה החומר למבחן ? כל החומר שנלמד בהרצאות ובתרגולים. לגבי backtracking: לא תידרשו לממש אלגוריתם, אך כן להבין או להשלים מימוש נתון. אחת משאלות המבחן מבוססת.
הגנה במערכות מתוכנתות תרגול 1 – המחשב האישי הערה: שקפים אלה אינם מהווים תחליף לחומר התרגולים המפורסם באתר הקורס, ומשמשים כעזר הוראה בלבד.
מערכות הפעלה ( אביב 2009) חגית עטיה © 1 ניהול זיכרון  מבוא : מטרות ניהול הזיכרון.  מנגנונים : מרחב כתובות וירטואלי / פיזי. חלוקת זכרון קבועה מול דפדוף.
מערכות הפעלה ( אביב 2009) חגית עטיה © 1 מערכות הפעלה קורס מס '
מערכות הפעלה ( אביב 2004) חגית עטיה © 1 מימוש מערכת הקבצים  תכונות של דיסקים.  מימושים בסיסיים.  קצת על מימושים מתקדמים.  אמינות מערכת הקבצים.
Map-Reduce Input: a collection of scientific articles on different topics, each marked with a field of science –Mathematics, Computer Science, Biology,
מערכות הפעלה ( אביב 2008) חגית עטיה © 1 מימוש מערכת הקבצים  תכונות של דיסקים.  מימושים בסיסיים.  קצת על מימושים מתקדמים.  אמינות מערכת הקבצים.
1 Formal Specifications for Complex Systems (236368) Tutorial #5 Refinement in Z: data refinement; operations refinement; their combinations.
מערכות הפעלה תרגול 12 – ניהול זיכרון ב-Linux : המשך.
(C) Yohai Devir January מבנה מחשבים ספרתיים תרגול מס ' 12: זיכרון וירטואלי ב - VAX מבוסס על תרגולים מאת מורן גביש ואורן קצנגולד.
תרגול 10 – זיכרון וירטואלי ב-Linux
מערכות הפעלה ( אביב 2009) חגית עטיה © 1 וירטואליזציה.
מבוא למדעי המחשב מחרוזות, מצביעים וכתובות
מנפה שגיאות - DEBUGGER מבוא למדעי המחשב (234114) רועי מלמד
Multicycle MIPS תרגול כיתה מס' 13.
Backpatching 1. תזכורת מתרגול קודם קוד ביניים - שפת הרביעיות שיטות לייצור קוד ביניים –שימוש בתכונת code –כתיבה ישירה ל-buffer של פקודות שיטות לתרגום מבני.
מערכות הפעלה ( אביב 2009) חגית עטיה ©1 מערכת קבצים log-structured  ה log הוא העותק היחיד של הנתונים  כאשר משנים בלוק (data, header) פשוט כותבים את הבלוק.
תהליכים  מהו תהליך ?  מבני הנתונים לניהול תהליכים.  החלפת הקשר.  ניהול תהליכים ע " י מערכת ההפעלה.
Multi-Cycle MIPS דוגמאות. דוגמה 1 נתון קטע הקוד הבא: begin:addi $v0, $zero, -1 loop:add $a0, $a0, $a0 addi$v0,$v0,1 bne $a0, $zero, loop הניחו כי בתחילת.
ניהול זיכרון  מבוא : מטרות ניהול הזיכרון.  מנגנונים : מרחב כתובות וירטואלי / פיזי. ניהול טבלת הדפים. מדיניות החלפת דפים.
מערכות הפעלה תרגול 12 – ניהול זיכרון ב-Linux : המשך.
מרץ מערכות קבצים File Systems. מרץ עמוד נושאים מבוא –מטרת מערכת קבצים מנשק למערכת קבצים –פעולות על קבצים –סמנטיקה –ארגון קבצים –הגנה מבנה.
מערכות הפעלה תרגול 11 – ניהול זיכרון ב-Linux: המשך.
מערכות הפעלה ( אביב 2006) חגית עטיה © 1 ניהול זיכרון  מבוא : מטרות ניהול הזיכרון.  מנגנונים : מרחב כתובות וירטואלי / פיזי. חלוקת זכרון קבועה מול דפדוף.
A. Frank File Organization Transfer Time/Rate Parameters.
Data Structures, CS, TAU, Perfect Hashing 1 Perfect Hashing בעיה : נתונה קבוצה S של n מפתחות מתחום U השוואה ל - Hash : * טבלה קבועה (Hash רגיל - דינאמי.
אביב 2004 מערכות הפעלה מערכות הפעלה קורס מס '
1 Data Structures, CS, TAU, Perfect Hashing בעיה: נתונה קבוצה S של n מפתחות מתחום U השוואה ל- Hash : * טבלה קבועה (Hash רגיל - דינאמי) * רוצים זמן קבוע.
עקרון ההכלה וההדחה.
מערכות הפעלה ( אביב 2006) חגית עטיה © 1 סיכום הקורס.
מערכת הקבצים : יסודות  מבוא : מטרות מערכת קבצים  מנשק המשתמש : פעולות על קבצים, ארגון קבצים, הגנה  תכונות של דיסקים.  מימושים : בסיסיים וקצת על מימושים.
מבוא למדעי המחשב תרגול 3 שעת קבלה : יום שני 11:00-12:00 דוא " ל :
מימוש מערכת הקבצים  תכונות של דיסקים.  מימושים בסיסיים.  קצת על מימושים מתקדמים.  אמינות מערכת הקבצים.
תפקידים פונקציונליים עיקריים של WINDOWS ממשק גרפי : הפעלת תכניות ומתן פקודות בעזרת כלים גרפיים ותפריטים. הפעלה בו - זמנית של מספר תכניות : * חלוקת זיכרון.
מערכות הפעלה ( אביב 2004) חגית עטיה © 1 תהליכים  מהו תהליך ?  מבני הנתונים לניהול תהליכים.  החלפת הקשר.  ניהול תהליכים ע " י מערכת ההפעלה.
A. Frank File Organization Hardware Size Parameters.
מה היום ? - - חזרה מהירה. - קריאה וכתיבה לקבצים. - בניית תוכנית כתיבה low-level - בניית ערוץ גלובלי והדגמה מול חומרה - low-level DAQ, פולימורפיזם וטריגר.
1 מבוא למדעי המחשב סיבוכיות. 2 סיבוכיות - מוטיבציה סידרת פיבונאצ'י: long fibonacci (int n) { if (n == 1 || n == 2) return 1; else return (fibonacci(n-1)
ניהול זיכרון  מבוא : מטרות ניהול הזיכרון.  מנגנונים : מרחב כתובות וירטואלי / פיזי. ניהול טבלת הדפים. מדיניות החלפת דפים.
תרגול 3 RAID. 7/14/20152 עובדה : בעת שכלל החומרה מתקדם בצעדי ענק, התקדמות הדיסקים מבחינת זמן גישה ונפח איטית יותר. פיתרון : לעבוד עם מספר גדול של דיסקים,
(C) Yohai Devir January מבנה מחשבים ספרתיים זכרון וירטואלי מבוסס על תרגול של מורן גביש.
מערכות הפעלה ( אביב 2008) חגית עטיה © 1 מערכת הקבצים  מבוא : מטרות מערכת קבצים  מנשק המשתמש : פעולות על קבצים, ארגון קבצים, הגנה  תכונות של דיסקים.
1 ׃1998 Morgan Kaufmann Publishers פקודת ה- jump 4 bits 26 bits 2 bits 00 : כתובת קפיצה במילים : כתובת קפיצה בבתים … …
פיתוח מערכות מידע Class diagrams Aggregation, Composition and Generalization.
שיאון שחוריMilOSS-il מוטיבציה  python זה קל ו C זה מהיר. למה לא לשלב?  יש כבר קוד קיים ב C. אנחנו רוצים להשתמש בו, ולבסס מעליו קוד חדש ב python.
עקרונות תכנות מונחה עצמים תרגול 11: OOP in C++. Outline  Where do the objects live ?  Inheritance  Slicing  Overriding vs Shadowing.
תרגול מס' 8: x86 Virtual Memory and TLB
מבוא למדעי המחשב סיבוכיות.
אינדקסינג והשינג (indexing & hashing)
תקשורת ומחשוב תרגול 1 IP, Classes and Masks.
תירגול 14: מבני נתונים דינאמיים
עבודה עם נתונים באמצעות ADO.NET
תרגול 12 – ניהול זיכרון ב-Linux: המשך
מערכים של מצביעים הקצאה דינאמית
Shell Scripts בסביבת UNIX
שפת סף וארכיטקטורה של מעבד 8086
שיעור עשירי: מיונים, חיפושים, וקצת סיבוכיות חישוב
פרק תשיעי – מדיניות ניהול זיכרון וירטואלי
Presentation transcript:

מערכות הפעלה ערן טרומר סמסטר א' תשע"ב הרצאה 4 קלט/פלט (המשך) ניהול זיכרון

מערכי דיסקים (RAID) Redundant Array of Inexpensive Disks מספר דיסקים משמשים כהתקן אחסון אחוד מבוסס על מיפוי בלוקים של נתונים בהתקן הוירטואלי (מערך הדיסקים) לדיסק+היסט, כלומר למיקום של בלוק פיזי של נתונים מספר ואריאציות שנקראות רמות שמספקות קומבינציות שונות של שירותים; רמה גבוהה אינה בהכרח טובה יותר לכל שימוש

שחזור נתונים עםRAID המערך מחולק לרצועות רצועה שומרת n-1 בלוקים של נתונים ובלוק זוגיות אפשר לקרוא בלוק בודד; או לקרוא רצועה ולבדוק שגיאות אפשר לשחזר כל בלוק חסר, ואפשר גם לשחזר דיסק שלם שהתקלקל כתיבה של בלוק על ידי קריאה של הבלוק ובלוק הזוגיות ועדכון, או על ידי כתיבה של רצועה שלמה בלי לקרוא קודם כלום שיפור ביצועים ע"י גישה מקבילה

מימוש RAID במנהל ההתקן במערכת ההפעלה בספרייה כללית של מערכת ההפעלה כמו דיסקים לוגיים ומחיצות דוגמה: Linux dm-raid תאימות וגמישות בבקר הדיסקים (חומרה/קושחה) כשדרושים ביצועים מירביים

הפשטות נוספות בקר RAID או מנהל התקן RAID גורם לכמה של דיסקים להיראות כיחידת אחסון אחת (גדולה ואמינה יותר) מחיצות: חלוקה של דיסק פיזי לדיסקים לוגיים; טבלה בתחילת הדיסק מתארת את החלוקה, כל מערכות ההפעלה מבינות אותה logical volumes: מנגנון יותר מתוחכם ממחיצות (partitions) שמחלק את הדיסק לרצפים (extents) ומצרף כמה רצפים ליחידת אחסון לוגית אחת; למשל, אפשר לאחד את החלקים המהירים של 4 דיסקים שונים ליחידת אחסון אחת

דיסקים אופטיים תקליטורים מאחסנים MB 650-700, תקליטי DVD עד GB 4.7, Blu-ray רגיל עד GB 50 מידע מיוצג על ידי שקעים או צריבות במשטח תהליך דפוס מהיר להפצה של מידע ספרתי, אפשרות צריבה (איטית יחסית) בכוננים מתאימים אורך חיים גבוה מתאים לשמירת מידע ארכיונית שימשו לגיבויים אבל היום דיסקים מגנטיים משמשים לגיבויים (בעבר גם סרטים מגנטיים שימשו לגיבויים)

סרטים מגנטיים עד עשרות GB בכל קלטת מחיר נמוך ל-GB כוננים יקרים (טכנולוגיה שונה מזו של קלטות וידאו למניעת שחיקה של הראש והסרט) שימוש נרחב לגיבוי ושמירה ארכיונית של כמויות נתונים גדולות, תוך שימוש בספריות קלטות רובוטיות

תצוגות גרפיות הבקר מכיל יחידת זיכרון (frame buffer) שכל מילה בה ממופה לפיקסל (לפעמים נעשה שימוש בזיכרון הראשי של המחשב, דרך הפס) בבקרים פשוטים המעבד צובע פיקסלים על ידי כתיבה לזיכרון הזה המבנה נגזר מהצורך להעביר לתצוגה נתונים בקצב גבוה, בעיקר עבור אנימציה ווידאו. דוגמה: 30 frame/s X 1 Mpixel/frame X 3 B/pixel = 90 MB/s בבקרים מתוחכמים המעבד יכול להורות לבקר לבצע פעולות מורכבות: 2D: קווים, מלבנים, שכפול 3D: הטלת מודלים תלת-מימדיים, תאורה, הסתרות של עצמים במרחב. - Graphical Processing Unit (GPU)מעבד עצמאי חזק מאד, ייעודי לחישובים גרפיים אפשרות לתצוגה וירטואלית מרוחקת (X Window, VNC)

כרטיסי קול קצב הנתונים נמוך יותר דורשים השהייה נמוכה (low latency) שירותים נדרשים: mixer, ניתוב, ווליום אפשרות לכרטיסי קול וירטואליים מרוחקים

ממשקים נוספים ברמת החומרה מטרה: להקל על כתיבה והפצה של מנהל ההתקן, ובניית החומרה. ממשק בקר "IDE" AHCI ייחודי לדגם ... ממשק התקן PATA SATA SCSI ...

ניהול זיכרון

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

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

זיכרון וירטואלי דף מסגרת

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

תרגום כתובות (המשך) בהינתן כתובת פיזית, המעבד מפרק אותה למספר דף (סיביות בכירות) ולהיסט בתוך הדף (סיביות זוטרות) לדוגמה, אם גודל דף 4096 בתים, אזי 12 סיביות מציינות את ההיסט והשאר את הדף המעבד ממפה את הדף למסגרת פיזית ומשרשר את ההיסט למספר המסגרת על מנת ליצור כתובת פיזית שניתן להציג על הפס, למשל 0000 0000 0000 0000 0011 0000 0000 1001 הכתובת הוירטואלית מתייחסת לבית ה-9 בדף מספר 3; אם הדף הזה ממופה למסגרת מספר 255, הכתובת שתוצג על הפס היא 0000 0000 0000 1111 1111 0000 0000 1001

טבלאות דפים שטוחות עבור כך תהליך: מערך בגודל מספר הדפים במרחב זיכרון וירטואלי בכל איבר במערך מצוין: מספר המסגרת מספר סיביות לתיאור מצבים שונים, כמו דף שאין מוקצה כלל לתהליך ([in]valid) או שהמסגרת שמכילה אותו אינה בזיכרון ([not]present) חיפוש פשוט, טבלה גדולה למשל, מרחב וירטואלי של GB 2 (מצביעים של 32 סיביות) עם דפים בגודל KB 4 דורש טבלה עם K 512 איברים. אם גודל כל איבר 4 בתים הטבלה של כל תהליך צורכת MB 2

טבלאות דפים היררכיות דלילות מבנה נתונים עבור כל תהליך המיפויים שמורים בעץ חיפוש תתי עצים שאין בהם מיפויים תקפים אינם מיוצגים כלל (המצביע אליהם הוא null) מספר הדף מפורק לקבוצות סיביות הסיביות הבכירות מצביעות על הבן של השורש וכך הלאה המיפויים בעלים מיוצגים על ידי מערכים של עלים רמה 0 (מערך מצביעים) רמה 1 (מערכים של מצביעים) רמה 2 (מערכים של מיפויים) היסט כתובת וירטואלית: 00010000110100000000000000001001

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

טבלאות דפים הפוכות מטרה: ייצוג חסכוני כאשר סך הזיכרון הוירטואלי של התהליכים גדול בהרבה מהזיכרון הפיזי טבלה אחת לכל התהליכים שומרת רק מיפויים של דפים בזיכרון; מיפויים לאזור הדפדוף שמורים במבנה נתונים אחר ממומשת כטבלת גיבוב (hash) שמפתח החיפוש שלה הוא מספר הדף (ואולי מספר התהליך) כניסה צריכה לציין גם מספר מסגרת וגם מספר תהליך אלגוריתם חיפוש מורכב יחסית גודל הטבלה תלוי רק בגודל הזיכרון הפיזי ואינו תלוי בגודל מרחבי הזיכרון הוירטואליים או במספר התהליכים

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

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