Disclaimer מסמך זה הינו סיכום און-ליין של השיעור ולא עבר עריכה כלל. מצאת טעות? שלח/י לי מייל ואתקן: 07/05/2009 קורס: מערכות ה

מסמכים קשורים
מבנה מחשבים ספרתיים

שבוע 4 סינטקס של HACK ASSEMBLY ניתן להשתמש בשלושה אוגרים בלבד:,A,D,M כולם בעלי 16 ביטים. M אינו אוגר ישיר- הוא מסמן את האוגר של ה RAM שאנחנו מצביעים ע

Intel Paging & Page Table Exploitation on Windows מאת יובל עטיה הקדמה בשנת 1985, המעבד i386 של Intel יצא לעולם, והיה המעבד הראשון של Intel שתמך בפקודו

מבוא לאסמבלי

מבוא למדעי המחשב

מערכות הפעלה, סמסטר ב' אריאל סטולרמן סיכומים לקורס מערכות הפעלה פרופ' יחזקאל ישורון, סמסטר ב' 2009 פרק 1: מבוא: 1.1 הגנה על חומרה: חשיבו

PowerPoint Presentation

פתרון מבחן במיקרו בקרים תשעו

מספר זהות: סמסטר ב' מועד א' תאריך: 11102/4// שעה: 9:22 משך הבחינה: 3 שעות חומר עזר: אין מותר השימוש במחשבון פשוט בחינה בקורס: מבני נתונים מרצה: הדר בי

תרגול מס' 1

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

Microsoft Word - tutorial Dynamic Programming _Jun_-05.doc

פקולטה: מחלקה: שם הקורס: קוד הקורס: מדעי הטבע מדעי המחשב ומתמטיקה מתמטיקה בדידה תאריך בחינה: _ 07/07/2015 משך הבחינה: 3 שעות סמ' _ב' מועד

בחן במערכות הפעלה

תכנון אלגוריתמים עבודת בית 4: תכנון אלגוריתמים תאריך הגשה: 02: , בצהריים,תא מספר 66 בקומת כניסה של בניין 003 מתרגל אחראי: אורי 0

Microsoft Word - Ass1Bgu2019b_java docx

מקביליות

מבוא למדעי המחשב

Microsoft PowerPoint - Lecture1

מבנה מחשבים ספרתיים

מצגת של PowerPoint

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

יצוא לחשבשבת תוכן עיניינים הגדרות - חשבונות בנק...2 הגדרות - הגדרות חשבשבת... 3 הגדרות - כרטיסי אשראי... 4 הגדרות - סוגי הכנסה... 5 יצוא לחשבשבת...6 י

מדריך להתקנת Code Blocks מדריך זה נועד לתאר את תהליך התקנת התוכנה של הקורס "מבוא למחשב שפת C". בקורס נשתמש בתוכנת Code::Blocks עם תוספת )אשף( המתאימה

הטכניון מכון טכנולוגי לישראל אלגוריתמים 1 )443432( סמסטר חורף הפקולטה למדעי המחשב תרגול 9 מסלולים קלים ביותר תרגיל APSP - 1 עד כה דנו באלגור

תוכן העניינים

מערכות הפעלה

תכנון אלגוריתמים, אביב 1021, תרגול מס' 4 תכנון דינאמי תכנון דינאמי בתרגול זה נדון בבעיית הכפלת סדרת מטריצות (16.1.(CLR ראשית נראה דוגמא: דוגמא: תהינה

סדנת תכנות ב C/C++

Microsoft Word - Summary

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

שיעור 1

תוכן העניינים

מבחן סוף סמסטר מועד א 15/02/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, דניאל גנקין הוראות: א. בטופס המבחן 7 עמודים ו 4 דפי נוסחאות. ב

מבחן סוף סמסטר מועד ב 28/10/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, גדי אלכסנדרוביץ הוראות: א. בטופס המבחן 6 עמודים (כולל דף זה) ו

תרגול 1

BIG DATA תיאור הקורס המונח Big Data הולך וצובר תאוצה בשנים האחרונות, הוא הופך למגמה רווחת בתעשייה. המשמעות הפרקטית של המונח Big Data הינה טכנולוגיות נ

פייתון

טעימה מסדנת 4 החלקים: קסמים מדהימים 3 מייסד בית הספר: יוני לחמי פלאפון:

Microsoft Word - moed_A_sol.doc

שקופית 1

Slide 1

מקביליות

תכנות מונחה עצמים א' – תש"ע

Microsoft Word - tik latalmid-final

תוצאות סופיות מבחן אלק' פיקוד ובקרה קיץ 2014

Linux חיבור מודם כבלים בממשק USB תחת המדריך נכתב ע"י ג'ס פורטנוי רישיון: GFDL לתגובות, הצעות והערות: לגרסה המעו

שיעור מס' 6 – סבולות ואפיצויות

Microsoft Word - ExamA_Final_Solution.docx

Microsoft Word - Questions Booklet Spring 2009

מדריך למרצים ומתרגלים 1

<4D F736F F D20E1F7F9E420ECEEE9F0E5E920E0F4E5E8F8E5F4E5F1>

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

Algorithms Tirgul 1

Slide 1

ייבוא וייצוא של קבצי אקסל וטקסט

<4D F736F F D20E9ECE3E420E0E7FA20E5EEE8F8E9E420E0E7FA20E9F6E0E520E1E2F9ED20ECE8E9E5EC20F0E7EEE3>

אגף כלכלה תקציב ומסחר

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

PowerPoint Presentation

שאלהIgal : מערכים דו מימדיים רקורסיה:

הוספת קישור לאתר אינטרנט תוכן ממשק בדיקת מטלות...3 איחוד אתרי קורסים...5 סל מחזור... 7 חידושים בפעילויות...8 תצורת קורס: כפתורים... 9 פורומים...10 שיפ

HTML - Hipper Text Makeup Language

שואב אבק רובוטי XIAOMI דגם - Vacuum Mi Robot מק"ט ספק 8223 תכנון מסלול חכם שאיבה חזקה שליטה חכמה ע"י Wi-Fi מרחוק בעל 21 חיישנים למיפוי מושלם של הבית צ

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

מערכות הפעלה

שעור 6

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

ניסוי 4 מעגל גילוי אור והפעלת נורה מטרות הניסוי שילוב נגד רגיש לאור (LDR) ודפ"א (LED) להפעלתה מתחת לרמת אור מסוימת. שילוב פוטו דיודה לגילוי אור והפעלת

בוקסות לבנות NO LIMITS TOOLS

2013/14 אוניברסיטת חיפה מבוא למדעי מחשב, מעבדה מטרת המעבדה: לתרגל את המעבר מאלגוריתם לקוד C כמה שיותר. הוראות:.1.2 ניתן לעבוד ביחידים או בזוגות. (יש מ

בקרים מתוכנתים – PLC

מבחן 7002 פרטים כלליים מועד הבחינה: בכל זמן מספר השאלון: 1 משך הבחינה: 3 שעות חומר עזר בשימוש: הכל )ספרים ומחברות( המלצות: קרא המלצות לפני הבחינה ובדי

Slide 1

מהוא לתכנות ב- JAVA מעבדה 3

תיק משימטיקה מגרף הנגזרת לגרף הפונקציה להנגשה פרטנית נא לפנות: כל הזכויות שמורות

Microsoft PowerPoint - rec3.ppt

Untitled

מוזיקה סינטטית

Microsoft Word - buty.doc

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

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

סרגל כלים ל-Outlook או לExplorer- מדריך למשתמש

Office 365 ProPlus בחינם לסטודנטים באוניברסיטת בן גוריון בנגב הוראות סטודנטים באוניברסיטת בן גוריון בנגב יכולים להוריד ולהתקין את חבילת התוכנה Office

(Microsoft Word - \371\340\354\345\357 \340 \347\345\370\ doc)

תרגול 1

People. Partnership. Trust מסלול Free פורטל החינוך מבית U-BTech מסלולים ומחירים חיבור לשירותי Office 365 ללא עלות פורטל התחברות הכולל ממשק למנב"ס ולסי

חוזר מעונות תשעח

Microsoft Word IG Lab - Configure Wireless Router in Windows Vista.docx

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

Microsoft Word - tips and tricks - wave 5.doc

הטכניון – מכון טכנולוגי לישראל

Microsoft Word - ale35-6.doc

PowerPoint Presentation

דוגמאות שהוצגו בהרצאה 10 בקורס יסודות מערכות פתוחות דוגמה 1 דוגמאות של פונקציות ב- awk שמראות שהעברת פרמטרים של משתנים פשוטים היא by value והעברת פרמט

Microsoft Word - kot.doc

שם כיף עם ג'ף מאגר פעילויות חלק א' חוברת של פעילויות מתמטיות: העשרה, העמקה, משחקים ואתגרים כיתה

מחירים מיוחדים לחודשים מאי-יוני XBOX ONE 1TB + 1, X 6 ת ש HDMI שלט אלחוטי כבל XBOX ONE 1TB משחק מלחמה: Tom Clancy the Division מתנה בשווי

תמליל:

הרעיון: דפדוף paging וזכרון וירטואלי.1.2.3 לחלק את מרחב הכתובות לדפים בגודל קבוע )למשל )4KB את הדפים ממפים לזכרון פיסי a. לא רציף b. לא כולם העברה מזכרון לדיסק לפי הצורך מספר הדף: page = addr 4K המיקום בדף: off = addr % 4K כל מה שצריך הוא שתהיה לנו טבלת מיפוי )דומה לטבלה משבוע שעבר( table page לוקחים ממנה את מספר הדף, הוא מזהה כניסה לתוך טבלת הדפים. איך עושים את זה? יהיה לנו רגיסטר שמצביע להתחלת טבלת הדפים מחברים את הכתובת ומקבלים את המיקום בטבלה. מה שכתוב שם הוא איפה הדף ממופה בזכרון הפיסי. גם הוא מחולק ליחידות בגודל 4K שנקראות מסגרת )frame( ומה שאנחנו רוצים לעשות הוא למפות דפים לתוך.frame כל הדפים הם באותו גודל, לכן כל דף יכול להתמפות לכל frame פנוי. אל המיקום של ה frame מתוך ה page table נחבר את ה offset ונקבל את המיקום בזכרון. 1

כל התהליך הזה צריך להעשות על כל גישה לזכרון. זה אומר שאין לנו הרבה זמן לעשות את התהליך הזה... מהירות המעבד היא באזור 2 ג'יגה, נניח לצורך הפשוטות ג'יגה, לכן בכל שניה יש 10 ב 9 סייקלים, כלומר ננו שניות. הקריאה הזו לזכרון נעשית בכל סייקל, לכן לא יכול להעשות על ידי מערכת ההפעלה, בה כל פעולה לוקחת לפחות כ 1000 סייקלים. כלומר, דרושה תמיכת מעבד. מערכת ההפעלה בכל זאת קשורה לזה היא עושה שני דברים: היא מארגנת את הטבלה הזו table( )page היא זו שמנהלת את המיפוי- מחליטה לכל דף באיזה frame הוא ישכון. דבר שני הוא שכאשר תהליך מתחיל לרוץ היא רושמת ברגיסטר שזוהי הכתובת המתאימה לתהליך הספציפי הזה. לכל תהליך יש מיפוי של מרחב הכתובות שלו עם page table משלו. כאשר עוברים מתהליך אחד לאחר כל מה שצריך לעשות הוא להחליף את הערך של הרגיסטר ולהצביע על טבלה אחרת ואז תתאפשר גישה לדפים של התהליך החדש. עד כה תארנו מצב סטטי בו הכל מאורגן ואנחנו רוצים להגיע למקום מסוים. מה קורה עד למצב זה? איך הגענו למצב המסודר הזה? הצורה שבה הדברים האלו עובדים נקראת.demand paging המצב הטבעי הוא שלא כל מרחב הכתובות ממופה ל frameים. כי אין מספיק מקום וכי אנחנו עדים לא צריכים אותו. מרחב הכתובות כולל גם את הקוד של התוכנית, וקוד של תוכנית בכל ריצה ספציפית משתמשים בחלק קטן מאוד של הקוד. לדוגמה, קוד שגיאה לא מגיעים אליו בהרצה נכונה של התוכנית. כלומר, אין צורך להעלות את כל הקוד לזכרון. מה עושים? התהליך אומר "אני רוצה לקחת פקודה מכתובת מסוימת". כאשר הוא מגיע לשלב הקריאה מטבלה מגלים שאין מיפוי. אם קיים מיפוי, יהיה ביט נוסף בשורה המתאימה בטבלה שיסמן האם הדף ממופה. אם אין מיפוי )כלומר הביט לא דולק( נרצה ליצור מיפוי. נקבל סוג של אקספשיין המעבד לא יכול לבצע את הפעולה הנוכחית. בניגוד לאקספשיינים הקודמים הוא אינו מצביע על באג או בעיה בתוכנית. הבעיה היא של מערכת ההפעלה שלא עשתה את המיפוי. 2

מערכת ההפעלה תטפל באקספשיין הזה אשר נקרא page fault בעיה במיפוי הדף. מערכת ההפעלה צריכה למצוא מסגרת פנויה בזכרון ולמפות את הדף למקום הזה בזכרון. לאחר שעשתה זו מחזירה את התהליך לריצה בדיוק מהמקום בו היה האקספשיין והפעם הוא יכול להמשיך לרוץ. התהליך הזה לא אמור לקרות הרבה פעמים. כל ביצוע מיפוי כזה עולה לפחות פי 1000 מקריאה רגילה. הדפים שלא ממופים לזכרון היכן הם נמצאים? ב.HD להגיע ל HD לוקח כמה מילי שניות. המיפוי עושה העברה מזכרון לדיסק לפי הצורך. מערכת ההפעלה בסה"כ צריכה למצוא מסגרת פנויה. אם אין מסגרת פנויה, אנחנו צריכים לפנות דף אחד ולהעביר אותו לדיסק. כלומר, בכל פעולה כזו אנחנו מעבירים דפים הלוך ושוב בין הזכרון לדיסק. כאן נמצא האלגוריתם המעניין. המעבד נותן עוד תמיכה במנגנון המיפוי - למנגנון המיפוי יש cache מיוחד משלו. נקרא.TLB כך המיפוי יכול להעשות תוך סייקל אחד. יתרונות וחסרונות של המנגנון גמישות אנחנו לא מוגבלים בגודל. מספר הדפים שאנחנו מקצים גדול. ווירטואליזציה - רוצים לנתק בין ה"תדמית" של הזכרון לפיסיות שלו. כל תהליך חושב שיש לו מרחב כתובות גדול משלו, למרות שזה מנותק מכמה זכרון פיסי יש לנו עבור התהליך. אנחנו עושים את זה בצורה שהתהליך לא ישים לב. פרגמנטציה מקטין את הפרגמנטציה. כל דף של 4K אפשר לשים במסגרת של 4K אין בעיה של קטע פנוי שלא ניתן להקצות אותו )פרגמנטציה חיצונית(. כשהקצנו אותו לא בטוח שהסגמנט צריך את כל ה 4K. כלומר, על כל קטע רציף שמקצים בדפים אנחנו מצפים לאבד לכל היותר 4K ובממוצע 2K על כל דף. כלומר, פרגמנטציה פנימית נמוכה, וחיצונית לא קיימת. אגלוריתם לדפדוף הכי פשוט: FIFO לא כל כך יעיל. חלק מהגרסאות של חלונות משתמשות בזה. 3

הכי טוב: נעביר לזכרון דפים שלא נשתמש בהם או רחוק בעתיד. חסרון: לא יודעים את העתיד אבל: יש לוקאליות מתוך כל מרחב הכתובות הגדול של התוכנית, בכל רגע נתון התוכנית נוטה להתרכז באזור מסוים. פתרון: אלגוריתם.Least Recently Used LRU מי שלא השתמשתי בו הכי הרבה זמן בעבר, בסכוי טוב אני כבר לא צריך אותו, לכן נזרוק אותו. חסרון האלגוריתם: דורש להחזיק רשימה של אלמנטים ולדאוג לסידור לפי סדר השימוש בהם. מאוד לא יעיל. מה עושים? לגבי כל דף, בנוסף לביט ה,valid יש ביט נוסף.used כל פעם שעושים מיפוי ועוברים דרך כניסה למיפוי מדליקים את ה.used bit למעשה, כל פעם שנעשה מיפוי לדף מסוים, הביט ידלק כלומר, לכל מקום שיש לו מיפוי הביט דלוק. אלגוריתם השעון )נקרא גם )second chance קירוב ל LRU אנחנו רוצים להסתכל על הזכרון הפיסי ולמצוא מסגרת שלא השתמשנו בה הרבה זמן. מחלקים את הקבוצות ל 2 אלו שהשתמשנו בהם לאחרונה ואלו שלא השתמשנו בהם לאחרונה נעשה את זה בצורה מעגלית הזכרון יצויר בצורה מעגלית. המחוג מצביע על המסגרת עליה מסתכלים כרגע. אם ה used bit של המסגרת שמסתכלים עליה הוא 1, עוברים למסגרת הבאה ומאפסים את ה used bit שלו. ממשיכים עד שמוצאים מסגרת עם 0, used bit לכן מצאנו מסגרת שמאז הסיבוב הקודם לא נגענו בה, לכן נזרוק אותה ונכניס במקומה את הדבר החדש והביט שלו ידלק. תנאים ליעילות וכדאיות דפדופים 1. לוקאליות לתוכנית יש working set קבוצת הדפים שבה היא משתמשת. קב' הדפים שניגשנו אליהם ב 13000 )לדוגמה( הפקודות האחרונות מזהות לנו בקירוב טוב את הפקודות הבאות 2. דיסק יותר גדול ויותר זול 4

מחיר לוקח זמן לטפל ב.page faults כאשר הנתונים לא נמצאים בזכרון, מערכת ההפעלה מתפעלת את המצב כפי שראינו לעיל מעבר הלוך ושוב בין הזכרון לדיסק. זמן של פעולת דיסק עולה. בזמן הזה התהליך מחכה להעתק הנתונים, ולא יכול לעשות כלום ביניתיים )לא יכול לבצע את הפעולה עד שלא נסיים להעביר את הקובץ( כל כמה זמן זה קורה? עובד טוב אם יש מספיק זכרון פיסי לכן הזמן של ריצה בין page faults גדול יחסית. הבעיה: thrashing כל פעם שמשרתים page fault אנחנו בוחרים לא טוב. כל הזמן יש לנו page faults וזה מעט מאוד את המערכת. איך המשתמש מזהה את זה? הכל תקוע שום דבר לא זז. איך מערכת ההפעלה תזהה את זה? תספור.page faults אם יש כל הזמן page faults מערכת ההפעלה יכולה למדוד ולהבין שאנחנו ב.thrashing מה מערכת ההפעלה יכול לעשות בנידון? אפשר לבנות יותר זכרון פיסי לא על ידי מערכת ההפעלה. התהליכים יקטינו את ה working set שלהם לא ניתן לעשות. מערכת ההפעלה יכולה להרוג את התהליך, וזה יעבוד אבל קצת דרסטי. אפשר לבחור תהליך אחד כקורבן ונעתיק את כל הדפים שלו ל.HD הפעולה הזו נקראת swap.out התהליך הזה עכשיו לא יכול לרוץ. אפשר להחזיר אותו לחיים אח"כ. ברגע שעושים,swap out לפחות התהליך הזה מפסיק להעמיס על הזכרון הפיסי. כל מה שהיה שייך לתהליך הזה מחולק עכשיו בין האחרים. בתקווה, עכשיו ה working set של התהליכים שנשארו יכנסו לזכרון הפיסי. אם לא, נעשה swap out להליך נוסף וכן הלאה. דפדוף גלובלי - כל המערכת כיחידה אחת. בדפדוף גלובלי לא צריך לחשוב כמה דפים לתת לכל אחד מהתהליכים. המחיר הוא שיכול להיווצר מצב.thrashing פתרון נוסף הוא לעשות דפדוף לוקלי ואז כל תהליך יכול לדפוק רק את עצמו. דפדוף לוקלי מכריח ליצור אלגוריתם לכמה דפים להקצות לכל תהליך. 5